ImageVerifierCode 换一换
格式:PPT , 页数:75 ,大小:4.33MB ,
资源ID:5460513      下载积分:16 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5460513.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(USB通讯协议(通俗易懂-新手绝对入门).ppt)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

USB通讯协议(通俗易懂-新手绝对入门).ppt

1、嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践第16章 USB接口与编程实例主要内容:USB概述USB设备USB物理特性USB通信协议JB8的USB模块的编程方法1 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.1 USB概述USB协议有两种:USB1.1和USB2.0。USB2.0和USB1.1完全兼容。USB1.1支持的数据传输率为12Mbps和1.5Mbps(用于慢速外设),USB2.0支持的数据传速率可达480Mbps。在普通用户看来,USB系统就是外设通过一根USB电缆和PC机连接起来。通常把外设称为USB设备

2、把其所连接的PC机称为USB主机。将指向USB主机的数据传输方向称为上行通信,把指向USB设备的数据传输方向称为下行通信。2 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.1 USB概述USB网络采用阶梯式星形拓扑结构,如图网络采用阶梯式星形拓扑结构,如图16-1。一个。一个USB网络中只能有一个主机。网络中只能有一个主机。主机内设置了一个根集线器,提供了主机主机内设置了一个根集线器,提供了主机上的初始附属点。上的初始附属点。集线器集线器(复合设备)(复合设备)游戏杆游戏杆USB设备设备(根阶梯根阶梯)阶梯阶梯0扫描仪扫描仪鼠标鼠标集线器集线器USB设

3、备设备阶梯阶梯1阶梯阶梯2PC主机主机(根集线器)(根集线器)图图16-1 USB主机和主机和USB设备的连接设备的连接 3 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.1 USB概述主机定时对集线器的状态进行查询。当一个新设主机定时对集线器的状态进行查询。当一个新设备接入集线器时,主机会检测到集线器状态改变,备接入集线器时,主机会检测到集线器状态改变,主机发出一个命令使该端口有效并对其进行设置。主机发出一个命令使该端口有效并对其进行设置。位于这个端口上的设备进行响应,主机收到关于位于这个端口上的设备进行响应,主机收到关于设备的信息,主机的操作系统确定

4、对这个设备使设备的信息,主机的操作系统确定对这个设备使用那种驱动程序,接着设备被分配一个唯一标识用那种驱动程序,接着设备被分配一个唯一标识的地址,范围从的地址,范围从0127,其中,其中0为所有的设备在没为所有的设备在没有分配惟一地址时使用的默认地址。主机向它发有分配惟一地址时使用的默认地址。主机向它发出内部设置请求。当一个设备从总线上移走时,出内部设置请求。当一个设备从总线上移走时,主机就从其可用资源列表中将这个设备删除。主机就从其可用资源列表中将这个设备删除。4 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.2 USB系统基本概念16.2.1 USB

5、主机USB的所有数据通信(不论是上行通信还是下行的所有数据通信(不论是上行通信还是下行通信)都由通信)都由USB主机启动,所以主机启动,所以USB主机在整主机在整个数据传输过程中占据着主导地位。在个数据传输过程中占据着主导地位。在USB系系统中只允许有一个主机。从开发人员的角度看,统中只允许有一个主机。从开发人员的角度看,USB主机可分为三个不同的功能模块:客户软主机可分为三个不同的功能模块:客户软件、件、USB系统软件和系统软件和USB总线接口。总线接口。(1)客户软件客户软件(2)USB系统软件系统软件(3)USB总线接口总线接口5 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与

6、实践嵌入式技术基础与实践16.2 USB系统基本概念16.2.1 USB主机(1)客户软件客户软件 客户软件负责和客户软件负责和USB设备的功能单元进行通信,以实现其设备的功能单元进行通信,以实现其特定功能。一般由开发人员自行开发。客户软件不能直接访特定功能。一般由开发人员自行开发。客户软件不能直接访问问USB设备,其与设备,其与USB设备功能单元的通信必须经过设备功能单元的通信必须经过USB系系统软件和统软件和USB总线接口模块才能实现。客户软件一般包括总线接口模块才能实现。客户软件一般包括USB设备驱动程序和界面应用程序两部分。设备驱动程序和界面应用程序两部分。USB设备驱动程序负责和设备

7、驱动程序负责和USB系统软件进行通信。通常,系统软件进行通信。通常,它向它向USB总线驱动程序发出总线驱动程序发出I/O请求包(请求包(IRP)以启动一次)以启动一次USB数据传输。此外,根据数据传输的方向,它还应提供一数据传输。此外,根据数据传输的方向,它还应提供一个或空或满的数据缓冲区以存储这些数据。个或空或满的数据缓冲区以存储这些数据。界面应用程序负责和界面应用程序负责和USB设备驱动程序进行通信,以控制设备驱动程序进行通信,以控制USB设备。它是最上层的软件,只能看到向设备。它是最上层的软件,只能看到向USB设备发送的设备发送的原始数据和从原始数据和从USB设备接收的最终数据。设备接收

8、的最终数据。6 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.2 USB系统基本概念16.2.1 USB主机主机(2)USB系统软件系统软件 USB系统软件负责和系统软件负责和USB逻辑设备进行配置通信,逻辑设备进行配置通信,并管理客户软件启动的数据传输。并管理客户软件启动的数据传输。USB逻辑设备是程逻辑设备是程序员与序员与USB设备打交道的部分。设备打交道的部分。USB系统软件一般系统软件一般包括包括USB总线驱动程序和总线驱动程序和USB主控制器驱动程序这主控制器驱动程序这两部分。这些软件通常由操作系统提供,开发人员不两部分。这些软件通常由操作系统

9、提供,开发人员不必掌握。必掌握。7 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.2 USB系统基本概念16.2.1 USB主机(3)USB总线接口 USB总线接口包括主控制器和根集线器两部分。总线接口包括主控制器和根集线器两部分。根集线器为根集线器为USB系统提供连接起点,用于给系统提供连接起点,用于给USB系系统提供一个或多个连接点(端口)。主控制器负责完统提供一个或多个连接点(端口)。主控制器负责完成主机和成主机和USB设备之间数据的实际传输,包括对传输设备之间数据的实际传输,包括对传输的数据进行串行编解码、差错控制等。该部分与的数据进行串行编解码

10、差错控制等。该部分与USB系统软件的接口依赖于主控制器的硬件实现,开系统软件的接口依赖于主控制器的硬件实现,开发人员不必掌握。发人员不必掌握。8 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.2 USB系统基本概念16.2.2 USB设备 一个一个USB设备由三个功能模块组成:设备由三个功能模块组成:USB总线接口、总线接口、USB逻辑逻辑设备和功能单元。这里的设备和功能单元。这里的USB总线接口指的是总线接口指的是USB设备中的串行接口设备中的串行接口引擎(引擎(SIE););USB逻辑设备被逻辑设备被USB系统软件看作是一个端点的集合;系统软件看作

11、是一个端点的集合;功能单元被客户软件看作是一个接口的集合。功能单元被客户软件看作是一个接口的集合。SIE、端点和接口都是、端点和接口都是USB设备的组成单元。为了更好地描述设备的组成单元。为了更好地描述USB设备的特征,设备的特征,USB提出提出了设备架构的概念。从这个角度来看,可以认为了设备架构的概念。从这个角度来看,可以认为USB设备是由一些配设备是由一些配置、接口和端点组成的,即一个置、接口和端点组成的,即一个USB设备可以含有一个或多个配置,设备可以含有一个或多个配置,在每个配置中可含有一个或多个接口,在每个接口中可含有若干个端在每个配置中可含有一个或多个接口,在每个接口中可含有若干个

12、端点。其中,配置和接口是对点。其中,配置和接口是对USB设备功能的抽象,实际的数据传输由设备功能的抽象,实际的数据传输由端点来完成。在使用端点来完成。在使用USB设备前,必须指明其采用的配置和接口。这设备前,必须指明其采用的配置和接口。这个步骤一般是在设备接入主机时设备进行自举时完成的,我们在后面个步骤一般是在设备接入主机时设备进行自举时完成的,我们在后面会进一步介绍。会进一步介绍。USB设备使用各种描述符来说明其设备架构,包括设设备使用各种描述符来说明其设备架构,包括设备描述符、配置描述符、接口描述符、端点描述符以及字符串描述符,备描述符、配置描述符、接口描述符、端点描述符以及字符串描述符,

13、它们通常被保存在它们通常被保存在USB设备的固件程序中。设备的固件程序中。9 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.2 USB系统基本概念16.2.2 USB设备 设备设备 设备代表一个设备代表一个USB设备,它由一个或多个配置组成。设备描述符设备,它由一个或多个配置组成。设备描述符用于说明设备的总体信息,并指明其所含的配置的个数。一个用于说明设备的总体信息,并指明其所含的配置的个数。一个USB设设备只能有一个设备描述符。备只能有一个设备描述符。配置配置 一个一个USB设备可以包含一个或多个配置,如设备可以包含一个或多个配置,如USB设备的低功耗

14、模设备的低功耗模式和高功耗模式可分别对应一个配置。在使用式和高功耗模式可分别对应一个配置。在使用USB设备前,必须为其设备前,必须为其选择一个合适的配置。配置描述符用于说明选择一个合适的配置。配置描述符用于说明USB设备中各个配置的特设备中各个配置的特性,如配置所含接口的个数等。性,如配置所含接口的个数等。USB设备的每一个配置都必须有一个设备的每一个配置都必须有一个配置描述符。配置描述符。接口接口 一个配置可以包含一个或多个接口,如对一个光驱来说,当用于一个配置可以包含一个或多个接口,如对一个光驱来说,当用于文件传输时使用其大容量存储接口;而当用于播放文件传输时使用其大容量存储接口;而当用于

15、播放CD时,使用其音时,使用其音频接口。接口是端点的集合,可以包含一个或多个可替换设置,用户频接口。接口是端点的集合,可以包含一个或多个可替换设置,用户能够在能够在USB处于配置状态时,改变当前接口所含的个数和特性。接口处于配置状态时,改变当前接口所含的个数和特性。接口描述符用于说明描述符用于说明USB设备中各个接口的特性,如接口所属的设备类及设备中各个接口的特性,如接口所属的设备类及其子类等。其子类等。USB设备的每个接口都必须有一个接口描述符。设备的每个接口都必须有一个接口描述符。10 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.2 USB系统基本

16、概念16.2.2 USB设备端点端点 端点是端点是USB设备中的实际物理单元,设备中的实际物理单元,USB数据传输就是在主机和数据传输就是在主机和USB设备各个端点之间进行的。端点一般由设备各个端点之间进行的。端点一般由USB接口芯片提供,例如接口芯片提供,例如Freescale的的MC68HC908JB8。USB设备中的每一个端点都有唯一设备中的每一个端点都有唯一的端点号,每个端点所支持的数据传输方向一般而言也是确定的:或的端点号,每个端点所支持的数据传输方向一般而言也是确定的:或是输入(是输入(IN)或是输出()或是输出(OUT),也有些芯片提供的端点的数据方向),也有些芯片提供的端点的数

17、据方向是可以配置的,例如是可以配置的,例如MC68HC908JB8包含有两个用于数据收发的端包含有两个用于数据收发的端点:端点点:端点1和端点和端点2。其中端点。其中端点1只能用于数据发送,即支持输入只能用于数据发送,即支持输入(IN),端点),端点2既能用于数据发送也可用于数据接收,即支持输入既能用于数据发送也可用于数据接收,即支持输入(IN)和输出()和输出(OUT)操作。需要注意的是,在这里数据的传输方向)操作。需要注意的是,在这里数据的传输方向是站在主机的立场上来看得。比如端点是站在主机的立场上来看得。比如端点1只能发送数据,在主机看来只能发送数据,在主机看来是端点是端点1向主机输入数

18、据,即向主机输入数据,即IN操作;当端点操作;当端点2配置为接收数据时,主配置为接收数据时,主机向端点机向端点2输出数据,即输出数据,即OUT操作。这一点是初学者比较容易产生混操作。这一点是初学者比较容易产生混淆的地方。淆的地方。利用设备地址、端点号和传输方向就可以指定一个端点,并和它利用设备地址、端点号和传输方向就可以指定一个端点,并和它进行通信。进行通信。0号端点比较特殊,它有数据输入号端点比较特殊,它有数据输入IN和数据输出和数据输出OUT两个物理单元,两个物理单元,且只能支持控制传输。且只能支持控制传输。11 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与

19、实践16.2 USB系统基本概念16.2.2 USB设备字符串字符串 在在USB设备中通常还含有字符串描述符,以说明一些专用信息,设备中通常还含有字符串描述符,以说明一些专用信息,如制造商的名称、设备的序列号等。它的内容以如制造商的名称、设备的序列号等。它的内容以UNICODE的形式给的形式给出,且可以被客户软件所读取。对出,且可以被客户软件所读取。对USB设备来说,字符串描述符是可设备来说,字符串描述符是可选的。选的。管道管道 在在USB系统结构中,可以认为数据传输是在主机软件(系统结构中,可以认为数据传输是在主机软件(USB系统系统软件或客户软件)和软件或客户软件)和USB设备的各个端点之

20、间直接进行的,它们之间设备的各个端点之间直接进行的,它们之间的连接称为管道。管道是在的连接称为管道。管道是在USB设备的配置过程中建立的。管道是对设备的配置过程中建立的。管道是对主机和主机和USB设备间通信流的抽象,它表示主机的数据缓冲区和设备间通信流的抽象,它表示主机的数据缓冲区和USB设设备的端点之间存在着逻辑数据传输,而实际的数据传输是由备的端点之间存在着逻辑数据传输,而实际的数据传输是由USB总线总线接口层来完成的。接口层来完成的。管道和管道和USB设备中的端点一一对应。一个设备中的端点一一对应。一个USB设备含有多少个端设备含有多少个端点,其和主机进行通信时就可以使用多少条管道,且端

21、点的类型决定点,其和主机进行通信时就可以使用多少条管道,且端点的类型决定了管道中数据的传输类型,如中断端点对应中断管道,且该管道只能了管道中数据的传输类型,如中断端点对应中断管道,且该管道只能进行中断传输。传输类型在后面会介绍。不论存在着多少条管道,在进行中断传输。传输类型在后面会介绍。不论存在着多少条管道,在各个管道中进行的数据传输都是相互独立的。各个管道中进行的数据传输都是相互独立的。12 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.3 USB物理特性 16.3.1 USB接口 USB使使用用一一根根屏屏蔽蔽的的4线线电电缆缆与与网网络络上上的的设

22、设备备进进行行互互联联。数数据据传传输输通通过过一一个个差差分分双双绞绞线线进进行行,这这两两根根线线分分别别标标为为D+和和D-,另另外外两两根根线线是是Vcc和和Ground,其其中中Vcc向向USB设设备备供供电电。使使用用USB电电源源的的设设备备称称为为总总线线供供电电设设备备,而而使使用用自自己己外外部部电电源源的的设设备备叫叫做做自自供供电电设设备备。为为了了避避免免混混淆淆,USB电电缆缆中中的的线线都都用用不不同同的的颜颜色色标标记记,如如表表16-1所示。所示。引脚编号引脚编号引脚编号引脚编号信号名称信号名称信号名称信号名称缆线颜色缆线颜色缆线颜色缆线颜色1 1VccVcc

23、红红红红2 2Data-(D-)Data-(D-)白白白白3 3Data+(D+)Data+(D+)绿绿绿绿4 4GroundGround黑黑黑黑表表16-1 USB缆线的信号与颜色缆线的信号与颜色 13 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.3 USB物理特性16.3.1 USB接口 从从一一个个设设备备连连回回到到主主机机,称称为为上上行行连连接接;从从主主机机到到设设备备的的连连接接,称称为为下下行行连连接接。为为了了防防止止回回环环情情况况的的发发生生,上上行行和和下下行行端端口口使使用用不不同同的的连连接接器器所所以以USB在在电电缆缆

24、和和设设备备的的连连接接中中分分别别采采用用了了两两种种类类型型的的连连接接头头,即即图图16-2所所示示的的A型型连连接接头头和和B型型连连接接头头。每每个个连连接接头头内内的的电电线线号号与与图图16-2的的引引脚脚编编号号是是一一致致的的。A型型连连接接头头,用用于于上上行行连连接接,即即在在主主机机或或集集线线器器上上有有一一个个A型型插插座座,而而在在连连接接到到主主机机或或集集线线器器的的电电缆缆的的一一端端是是A型型插插头头。在在USB设设备备上上有有B型型插插座座,而而B型型插插头头在在从从主主机机或或集集线线器器接接出出的的下下行行电电缆缆的的一一端端。采采用用这这种种连连接

25、接方方式式,可可以以确确保保USB设设备备、主主机机/集集线线器器和和USB电电缆缆始始终终以以正正确确的的方方式式连连接接,而而不不出出现现电电缆缆接接入入方方式式出出错错,或或直直接接将将两两个个USB设设备连接到一起的情况。备连接到一起的情况。12341243A型连接头型连接头B型连接头型连接头图图16-2 USB连接头连接头14 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践16.3 USB物理特性16.3.2 USB信号(1)差分信号技术特点特点 传统的传输方式大多使用传统的传输方式大多使用“正信号正信号”或者或者“负信号负信号”二二进制表达机制,这

26、些信号利用单线传输。用不同的信号电平进制表达机制,这些信号利用单线传输。用不同的信号电平范围来分别表示范围来分别表示1和和0,它们之间有一个临界值,如果在数据,它们之间有一个临界值,如果在数据传输过程中受到中低强度的干扰,高低电平不会突破临界值,传输过程中受到中低强度的干扰,高低电平不会突破临界值,那么信号传输可以正常进行。但如果遇到强干扰,高低电平那么信号传输可以正常进行。但如果遇到强干扰,高低电平突破临界值,由此造成数据传输出错。差分信号技术最大的突破临界值,由此造成数据传输出错。差分信号技术最大的特点是:必须使用两条线路才能表达一个比特位,用两条线特点是:必须使用两条线路才能表达一个比特

27、位,用两条线路传输信号的压差作为判断路传输信号的压差作为判断1还是还是0的依据。这种做法的优点的依据。这种做法的优点是具有极强的抗干扰性。倘若遭受外界强烈干扰,两条线路是具有极强的抗干扰性。倘若遭受外界强烈干扰,两条线路对应的电平同样会出现大幅度提升或降低的情况,但二者的对应的电平同样会出现大幅度提升或降低的情况,但二者的电平改变方向和幅度几乎相同,电压差值就可始终保持相对电平改变方向和幅度几乎相同,电压差值就可始终保持相对稳定,因此数据的准确性并不会因干扰噪声而有所降低。稳定,因此数据的准确性并不会因干扰噪声而有所降低。15 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式

28、技术基础与实践(2)USB通信的格式图16-3 在USB电缆上使用双向不归零编码和差动信号的传输 NRZI编码器电缆段差分驱动器NRZI解码器差分驱动器D+D-USB的数据包使用反向不归零编码(的数据包使用反向不归零编码(NRZI)。图)。图16-3描述了在描述了在USB电缆段上传输信息的步骤。反向不归零编码由传送信息的电缆段上传输信息的步骤。反向不归零编码由传送信息的USB代理程序完成;然后,被编码的数据通过差分驱动器送到代理程序完成;然后,被编码的数据通过差分驱动器送到USB电缆上;接着,接收器将输入的差分信号进行放大,将其送电缆上;接着,接收器将输入的差分信号进行放大,将其送给解码器。使

29、用该编码和差动信号传输方式可以更好地保证数据给解码器。使用该编码和差动信号传输方式可以更好地保证数据的完整性并减少噪声干扰。的完整性并减少噪声干扰。16 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践(2)USB通信的格式 图16-4 反向不归零编码 空闲数据反 向 不归零码01101000111010使用反向不归零编码方式可以保证数据传输的完整性,而且不使用反向不归零编码方式可以保证数据传输的完整性,而且不要求传输过程中有独立的时钟信号。反向不归零编码不是一个要求传输过程中有独立的时钟信号。反向不归零编码不是一个新的编码方式。它在许多方面都有应用。图新的编码

30、方式。它在许多方面都有应用。图16-4给出了一个数给出了一个数据流和编码之后的结果。在反向不归零编码时,遇到据流和编码之后的结果。在反向不归零编码时,遇到“0”转换,转换,遇到遇到“1”保持。反向不归零码必须保持与输入数据的同步性,保持。反向不归零码必须保持与输入数据的同步性,以确保数据采样正确。反向不归零码数据流必须在一个数据窗以确保数据采样正确。反向不归零码数据流必须在一个数据窗口被采样,无论前一个位时间是否发生过转换。解码器在每个口被采样,无论前一个位时间是否发生过转换。解码器在每个位时间采样数据以检查是否有转换。位时间采样数据以检查是否有转换。17 嵌入式技术基础与实践嵌入式技术基础与

31、实践嵌入式技术基础与实践嵌入式技术基础与实践(2)USB通信的格式 图图16-5在在USB电缆上使用双向不归零编码和差动信号的传输电缆上使用双向不归零编码和差动信号的传输00011111111011数据数据空闲空闲双向不归零码双向不归零码填充后数填充后数据据填充位填充位 若重复相同的若重复相同的“1”信号一直进入时,就会造成数据长时间无法转换,逐渐的积累,信号一直进入时,就会造成数据长时间无法转换,逐渐的积累,而导致接收器最终丢失同步信号的状况,使得读取的时序会发生严重的错误。因此,在而导致接收器最终丢失同步信号的状况,使得读取的时序会发生严重的错误。因此,在NRZI编码之间,还需执行所谓的位

32、填充的工作。位填充要求数据流中如果有连续的六个编码之间,还需执行所谓的位填充的工作。位填充要求数据流中如果有连续的六个“1”就要强行转换。这样接收器在反向不归零码数据流中最多每七个位就检测到一次跳就要强行转换。这样接收器在反向不归零码数据流中最多每七个位就检测到一次跳转。这样就保证了接收器与输入数据流保持同步。反向不归零码的发送器要把转。这样就保证了接收器与输入数据流保持同步。反向不归零码的发送器要把“0”(填(填充位)插到数据流中。接收器必须被设计成能够在连续的六个充位)插到数据流中。接收器必须被设计成能够在连续的六个“1”之后识别一个自动跳之后识别一个自动跳转,并且立即扔掉这六个转,并且立

33、即扔掉这六个“1”之后的之后的“0”位。位。图图16-5的第一行是送到接收器的原始数据。注意数据流包括连续的八个的第一行是送到接收器的原始数据。注意数据流包括连续的八个“1”。第二。第二行表示对原始数据进行了位填充,在原始的第六个和第七个行表示对原始数据进行了位填充,在原始的第六个和第七个“1”之间填入了一个之间填入了一个“0”。第七个第七个“1”延时一个位时间让填充位插入。接收器知道连续六个延时一个位时间让填充位插入。接收器知道连续六个“1”之后将是一个填充之后将是一个填充位,所以该位就要被忽略。注意,如果原始数据的第七个位是位,所以该位就要被忽略。注意,如果原始数据的第七个位是“0”,填充

34、位也同样插入,填充位也同样插入,在填充过的数据流中就会有两个连续的在填充过的数据流中就会有两个连续的“0”。18 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践 16.3 USB物理特性16.3.3 检测设备连接和速度检测设备连接和速度在在USB设备连接时,设备连接时,USB系统能自动检测到这个连接,并识别出系统能自动检测到这个连接,并识别出其采用的数据传输速率。其采用的数据传输速率。USB采用在采用在D+或或D-线上增加上拉电阻线上增加上拉电阻的方法来识别低速和全速设备。的方法来识别低速和全速设备。USB支持三种类型的传输速率:支持三种类型的传输速率:1.5

35、Mb/s的低速传输、的低速传输、12Mb/s的全速传输和的全速传输和480Mb/s的高速传输。的高速传输。如图如图16-6和图和图16-7所示。当主控制器或集线器的下行端口上没有所示。当主控制器或集线器的下行端口上没有USB设备连接时,其设备连接时,其D+和和D-线上的下拉电阻使得这两条数据线线上的下拉电阻使得这两条数据线的电压都是近地的(的电压都是近地的(0V);当全速);当全速/低速设备连接以后,电流流低速设备连接以后,电流流过由集线器的下拉电阻和设备在过由集线器的下拉电阻和设备在D+/D-的上拉电阻构成的分压器。的上拉电阻构成的分压器。由于下拉电阻的阻值是由于下拉电阻的阻值是15K,上拉

36、电阻的阻值是,上拉电阻的阻值是1.5K,所以,所以在在D+/D-线上会出现大小为(线上会出现大小为(Vcc*15/(15+1.5)的直流高电平)的直流高电平电压。当电压。当USB主机探测到主机探测到D+/D-线的电压已经接近高电平,而其线的电压已经接近高电平,而其它的线保持接地时,它就知道全速它的线保持接地时,它就知道全速/低速设备已经连接了。低速设备已经连接了。19 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践 16.3 USB物理特性16.3.3 检测设备连接和速度检测设备连接和速度低速低速USB设备电缆和电阻的连接设备电缆和电阻的连接全速全速USB设备

37、电缆和电阻的连接设备电缆和电阻的连接USB主机主机USB低速低速设备设备USB数据线数据线+5VD+D-15千欧千欧1.5千欧千欧VccD+D-地地15千欧千欧USB主机主机USB全速全速设备设备USB数据线数据线+5VD+D-15千欧千欧1.5千欧千欧VccD+D-地地15千欧千欧20 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践 16.4 USB的通讯协议的通讯协议16.4.1 包包(包(Packet)是)是USB系统中信息传输的基本单元,所有数据都系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。是经过打包后在总线上传输的。USB包由五部

38、分组成,即同步字段包由五部分组成,即同步字段(SYNC)、包标识符字段()、包标识符字段(PID)、数据字段、循环冗余校验字段)、数据字段、循环冗余校验字段(CRC)和包结尾字段()和包结尾字段(EOP),包的基本格式如下图:),包的基本格式如下图:同步字段同步字段同步字段同步字段(SYNCSYNC)PIDPID字段字段字段字段数据字段数据字段数据字段数据字段CRCCRC字段字段字段字段包结尾字段包结尾字段包结尾字段包结尾字段(EOPEOP)1 1、SYNCSYNC字段字段字段字段:由由由由8 8位组成,作为每个数据封包的前导,用来产位组成,作为每个数据封包的前导,用来产位组成,作为每个数据封

39、包的前导,用来产位组成,作为每个数据封包的前导,用来产生同步作用,使生同步作用,使生同步作用,使生同步作用,使USBUSB设备与总线的包传输率同步,它的数值固定为设备与总线的包传输率同步,它的数值固定为设备与总线的包传输率同步,它的数值固定为设备与总线的包传输率同步,它的数值固定为0000000100000001。2 2、PIDPID字段字段字段字段:用来表示数据封包的类型。包标识符中的校验字段用来表示数据封包的类型。包标识符中的校验字段用来表示数据封包的类型。包标识符中的校验字段用来表示数据封包的类型。包标识符中的校验字段是通过对类型字段的每个位求反码产生的,是通过对类型字段的每个位求反码产

40、生的,是通过对类型字段的每个位求反码产生的,是通过对类型字段的每个位求反码产生的,PIDPID字段如下图所示:字段如下图所示:字段如下图所示:字段如下图所示:PID0PID0PID1PID1PID2PID2PID3PID3PID0PID0PID1PID1PID2PID2PID3PID321 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践表表16-2中列出了信息包的类型,包括令牌、数据、握手中列出了信息包的类型,包括令牌、数据、握手或特殊四种信息包类型。或特殊四种信息包类型。封包类型封包类型封包类型封包类型PIDPID名称名称名称名称PIDPID编码编码编码编码

41、意义意义意义意义令牌令牌令牌令牌OUTOUT0001B0001B从主机到设备的数据传输从主机到设备的数据传输从主机到设备的数据传输从主机到设备的数据传输ININ1001B1001B从设备到主机的数据传输从设备到主机的数据传输从设备到主机的数据传输从设备到主机的数据传输SOFSOF0101B0101B帧的起始标记与帧码帧的起始标记与帧码帧的起始标记与帧码帧的起始标记与帧码SETUPSETUP1101B1101B从主机到设备。表示要进行控制传输从主机到设备。表示要进行控制传输从主机到设备。表示要进行控制传输从主机到设备。表示要进行控制传输数据数据数据数据DATA0DATA00011B0011B偶数

42、数据封包偶数数据封包偶数数据封包偶数数据封包DATA1DATA11011B1011B奇数数据封包奇数数据封包奇数数据封包奇数数据封包握手握手握手握手ACKACK0010B0010B接收器收到无错误的数据封包接收器收到无错误的数据封包接收器收到无错误的数据封包接收器收到无错误的数据封包NAKNAK1010B1010B接收器无法接收数据或发射器无法送出数接收器无法接收数据或发射器无法送出数接收器无法接收数据或发射器无法送出数接收器无法接收数据或发射器无法送出数据据据据STALLSTALL1110B1110B端点产生停滞的状况端点产生停滞的状况端点产生停滞的状况端点产生停滞的状况特殊特殊特殊特殊PR

43、EPRE1100B1100B使能下游端口的使能下游端口的使能下游端口的使能下游端口的USBUSB总线的数据传输切换总线的数据传输切换总线的数据传输切换总线的数据传输切换到低速的设备到低速的设备到低速的设备到低速的设备表表表表16-2 16-2 各种信息包的类型与规范各种信息包的类型与规范各种信息包的类型与规范各种信息包的类型与规范 22 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践3、数据字段、数据字段:是用来携带主机与设备之间要传递的信息,其内容和长是用来携带主机与设备之间要传递的信息,其内容和长度根据包标识符、传输类型的不同而各不相同。在度根据包标识符、

44、传输类型的不同而各不相同。在USB包中,数据字段可包中,数据字段可以包含设备地址、端点号、帧序列号以及数据等内容。在总线传输中,总以包含设备地址、端点号、帧序列号以及数据等内容。在总线传输中,总是首先传输字节的最低位,最后传输字节的最高位。是首先传输字节的最低位,最后传输字节的最高位。(1)设备地址(设备地址(ADDR)数据域)数据域ADDR数据域由数据域由7位组成,可用来寻址多达位组成,可用来寻址多达127个外围设备。个外围设备。(2)端点(端点(ENDP)数据域)数据域ENDP数据域由数据域由4位组成。通过这位组成。通过这4个位最多可寻址出个位最多可寻址出32个端点。这个个端点。这个END

45、P数据域仅用在数据域仅用在IN、OUT与与SETUP令牌信息包中。对于慢速设备可支令牌信息包中。对于慢速设备可支持端点持端点0以及端点以及端点1作为中断传输模式,而全速设备则可以拥有作为中断传输模式,而全速设备则可以拥有16个输入端个输入端点(点(IN)与)与16个输出端点(个输出端点(OUT)共)共32个端点。个端点。(3)帧序列号帧序列号当当USB令牌包的令牌包的PID为为SOF时,其数据字段必须为时,其数据字段必须为11位的帧序列号。位的帧序列号。帧序列号由主机产生,且每个数据帧自动加一,最大数值为帧序列号由主机产生,且每个数据帧自动加一,最大数值为0 x7FF。当帧。当帧序列号达到最大

46、数时将自动从序列号达到最大数时将自动从0开始循环。开始循环。(4)数据数据它仅存于它仅存于DATA信息包内,根据不同的传输类型,拥有不同的字节大小,信息包内,根据不同的传输类型,拥有不同的字节大小,从从0到到1023字节(实时传输)。字节(实时传输)。23 嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践嵌入式技术基础与实践4、循环冗余码、循环冗余码CRC字段由不同数目的位所组字段由不同数目的位所组成。根据不同的信息包类型,成。根据不同的信息包类型,CRC数据域由不同数据域由不同数目的位所组成。其中重要的数据信息包采用数目的位所组成。其中重要的数据信息包采用CRC16的数据域(的数

47、据域(16个位),而其余的信息包类个位),而其余的信息包类型则采用型则采用CRC5的数据域(的数据域(5个位)。其中的循环个位)。其中的循环冗余码校验冗余码校验CRC,是一种错误检测技术。由于数,是一种错误检测技术。由于数据在传输时,有时候会发生错误,因此据在传输时,有时候会发生错误,因此CRC可根可根据数据算出一个校验值,然后依此判断数据的正据数据算出一个校验值,然后依此判断数据的正确性确性5、包结尾字段即发送方在包的结尾发出包结、包结尾字段即发送方在包的结尾发出包结尾信号。尾信号。USB主机根据主机根据EOP判断数据包的结束。判断数据包的结束。24 嵌入式技术基础与实践嵌入式技术基础与实践

48、嵌入式技术基础与实践嵌入式技术基础与实践16.4.2信息包格式1令牌(token)包在在USB系统中,只有主机才能发出令牌包。令牌包定义了数据传输的类型,它系统中,只有主机才能发出令牌包。令牌包定义了数据传输的类型,它是事务处理的第一阶段。令牌包中较为重要的是是事务处理的第一阶段。令牌包中较为重要的是SETUP、IN和和OUT这三个令牌包。这三个令牌包。它们用来在根集线器和设备端点之间建立数据传输。一个它们用来在根集线器和设备端点之间建立数据传输。一个IN包用来建立一个从设备包用来建立一个从设备到根集线器的数据传送,一个到根集线器的数据传送,一个OUT包用来建立从根集线器到设备的数据传输。令牌

49、包用来建立从根集线器到设备的数据传输。令牌包格式如下:包格式如下:8 8位位位位8 8位位位位0102301023位位位位1616位位位位SYNCSYNCPIDPIDPIDPIDDATADATACRC16CRC168 8位位位位8 8位位位位7 7位位位位4 4位位位位5 5位位位位SYNCSYNCPIDPIDPIDPIDADDRADDRENDPENDPCRC5CRC52 2数据(数据(datadata)包)包数据封包含有数据封包含有数据封包含有数据封包含有4 4个域:个域:个域:个域:SYNCSYNC、PIDPID、DATADATA与与与与CRC16CRC16。DATADATA数据域的位数据

50、域的位数据域的位数据域的位值是根据值是根据值是根据值是根据USBUSB设备的传输速度及传输类型而定,且须以设备的传输速度及传输类型而定,且须以设备的传输速度及传输类型而定,且须以设备的传输速度及传输类型而定,且须以8 8字节为基本单位。也就字节为基本单位。也就字节为基本单位。也就字节为基本单位。也就是,若传输的数据不足是,若传输的数据不足是,若传输的数据不足是,若传输的数据不足8 8字节,或传输到最后所剩余的也不足字节,或传输到最后所剩余的也不足字节,或传输到最后所剩余的也不足字节,或传输到最后所剩余的也不足8 8字节,仍须传输字节,仍须传输字节,仍须传输字节,仍须传输8 8字节的数据域。格式

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服