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