标签:
1. 包结构
以同步域开始,紧跟着一个包标识符PID(Packet Identifier),最终以包结束符EOP(End of Packet)结束这个包。
2. 包分类
根据包标识符PID的不同,包可以分为四种包:令牌包(token packet, PID1~0为01)、数据包(data packet, PID1~0为11)、握手包(handshake packet, PID1~0为10)、特殊包(special packet, PID1~0为00)。
2.1 令牌包
令牌包用来启动一次USB传输。由于USB是主从结构的拓扑结构,所以所有的数据传输都是主机发起的(唯一的例外是支持远程唤醒的设备能够主动改变总线的状态,让集线器感知到设备的唤醒信号,但是这一过程并不发送数据,只是改变总线的状态)。
令牌包分4种:输出(OUT)、输入(IN)、建立(SETUP)、帧起始(SOF)。
同步域 | 8位标识符PID | 7位地址 | 4位端点号 | 5位CRC5校验 | EOP |
OUT、IN、SETUP令牌包结构图
同步域 | 8位标识符PID | 11位帧号 | 5位CRC5校验 | EOP |
SOF令牌包结构图
2.2 数据包
同步域 | 8位标识符PID | 字节0 | 字节1 | … | 字节n | 16位CRC16校验 | EOP |
数据包的结构图
2.3 握手包
同步域 | 8位标识符PID | EOP |
握手包结构图
2.4 特殊包
暂不介绍。
标签:
原文地址:http://www.cnblogs.com/risunlee/p/5215905.html