USB传输模式选择及各传输特性对比
通用串行总线 (USB) 传输类型是指主机和设备端点之间使用的通信模式。传输类型决定了用于与端点通信的事务的频率和长度。传输类型还可以分配一个循环冗余校验和 (CRC),以对每个传输的数据包进行验证。传输类型由设备设置,并在枚举过程中与主机通信。
USB分为四种传输模式,分别为中断传输模式,控制传输模式、批量传输模式和同步传输模式。
USB延迟
主机需要多快为端点提供服务?要建立确定性延迟,必须以固定的时间间隔安排事务。例如,在全速模式下,如果一个端点被安排为每 10 帧服务一次,则系统将有 10 毫秒的响应时间。为了保证延迟,无论挂起的活动如何,都以规定的时间间隔为端点提供服务。由于帧中的空闲时间有限,非活动设备将每个帧分配时间来服务,限制了可以枚举的设备数量。
错误检查
传输中的有效负载是否需要随附的 CRC 才能可靠交付?大多数 USB 实现使用硬件 CRC 生成器将 CRC 附加到消息中。为了开发经济的解决方案,USB 设计人员限制了需要 CRC 的事务处理的数据包大小。减小的数据包大小可能会限制设备的数据速率。
带宽
数据包的数量和每个数据包的长度会影响带宽。增加事务的大小会增加带宽,但长数据包不提供 CRC 检查。此外,为长时间的高带宽传输保留部分帧将限制可以枚举到主机的潜在设备的数量。增加可在帧中发送启用 CRC 的事务的次数会增加带宽,但这种方法会带来与长帧相同的枚举困境。
控制和配置
必须使一部分帧可供主机用于枚举新设备并向当前枚举的设备发送控制命令。
控制传输
控制传输只用于设备的控制传输。
中断传输
带有 CRC 的短数据包,以固定的周期间隔调度。虽然下图显示了每帧运行的传输,但可以安排中断传输以帧间隔运行,例如每 10 帧。无论是否有任何数据要传输,都会发生中断传输。
优势:具有固定响应时间的高可靠性数据传输。
劣势:带宽可能受到限制(全速 USB 为 64 KB)
用途:鼠标、键盘和医疗设备
带宽:高达 90% 的帧可以分配给周期性传输端点。传输的最大长度取决于使用的帧大小。
同步传输
没有 CRC 的较长数据包。同步传输按固定周期安排。如果不需要与端点通信,则由主机释放帧带宽。
优势:高带宽
劣势:没有CRC硬件。如果需要 CRC,则必须在软件中完成。长数据包可以限制被枚举的设备数量
用途:音频/视频流,串行端口仿真
带宽:高达 90% 的帧可以分配给周期性传输。不使用时,将释放使用的带宽 传输的最大长度取决于使用的帧大小
批量传输
带有 CRC 的短数据包。批量传输没有计划,它们在帧中有可用带宽时运行。如果有可用带宽,可以在单个帧中运行多个批量传输。
优势:具有高带宽潜力的高可靠性
劣势:带宽可能会根据枚举的中断端点的数量和枚举的同步端点的活动而变化。
用途:大容量存储和打印机
带宽:将利用未使用的同步带宽传输的最大长度取决于使用的帧大小