USB数据包的最大响应时间及超时指标
2021-11-10
2248
0
每个 USB 设备都必须响应默认管道上的 Setup 包。Setup包用于设备的检测和配置,并执行一些常用功能,例如设置 USB 设备的地址,请求设备的描述符或检查端点的状态。
符合 USB 规范的主机希望所有请求最多在5秒内得到处理。它还为特定请求指定了更严格的时间规定:
- 不包含数据阶段(data stage)的标准设备请求必须在 50 毫秒内完成。
- 包含数据阶段的标准设备请求必须在请求500毫秒内开始返回数据。
(1)每个数据包必须在成功传输前一个包的 500毫秒内发送。
(2)状态阶段(status stage)必须在最后一个数据包传输后的 50 毫秒内完成。 - SetAddress 命令(该命令包含数据阶段)必须在 50ms 内处理命令并返回状态。在发送下一个请求之前,设备将有 2 毫秒的时间更改地址。
即使对于最慢的设备,这些超时时间也是可以接受的,但是对于调试来说增加了限制。50ms 的时间并不能在 9600bps 的异步串行端口上发送多少字符数据,也没有提供在线调试器/仿真器(In Circuit Debugger/Emulator)单步执行或中断执行以检查内部寄存器的功能。所以 USB 的调试需要使用迥异于其他微控制器的调试方法。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936