USB事务跨帧SOF的问题
2022-03-09
1296
0
USB中文网技术交流群有同学发了一个USB抓包截图,并提出了一个问题:
控制传输的一个事务内的包不在一帧内传输会有问题吗, 比如我发一个setup包,下面会有一个IN package和一个OUT package,结果IN和OUT package不和SETUP package在一个帧内发送或者接收到,这会有问题吗?
答案是肯定有问题的。
截图用红色框图标识了错误的问题
可以看到,这个SETUP事务由SETUP令牌包、IN事务和OUT事务组成。
对于一个控制传输,里面的不同事务在不同帧进行,是可以的!但是,一个事务里的不同阶段跨帧传是无效的,一个包也不能跨帧传。
usb有三个基本传输单位, transfer(传输), transaction(事务)和token(令牌)
transaction是最小传输单位,不能跨帧,不能插入其它包。
事务必须完整,是由令牌包和后面的数据包握手包组成的最基本的可靠传输单位,一个事务中的各个包不组跨帧
感谢群内用户xtoolbox,Always Online,格子KTT
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936