Windows电脑最多可以连接多少USB设备?



硬件: CompactDAQ

问题: 我想要把多个NI的USB设备连接到电脑上,当我将多个设备连接一个USB Hub上时,返回错误Not Enough USB controller resources- The controller does not have enough resources for this device这是怎么回事?什么限制了我可以连接的USB设备的数量

解答:

USB规范已有固定通信协议标准。当和多个USB设备进行通信时所允许连接的USB地址和端点数量由下图所示的USB Token Packet给出

USB Token Packet Header

address段用于表示实际的USB设备。既然是7位长,单个USB主机控制器可支持多达127(2^7- 1)个连接的设备。一个USB Hub占用一个USB设备地址并且连接到USB Hub的每一个设备都占用一个地址。

类似地,Endpoint段用于路由通过USB总线特定类型的的数据,这个类似于TCP / IP通信协议端口。其字段长度为4位,允许16个(2^4)可访问的端点。然而,由于端点都是单向的(进或出),一个USB设备可以分配到32个端点。 所允许的USB端点的总数量是由USB主机控制器和它的固件所决定的。但是,对于某些控制器而言,这个数目小于100。

因此,如果USB设备想要连接到一个主控制器,可能会导致地址或端点数量溢出,就会产生上面Windows资源的错误。对于一些设备而言,每个设备可使用高达32个数量的端点,用USB Hub连接NI设备时可能会造成端点数量的溢出。另外,一些计算机自己内部的USB端口和其它内部设备(如无线网卡,音频,摄像机等)都连接到一个USB主机控制器,也可导致USB资源数量的增长。

综上所述,不建议使用外部USB Hub来连接NI USB设备。还有,NI USB设备使用的端点数量是不可调的。建议将NI设备连接到特定的USB主机控制器上或限制共享一个主机控制器的设备数量。您可以在Windows设备管理器中查看可用和安装的主机控制器。



相关链接: KnowledgeBase 4FFAGQL3: What is the Difference Between USB Raw Control and USB Raw Bulk?

附件:





报告日期: 03/22/2016
最近更新: 08/01/2016
文档编号: 77LCHE3J