根据域的 PID 描述,令牌包有4种。

令牌包 有四种:

  • OUT: 通知设备将要输出一个数据包;
  • IN: 通知设备返回一个数据包;
  • SETUP: 只用在控制传输中,也是通知设备将要输出一个数据包;
    与OUT令牌的区别是:SETUP只使用DATA0数据包,且只能发到device的控制端点
  • SOF: 在每帧开始时以广播的形式发送,针对USB全速设备;
    主机每1ms/125us产生一个帧;
    USB主机会对当前帧号进行统计;
    每次帧开始时,通过SOF包发送帧号;

OUT、IN、SETUP

OUT(输出包)、IN(输入包)和 SETUP(设置包)的格式都是一样的:
SYNC + PID + ADDR(7 bits) + ENDP(4bits) + CRC5(五位的校验码)
2.2.1 令牌包(Token) - 图1

SOF

SOF(帧起始包)的格式:
SYNC + PID + 11位FRAM + CRC5(五位的校验码)
2.2.1 令牌包(Token) - 图2

SOF包的特点:

  • SOF包由Host发送给Device;
  • 对于full-speed总线,每隔1.00 ms ±0.0005 ms发送一次;
    对于high-speed总线,每隔125 μs ±0.0625 μs发送一次;

2.2.1 令牌包(Token) - 图3