USB传输速率

发布于:2023-03-27 ⋅ 阅读:(381) ⋅ 点赞:(0)

USB不同协议的理论带宽

俗称 官方命名 理论带宽 最大输出电流
USB 1.0 USB 2.0 Low-Speed 1.5Mbps 5V/500mA
USB 1.1 USB 2.0 Full-Speed 12Mbps 5V/500mA
USB 2.0 USB 2.0 High-Speed 480Mbps 5V/500mA
USB 3.0 USB 3.2 Gen 1 5Gbps 5V/900mA
USB 3.1 USB 3.2 Gen 2 10Gbps 20V/5A
USB 3.2 USB 3.2 Gen 2x2 20Gbps 20V/5A
USB4 USB4 40Gbps

之所以有俗称官方命名两个名字,主要是因为 USB-IF 闲着没事就改名字玩。

不同传输类型的带宽分配

传输类型 带宽分配情况
控制传输(Control Transfer) 为低速和全速非周期传输保留10%;
为高速非周期传输保留20%
批量传输(Bulk Transfer) 根据总线上的带宽情况进行分配
中断传输(Interrupt Transfer) 要求低速/全速端点的任意帧为周期传输分配不超过90%;
要求高速端点的任意帧为周期传输分配不超过80%
等时传输(Isochronous Transfer) 要求全速端点的任意帧为周期传输分配不超过90%;
要求高速端点的任意帧为周期传输分配不超过80%

Low Speed 最大速率

传输类型 数据包范围(Byte) 协议开销(Byte) 数据包大小(Byte) 每帧传输次数 最大速率(MB/s)
控制传输 1 ~ 8 63 8 3 0.024
中断传输 1 ~ 8 19 8 6 0.048

注:表中的数据包大小每帧传输次数最大速率时的配置,不代表可选最大值。帧间隔为1ms

Full Speed 最大速率

传输类型 数据包范围(Byte) 协议开销(Byte) 数据包大小(Byte) 每帧传输次数 最大速率(MB/s)
控制传输 1 ~ 64 45 64 13 0.832
中断传输 1 ~ 64 13 64 19 1.216
批量传输 1 ~ 64 13 64 19 1.216
等时传输 1 ~ 1023 9 64/128/256 20/10/5 1.28

注:表中的数据包大小每帧传输次数最大速率时的配置,不代表可选最大值。帧间隔为1ms
最大速率计算时考虑协议开销,周期传输(等时和中断)还需要考虑90%的带宽限制。

High Speed 最大速率

传输类型 数据包范围(Byte) 协议开销(Byte) 数据包大小(Byte) 每微帧传输次数 最大速率(MB/s)
控制传输 1 ~ 64 173 64 31 15.872
中断传输 1 ~ 3072 55 1024 5 40.96
批量传输 1 ~ 512 55 512 13 53.248
等时传输 1 ~ 3072 38 1024 5 40.96

注:表中的数据包大小每帧传输次数最大速率时的配置,不代表可选最大值。微帧间隔为125us。
最大速率计算时考虑协议开销,周期传输(等时和中断)还需要考虑80%的带宽限制。
中断传输和等时传输中数据包大于1024时,需要使用high-bandwidth endpoint进行传输。

USB 3.2 Gen 1 最大速率

USB 3.2 SPEC 中没有明确给出各种传输的速率配置。下表的 最大速率 使用最大的 Packet Size 计算得出,不一定正确。

传输类型 数据包范围(Byte) 协议开销(Byte) 数据包大小(Byte) 每微帧传输次数 最大速率(MB/s)
控制传输 1 ~ 512 173 512 114 466.944
中断传输 1 ~ 3072 55 3072 22 540.672
批量传输 1 ~ 1024 55 1024 72 589.824
等时传输 1 ~ 3072 38 3072 22 540.672

注:微帧间隔为125us。
最大速率计算时考虑协议开销,周期传输(等时和中断)还需要考虑90%的带宽限制。

参考文档:

【USB笔记】USB2.0 不同传输类型下的理论最大速率