包的格式
包(Packet)是 USB主控和设备之间 信息传输的基本单元,所有数据都是经过打包后在 USB总线 上传输的。
数据在 USB总线 上的传输以包为单位,包只能在帧内传输。
高速USB总线的帧周期为125us(=0.125ms),全速以及低速 USB 总线的帧周期为 1ms。
帧 的 开始由一个特定的包(SOF包 令牌包)表示,帧尾为 EOF。EOF不是一个包,而是一种电平状态,EOF期间不允许有数据传输。
**包是USB总线上数据传输的最小单位,包不能被打断或干扰,否则会引发错误。
若干个数据包组成一次事务传输,一次事务传输也不能打断,属于一次事务传输的几个包必须连续,不能跨帧完成。
一次传输由 一次到多次事务 传输构成,一次传输可以跨帧完成(即:一次传输可以被打断)**。
USB包由五个域组成,即: //★
- 同步域(SYNC)
- 标识符域(PID)
- 数据域(ADDR + Frame Number + DATA )
- 循环冗余校验域(CRC)
- 包结尾域(EOP)
包的基本格式如下图(即:一个包由下面多个域组成): //★
- 简易格式1: //相对格式2 少了 SOP起始信号 和 EOP终止信号,为了快速了解

- 完整格式2://建议记住这个。

SOP = Start Of Packet
EOP = End Of Packet
SofTool.CN
我认为应该采纳 完整格式2 来理解。
