usb通信的一些基础知识.doc

上传人:白大夫 文档编号:3274718 上传时间:2019-08-07 格式:DOC 页数:4 大小:20KB
返回 下载 相关 举报
usb通信的一些基础知识.doc_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《usb通信的一些基础知识.doc》由会员分享,可在线阅读,更多相关《usb通信的一些基础知识.doc(4页珍藏版)》请在三一文库上搜索。

1、usb通信的一些基础知识目前了解了usb通信层面的一些基础知识如下。如果有空还要再了解hid报告描述符及协议的数据包波形。一,USB的一些基本概念1. 管道(Pipe) 是主机和设备端点之间数据传输的模型,共有两种类型的管道:无格式的流管道(Stream Pipe)和有格式的信息管道(Message Pipe)。任何USB 设备一旦上电就存在一个信息管道,即默认的控制管道,USB 主机通过该管道来获取设备的描述、配置、状态,并对设备进行配置。2. 端点(Endpoint)是USB 设备中的可以进行数据收发的最小单元,支持单向或者双向的数据传输。设备支持端点的数量是有限制的,除默认端点外低速设备

2、最多支持2 组端点(2 个输入,2个输出),高速和全速设备最多支持15 组端点。3. 接口(Interface) 。应用软件通过和设备之间的数据交换来完成设备的控制和数据传输。通常需要多个管道来完成数据交换,因为同一管道只支持一种类型的数据传输。用在一起来对设备进行控制的若干管道称为设备的接口。4. 设备和端点之间关系: 一个USB 设备可以包括若干个端点,不同的端点以端点编号和方向区分。不同端点可以支持不同的传输类型、访问间隔以及最大数据包大小。除端点0 外,所有的端点只支持一个方向的数据传输。端点0 是一个特殊的端点,它支持双向的控制传输。管道和端点关联,和关联的端点有相同的属性,如支持的

3、传输类型、最大包长度、传输方向等。5. 描述符(Descriptor) 描述设备的属性(Attributes)。 它本身是一个数据结构, 第一个字节表示描述符的大小(字节数), 第二个字节表示描述符的类型(Type)。 描述符的种类有:1) 设备描述符(Device), 描述一个设备的一般信息。2) 设备修饰描述符(Device_Qualifier), 描述一个高速设备在其它速度下该如何变化的信息。3) 配置描述符(Configuration), 描述一个特定的设备配置, 如接口的数目等。 一个USB设备有一个或多个配置描述符。 每个配置有一个或多个接口并且每个接口有0个或多个端点。4) 其它

4、速度配置描述符(Other_speed_configuraTIon), 描述高速设备在其它可能的速度下的一个配置。5) 接口描述符(Interface), 描述一种配置中的一个特定的接口。6) 端点描述符(Endpoint), 描述主机需要的去决定端点所需带宽的信息。 这个描述符只能附加在GetDescriptor()或GetDescriptor()请求中传送, 不能单独传送。 端点0没有此描述符。7) 字符串描述符(String), 第0个字符串描述符指定设备支持的语言, 其它的描述符则各包含一个UNICODE字符串。 设备描述符, 配置描述符 和 接口描述符可能会包含字符串描述符。6. U

5、SB设备请求(USB Device Request) 请求是从主机通过控制管道发送到设备。标准的设备请求有:1) Clear Feature2) Get ConfiguraTIon3) Get Descriptor4) Get Interface5) Get Status6) Set Address7) Set ConfiguraTIon8) Set Descriptor9) Set Feature10) Set Interface11) Synch Frame二,协议层从字段(Field)和包(Packet)的定义开始,从底向上地展示USB(Univeral Serial Bus)协议。有:

6、同步字段,包字段格式,包标识符字段,地址字段,端口字段,数据字段等等。三,包字段格式描述标记,数据和握手包的字段格式。包中位的定义是以未编码的数据格式给出。为了清楚起见,在此不考虑NRZI编码和位填充(Bit Stuffing)的影响。所有的包都分别有包开始(Start-of-Packet)和包结束(End-of-Packet)分隔符。包开始(SOP)分隔符是同步字段的一部分,而包结束(EOP)分隔符在第7章有所描述。四,usb协议的大致过程如下:当USB设备接上或从USB设备移开的时候,主机启动一个被称作总线标识(bus enumeraTIon)的进程,来标识并管理设备状态的改变,当USB设

7、备接上一个加电端口时,系统当采取以下操作:1.USB设备所连的集线器通过其通向主机的状态改变通道向主机,汇报本USB设备已连接上。(参照11.13.3节)。此时,USB设备处于加电状态,它所连接的端口是无效的。2.主机通过寻问集线器决定此次状态改变的确切含义。3.主机一旦得知新设备已连上以后,它至少等待100ms以使得插入操作的完成以及设备电源稳定工作。然后主机发出端口使能及复位命令给那个端口。具体这些事件发生的顺序及时间判定请参看7.1.7.1节及图7-19。4.集线器将发向端口的复位信号持续10ms(见11.5.15节)。当复位信号撤消后,端口已经有效了。这时USB设备处于缺省状态,并且可

8、从VBUS汲取小于100mA的电能,所有设备寄存器及状态已经被复位,设备可对缺省地址产生响应。5.主机给设备分配一个唯一的地址,设备转向编址状态。(Address state)。6.在USB设备接受设备地址之前,它的缺省控制通道(Default Control Pipe)在缺省地址处自然是可寻址的,主机通过读取设备描述表,判决设备缺省通道的实际净数据负载。7.主机从设备读取配置信息要从配置0读到配置n-1,其中n为配置个数,此操作须花费几个毫秒。8.基于从设备取来的配置信息及设备如何被使用的信息,主机给设备一个配置值,此刻,设备就处于配置状态(Configured state)并此配置有关的所有端节点,都按照配置各就各位,USB设备现在可以从VBUS得到描述中所要求的电量了。从设备的角度来讲,它已经准备就绪了。当UBS设备被取走时,集线器同样会通知主机,断开一个设备连接会使得设备所连接的端口无效,一收到断开通知后,主机就会更新的拓扑信息。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1