请选择 进入手机版 | 继续访问电脑版

集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1060|回复: 1

USB数据格式

[复制链接]
fpga_feixiang 发表于 2021-2-3 15:15:02 | 显示全部楼层 |阅读模式
USB的重要关键字:

        端点(Endpoint):位于USB设备或主机上的一个数据缓冲区,是USB设备中可以进行数据收发的最小单元,支持单向或者双向的数据传输,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)。设备支持端点的数量是有限制的,除默认端点外低速设备最多支持2组端点(2 个输入,2 个输出),高速和全速设备最多支持15组端点。

        帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份是一个USB的传输动作。

        上行、下行:设备到主机为上行,主机到设备为下行。

2.1、USB数据传输方法

        数据在USB线里传送是由低位到高位发送的。

        USB采用不归零取反来传输数据,当传输线上的差分数据输入0时就取反,输入1时就保持原值,为了确保信号发送的准确性,当在USB总线上发送一个包时,传输设备就要进行位插入操作(即在数据流中每连续6个1后就插入一个0),从而强迫NRZI码发生变化。这些是由专门硬件处理的。

2.2、数据格式

        USB数据是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,包再构成事务(IN、OUT、SETUP),事务最后构成传输(中断传输、并行传输、批量传输和控制传输)。下面介绍一下域、包和事务。

2.2.1、域
        域是USB数据最小的单位,由若干位组成(多少位由具体的域决定),域可分为七个类型:

        1、同步域(SYNC)
        所有的USB包都由SYNC开始,高速包的SYNC宽度为32bit,全速/低速包的SYNC段度为8bit。实际接收到的SYNC长度由于USB HUB的关系,可能会小于该值。八位的值固定为0000 0001,用于本地时钟与输入同步。

        2、标识域(PID)
        由四位标识符 + 四位标识符反码构成,表明包的类型和格式,这是一个很重要的部分,这里可以计算出,USB的标识码有16种。USB2.0使用了十六种标识码,标识码的作用是用来说明包的属性的,标识码是和包联系在一起的,标识码分别有以下十六种:

        令牌包 :

        0x01:输出(OUT)启动一个方向为主机到设备的传输,并包含了设备地址和标号。

        0x09:输入(IN) 启动一个方向为设备到主机的传输,并包含了设备地址和标号。

        0x05:帧起始(SOF)表示一个帧的开始,并且包含了相应的帧号。

        0x0d:设置(SETUP)启动一个控制传输,用于主机对设备的初始化。

        数据包 :

        0x03:偶数据包(DATA0)。

        0x0b:奇数据包(DATA1)。

        握手包:

        0x02:确认接收到无误的数据包(ACK)。

        0x0a:无效,接收(发送)端正在忙而无法接收(发送)信息。

        0x0e:错误,端点被禁止或不支持控制管道请求。

        特殊包0x0C前导,用于启动下行端口的低速设备的数据传输。

        3、地址域(ADDR):七位地址,代表了设备在主机上的地址,地址000 0000被命名为零地址,是任何设备第一次连接到主机时,在被主机配置、枚举前的默认地址,由此可以知道为什么一个USB主机只能接127个设备的原因。

        4、端点域(ENDP),四位,由此可知一个USB设备端点数量最大为16个。

        5、帧号域(FRAM),11位,每一个帧都有一个特定的帧号,帧号域最大容量0x800,对于同步传输有重要意义。

        6、数据域(DATA):长度为0~1023字节,在不同的传输类型中,数据域的长度各不相同,但必须为整数个字节的长度。

        7、校验域(CRC):对令牌包和数据包中非PID域进行校验的一种方法,CRC校验在通讯中应用很泛,是一种很好的校验方法,CRC码的除法是模2运算,不同于10进制中的除法。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-3-28 16:21 , Processed in 0.063373 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表