USB 2.0 指定了4 种传输类型(在第 5.4 节传输类型中):
第 5.8 节说批量传输提供:
- 在带宽可用的基础上访问 USB
- 重试传输,在偶尔因总线错误而导致传输失败的情况下
- 保证数据传输,但不保证带宽或延迟
(强调我的。)
我没有看到类似的控制转移声明。他们也保证交货吗?如果没有,用户如何处理故障?
请提供引文以支持您的答案。
USB 规范为控制传输提供了强大的错误检测和恢复。控制传输要么完成,要么 USB 主机知道它失败,我认为这就是“保证交付”的含义。这很重要,因为当您将设备插入计算机时,控制传输用于设置设备,并且各种 USB 设备类也将它们用于许多重要目的(例如,它们用于设置串行端口的波特率)。 USB CDC ACM 设备)。
根据 USB 2.0 规范第 5.5.5 节:
USB 为控制传输期间发生的错误提供强大的错误检测和恢复/重传。发送器和接收器可以在控制传输中的位置保持同步,并以最小的努力恢复。接收器可以通过数据包中的数据重试指示符来检测数据和状态数据包的重传。发送器可以通过握手中返回的信息可靠地确定其对应的接收器已成功接受所发送的分组。该协议允许将重传的数据包与其原始数据包区分开来,控制设置数据包除外。设置包可能会因传输错误而重传;但是,设置数据包无法指示数据包是原始传输还是重试传输。
唯一没有保证传送的传输类型是同步的。此外,帧起始 (SOF) 数据包无法保证传送。