Windows 11/Ubuntu主机USB UVC等时传输带宽受限问题咨询
USB等时传输带宽限制问题分析咨询
设备与场景说明
- 两台嵌入式Linux设备,共模拟5个UVC摄像头:一台SOC输出3个,另一台输出2个
- 所有设备通过外接供电的SuperspeedPlus Hub连接至Windows 11(Dell Vostro 7510,Intel USB 3.10扩展主机控制器)或Ubuntu主机
- 每个SOC通过独立端点发送图像流
UVC摄像头配置详情
- 设备1:
streaming_maxpacket:3072,streaming_maxburst:10,streaming_interval:2 - 设备2:
streaming_maxpacket:3072,streaming_maxburst:10,streaming_interval:2 - 设备3:
streaming_maxpacket:3072,streaming_maxburst:4,streaming_interval:3 - 第二台SOC复用设备2、3的配置,最终构成5台UVC设备
当前故障现象
- 总带宽需求约431,134,720 Bytes/sec,但Windows 11主机最大仅能分配约380MB/s;使用Windows Media Foundation API打开最后一路流时,弹出
Controller Does not have enough resources提示,流打开失败 - 仅当总带宽低于380MB/s时,所有流才能正常打开;Ubuntu主机存在完全相同的问题
核心咨询问题
- 主机侧限制USB等时传输带宽至380MB/s的原因是什么?该限制似乎对应超高速设备等时传输的计算值(
1024*3*16*8000,其中8000为每秒传输间隔数,每个间隔125微秒),但主机PCIe单lane为10Gbps,理论上应支持10Gbps的USB速率。 - 可调整哪些设备参数以提升带宽分配上限?
- 考虑到设备通过SuperspeedPlus Hub连接,主机侧等时传输、批量传输的最大可达带宽分别是多少?
补充测试更新
- 两台SOC合计可向Windows主机发送7.2Gbps的批量数据,且能被主机正常接收;但等时传输的最大带宽仅能达到3.048Gbps
内容的提问来源于stack exchange,提问作者Vinay
相关产品推荐
相关产品推荐

