USB 总线上的 USB 通信是通过若干机制维持的,这些机制旨在确保 USB 主机和连接设备之间进行连续可靠的数据交换。以下是保持 USB 通信活跃和顺畅运行的关键方面:
1. 轮询和调度:
* USB 主机定期轮询所连接的设备,检查是否有数据需要发送或接收。轮询定期进行,确保设备有机会与主机通信。
2. 帧开始(SOF)数据包:
* USB 主机在每个帧开始时发送帧开始(SOF)数据包(USB 1.1 和 USB 2.0 每 1 毫秒发送一次,USB 2.0 微帧每 125 微秒发送一次)。这些数据包有助于同步通信并保持总线定时的准确性。
3. 数据传输类型:
* 控制传输: 用于设备配置和命令/响应通信。
* 批量传输: 用于无特定时间要求的大数据传输,如向 USB 驱动器传输文件。
* 中断传输: 用于需要保证延迟的小型快速数据传输,如鼠标和键盘输入。
* 等时传输: 用于对时间敏感的数据传输,如音频或视频流,在这种情况下,数据的定时传输至关重要。
4. 端点管理:
* 每个 USB 设备都有作为数据传输通道的端点。主机对这些端点进行寻址,以发送和接收数据。
5. 错误检测和恢复:
* USB 通信包括错误检测机制,如循环冗余校验(CRC),以确保数据完整性。如果检测到错误,主机和设备可以重试数据传输。
6. 流控:
* 主机和设备使用