{通信公司管理}USB通信协议

上传人:卓****库 文档编号:141044202 上传时间:2020-08-03 格式:PPTX 页数:48 大小:359.89KB
返回 下载 相关 举报
{通信公司管理}USB通信协议_第1页
第1页 / 共48页
{通信公司管理}USB通信协议_第2页
第2页 / 共48页
{通信公司管理}USB通信协议_第3页
第3页 / 共48页
{通信公司管理}USB通信协议_第4页
第4页 / 共48页
{通信公司管理}USB通信协议_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《{通信公司管理}USB通信协议》由会员分享,可在线阅读,更多相关《{通信公司管理}USB通信协议(48页珍藏版)》请在金锄头文库上搜索。

1、目录 1、USB系统概述 1.1USB主机 1.2USB设备 1.3管道 1.4描述符 1.5总线枚举 2、USB物理特性 3、USB数据传输 4、USB事务处理 4.1USB信息包 4.2USB事务处理(Transaction) 5、USB传输类型 5.1控制传输 5.2块传输 5.3中断传输 5.4同步传输 6、USB设备请求 7、USB 枚举过程 8 、USB2.0接口芯片CY7C68013 8.1EZ-USB控制传输 8.2Cypress提供的开发库 8.3上位机查找USB设备示例,典型的USB应用系统组成:一个支持USB的主机,一个或多个带有USB端口的设备以及将设备连接到主机所需要

2、的集线器、连接器和线缆。主机内设置了一个根集线器,提供了主机上的初始附属点。,1、USB系统概述,主机定时对集线器的状态进行查询。当一个新设备接入集线器时,主机会检测到集线器的状态改变,主机发出一个命令使该端口有效并对其进行设置。位于这个端口上的设备进行响应,主机收到关于设备的信息,主机的操作系统确定对这个设备使用哪种驱动程序,接着设备被分配一个唯一标识的地址,范围从0127,其中0为所有的设备在没有分配唯一地址时使用的默认地址。主机向它发出内部设置请求,当一个设备从总线上移走时,主机就从其可用资源列表中将这个设备删除。 USB3.0主机支持4种速率,2.0主机只支持低速、全速和高速,1.X的

3、主机只支持低速和全速模式(例外情况:On-The-GO(OTG无主机参与情况下外设直接互连通信)设备以及嵌入式系统中完成其他专属目的的主机,这些设备也许支持访问特殊周边设备所需的速率),1.1USB主机 USB主机功能需要软件和硬件共同支持,硬件由USB主机控制器和含有一个或多个USB端口的根集线器构成。软件构架可分为:客户软件,USB系统软件,USB总线接口。 客户软件负责和USB设备的功能单元进行通信,以实现特定的功能,一般由开发人员自行开发。客户软件不能直接访问USB设备,其与USB设备功能单元的通信必须经过USB系统软件和USB总线接口模块才能实现。,客户软件一般包括USB设备驱动程序

4、和界面应用程序。设备驱动程序负责和USB系统软件进行通信。通常,它向USB总线驱动程序发出I/O请求包(IRP)以启动一次USB数据传输,此外,根据传输的方向,它还应提供一个或空或满的数据缓冲区以存储这些数据。界面应用程序负责和USB设备驱动程序进行通讯,以控制USB设备。它是最上层的软件,只能看到向USB设备发送的原始数据和从USB设备接收的最终数据。 USB系统软件负责和USB逻辑设备进行配置通信,并管理客户软件启动的数据传输。USB逻辑设备是程序猿与USB设备打交道的部分。USB系统软件分为USB总线驱动程序和USB主控制器驱动程序(操作体统提供) USB总线接口包括主控制器和根集线器两

5、部分。主控制器负责完成主机和USB设备之间数据的实际传输,包括对传输数据进行串行编解码、差错控制等。,1.2 USB设备 USB设备由3个功能模块组成:USB总线接口、USB逻辑设备和功能单元。这里的USB总线接口指的是USB设备中的串行接口引擎(SIE);USB逻辑设备被USB系统软件看做是一个端点的集合;功能单元被客户软件看做是一个接口的集合。SIE、端点和接口都是USB设备的组成单元。,为了更好的描述USB设备特征,USB设备是由一些配置、接口、和端点组成,一个USB设备可以含有一个或多个配置,在每个配置中可含有一个或多个接口,在每个接口中可含有若干个端点。其中,配置和接口是对USB设备

6、功能的抽象,实际的数据传输由端点完成。在使用USB设备前,必须指明其采用的配置和接口,这个步骤一般是在设备接入主机时设备进行自举完成的。USB设备使用各种描述符来说明其设备架构,包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符。他们通常被保存在USB设备的固件程序中。 USB设备架构图如下:,设备: 设备代表一个USB设备,它由一个或多个配置组成。设备描述符用于说明设备的总体信息,并指明其所含的配置的个数。一个USB设备只能有一个设备描述符。 配置 一个USB设备可以包含一个或多个配置,如USB设备的低功耗模式和高功耗模式可分别对应一个配置。在使用USB设备之前,必须为其选择一

7、个合适的适配器。配置描述符用于说明USB设备中各个配置的特性,如配置含有的接口数等。USB设备的每一个配置都必须有一个配置描述符。 接口 一个配置可以包含一个或多个接口,如对一个光驱来说,当于用文件传输时使用其大容量存储接口;而当用于播放CD时,使用其音频接口。接口是端点的集合,可以包含一个或多个可替换的设置,用户能够在USB处于配置状态时,改变当前接口所含的个数和特性。接口描述符用于说明USB设备中各个接口的特性,如接口所属的设备类及其子类等。USB设备的每个接口都必须有一个接口描述符。,端点 端点是USB设备中实际的物理单元,USB数据传输就是在主机和USB设备各个端点之间进行的。每个端点

8、所支持的数据传输方向一般而言也是确定的(或是IN或是OUT)0端点比较特殊,它有数据输入IN和数据输出OUT两个物理单元,且只能支持控制传输。所有USB设备都必须含有一个0端点,用作缺省控制管道。 系统软件及时使用该管道和USB逻辑设备进行配置通信的。 利用设备地址、端点号和传输方向就可以指定一个端点,并和它进行通信,1.3管道 USB系统中的数据传输可以认为是在主机软件(USB系统软件和客户软件)和USB设备的各个端点之间的直接进行的。他们之间的连接称为管道。如下图: 根据传输数据不同分为流管道与消息管道,流管道不具有USB定义的格式数据流,可用于块传输、中断传输、同步传输,通常是单向的。消

9、息管道具有USB定义的格式,只能用于控制传输。USB设备0号端点所实现的就是一条消息管道。,1.4描述符 USB采用USB标准描述符说明一个USB设备。这些描述符包括设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。对于高速设备还包括设备限定描述符和其他速率配置描述符。 (1)设备描述符(DeviceDecriptor)用于指出USB设备的总体信息,其内容对该设备中同一传输模式下的所有配置都有效。一个设备只能有一个设备描述符,但是一个设备允许多个配置描述符。 (2)配置描述符(ConfigurationDescriPtor)为usB设备的配置指出其配置信息,USB设备的一个配置可以

10、包含一个或者多个接口,且每个接口都可以相互独立工作,所有的USB设备都至少支持一个配置描述符,每个配置都必须有自己的配置描述符。当主机请求配置描述符时,其所有相关的接口描述符和端点描述符都将被返回。 (3)接口描述符(hite而ceDescriPtor)用于指定usB设备中各个接口的特性,设 备的每个接口都必须有一个描述符。USB设备的接口是一个端点的集合,负责完 成设备的特定功能,接口可以包含一个或者多个可替换配置,它们能够在USB设 备处于配置状态时,改变当前接口所含端点的个数和特性。USB设备同一配置的 各个接口间不能使用相同的端点,但是同一接口的各个可替换配置间可以使用相 同的端点。,

11、(4)端点描述符(Endpointdescriptor)用于指出usB设备端点的特性,如其所支持的传输类型、传输方向等信息。除端点O外,USB设备的每个端点都必须有一端点描述符。 (5)字符串描述符(stringDescriptor)用于保存一些文本信息,它是可选的。在USB设备的其他描述符中,可以含有指向字符串描述符的索引值。 (6)设备限定描述符(DevieeQualifierDeseriptor)只适用于高速usB设备,如果高速USB设备既需要高速传输,又需要全速传输,则它必须支持设备限定描述符,以指出另一传输速率下该设备的总体信息。 (7)其它速率配置描述符(Other_Speed_C

12、onfiguration_Descriptor)用于指出高速设备在采用全速传输下的配置信息,其不能用于低冷速USB设备,且主机只有在成功读取USB设备的设备限定描述符后,它才会进一步发出Get_Descriptor(Other_Speed_Configuration_Descriptor)请求。,1.5 总线枚举 当USB设备接上或者从USB设备移开时,主机启动一个被称作总线枚举的进 程,来列举并怜理设备状态的改变,当USB设备接上一个加电端口时,系统采取 以下操作: (1)USB设备已连接在下行端口上,集线器通过状态交换管道通知主机此事件。 此时,USB设备处于加电状态,它所连接的端口是无效

13、的; (2)主机通过询问集线器标记出某个设备已连接上; (3)主机一旦得知新设备已连上后,发送端口使能及复位命令给此端口; (4)集线器将发向端口的复位信号持续10ms,当复位信号撤消后,端口己经有 效,这时USB设备处于缺省状态,并且从总线上可以得到100mA的电流,所有设 备寄存器状态已经复位,设备可对缺省地址产生响应; (5)主机给设备分配一个唯一的地址,设备进入地址状态; (6)在USB设备接受地址之前,其缺省控制管道在缺省地址处是可寻址的,主 机通过读取设备描述符,决定设备缺省管道的实际数据净负荷大小; (7)主机从设备读取配置信息,从0读到n一1(n为配置个数),此操作需花费 几毫

14、秒; (8)基于从设备读取的配置信息及设备如何使用的信息,主机给设备一个配置 值,此刻,USB设备处于配置状态,并配置有关的端口,按照配置USB设备就可以 从VBUS得到所要求的电量。从设备的角度而言,设备己经准备就绪。 当USB设备断开时,集线器同样会通知主机,断开一个设备连接会使得设备 所连接的端口无效,一收到断开通知,主机就会更新本地拓扑信息。,2、USB的物理特性 2.1USB接口 USB使用一根屏蔽的4线电缆与设备进行互联。数据传输通过一个差分双绞线进行,这两根线分别表为D+与D-,另外两根是Vcc和Ground,其中Vcc向USB设备供电。使用USB电源的设备称为总线供电设备,而使

15、用自己外部电源的设备叫做自供电设备。 从一个设备连回主机,称为上行连接;从主机到设备的连接,称为下行连接。为房主回环的情况发生,上行和下行的端口使用不同的连接器,所以USB在电缆和设备的连接中分别采用了两种类型的连接头。如下图:,15,3、USB数据传输 在USB总线上所有与USB设备功能单元的数据传输都是由客户软件启动的,其传输过程必须经过四个软硬件实体:客户软件、USB总线驱动程序、USB主控制器驱动程序和USB主控制器。下图向下的箭头表示了客户软件向USB设备发送数据的情况,其传输步骤如下: (l)客户软件把要传输的数据放入数据缓冲区,并向USB总线驱动程序发出IRP,以请求数据传输;

16、(2)USB总线驱动程序响应客户软件的IRP,并将其中的数据转化为一个具有USB格式的事务处理,然后将其向下传递; (3)USB主控制器驱动程序负责为这些事务处理建立一系列以帧/小帧为单位的事务列表,并保证其不会超过USB的带宽; (4)USB总线控制器负责读取事务列表,并将其中的事务处理以信息包为单位发送到USB总线上; (5)USB设备接收到这些信息包后,sIE自动将其解包并将数据放入指定端点的接收缓冲区内,由芯片固件对其进行处理。,客户软件,USB总线驱动程序,USB主控制器驱动程序,事务队列,事务处理,事务处理,USB主控,USB,IRPs,数据,USBD接口,HCD接口,传输,事务处理,数据包,HW/SW 接口,4、USB事务处理 4.1 USB信息包 在USB协议中,USB的数据传输是由信息包组成,这些信息包组合起来可以构成完整的事务处理。包(packet)是USB系统中信息传送的基本单元,所有数据都是经过打包后在总线上传输的。USB包由五部分组成:同步字段(SYNC)、包标识符字段(PID)、 数据字段、循环冗余校验字段(CRC)和包结尾字段

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号