等时拆分事务
2026-04-29
本文链接为:http://www.usbzh.com/article/detail-1640.html ,欢迎转载,转载请附上本文链接。
没有重试、没有握手、没有校验重传。数据丢了就丢了,因为实时性比正确性更重要。
等时IN事务


当高速处理器在完成拆分流水线阶段找不到匹配条目时,返回NYET。
场景:主机发起了完成拆分,想获取数据,但TT这边还没准备好(数据还没从慢速设备读回来,或者还在处理上一个事务)。
等时OUT事务

关键区别:没有完成拆分!
Full-speed isochronous OUT transactions issued by a TT do not have corresponding complete-split transactions. They must only have start-split transaction(s).
- 主机发数据给等时设备时,只发开始拆分,不发完成拆分。
- 为什么呢?因为等时OUT不需要确认。数据发出去就算了,TT也不需要告诉主机“设备收到了没”——反正等时设备也不会回复ACK/NAK。
- 这样做的好处是节省总线时间,不需要来回握手。
对比表
| 维度 | 等时事务 | 批量/控制事务 |
|---|---|---|
| 全速侧重试 | ❌ 不允许 | ✅ 可以进行本地重试 |
| 错误处理 | 出错直接丢包,不重试 | 重试三次,仍失败则停端点 |
| TT找不到匹配条目时的回应 | NYET | NAK |
| 事务结构 | 可拆分为多个数据区域(DAdvance) | 通常一个事务对应一个数据包 |
| 实时性要求 | 高(宁可丢数据也不等) | 低(可靠性优先) |
| 维度 | 等时IN | 等时OUT | 中断/批量 |
|---|---|---|---|
| 开始拆分 | 有(1个) | 有(可能是多个分片) | 有 |
| 完成拆分 | 有(多个) | 无 | 有 |
| 握手/确认 | 无 | 无 | 有(ACK/NAK/STALL/ERR) |
| 数据拆分 | TT把分片重组 | 主机把分片发给TT,TT重组后发全速 | 通常不拆分(等时才拆) |
| 缓冲区行为 | 始终推进,不等人 | 始终推进,不等人 | 有流控,可以反压 |
| 出错处理 | 丢数据,不重试 | 丢数据,不重试 | 重试三次 or NAK流控 |
本文链接为:http://www.usbzh.com/article/detail-1640.html ,欢迎转载,转载请附上本文链接。等时传输就是“流水线”:IN方向要分多次取数据(多次完成拆分),OUT方向只管发不管确认(没有完成拆分)。时间轴铁定往前走,缓存满了就覆盖,不等人,不重试。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936 USB技术交流3:1031974172
USB2.0集线器HUB





