USB不同协议的理论带宽

俗称官方命名理论带宽最大输出电流
USB 1.0USB 2.0 Low-Speed1.5Mbps5V/500mA
USB 1.1USB 2.0 Full-Speed12Mbps5V/500mA
USB 2.0USB 2.0 High-Speed480Mbps5V/500mA
USB 3.0USB 3.2 Gen 15Gbps5V/900mA
USB 3.1USB 3.2 Gen 210Gbps20V/5A
USB 3.2USB 3.2 Gen 2x220Gbps20V/5A
USB4USB440Gbps

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

不同传输类型的带宽分配

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

Low Speed 最大速率

传输类型数据包范围(Byte)协议开销(Byte)数据包大小(Byte)每帧传输次数最大速率(MB/s)
控制传输1 ~ 863830.024
中断传输1 ~ 819860.048

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

Full Speed 最大速率

传输类型数据包范围(Byte)协议开销(Byte)数据包大小(Byte)每帧传输次数最大速率(MB/s)
控制传输1 ~ 644564130.832
中断传输1 ~ 641364191.216
批量传输1 ~ 641364191.216
等时传输1 ~ 1023964/128/25620/10/51.28

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

High Speed 最大速率

传输类型数据包范围(Byte)协议开销(Byte)数据包大小(Byte)每微帧传输次数最大速率(MB/s)
控制传输1 ~ 64173643115.872
中断传输1 ~ 3072551024540.96
批量传输1 ~ 512555121353.248
等时传输1 ~ 3072381024540.96

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

USB 3.2 Gen 1 最大速率

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

传输类型数据包范围(Byte)协议开销(Byte)数据包大小(Byte)每微帧传输次数最大速率(MB/s)
控制传输1 ~ 512173512114466.944
中断传输1 ~ 307255307222540.672
批量传输1 ~ 102455102472589.824
等时传输1 ~ 307238307222540.672

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

参考文档:

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


戈壁老王
143 声望64 粉丝

做为一个不称职的老年码农,一直疏忽整理笔记,开博记录一下,用来丰富老年生活,


引用和评论

0 条评论