是否存在能够同时在多个端口上提供 USB 2.0 高速连接的 USB 3.0 主机?
明确地说,我想问的是 USB 3.0 主机是否可以将其 5 Gb/s 分割到多个完全饱和的 USB 2.0 高速设备上?
答案1
这是一个误解。没有人在 USB3 架构中“分割”或“重新分配”任何东西。USB2 信号专门通过 USB2 D+/D- 通道,USB3 信号通过 Tx/Rx 对。我猜这种误解来自较旧且不同的 USB2 架构,其中全速和低速(FS 和 LS)事务可以在多个 FS/LS 连接之间真正“分割”。在 USB2 中,此功能是通过所谓的“交易翻译器“(TT)块内置在每个集线器中。并且,只有当多个 TT(甲基抗结核病) 被设计到中心中。这种翻译架构未实施或未指定在超高速USB3架构中。
如果将四个 USB2 HDD 连接到集线器,则所有四个 HDD 都会获得每台主机总计 35-40MB/s或 8-10MB/s 可持续吞吐量每个驱动器。更高的 USB3“带宽”与 USB2 交易无关,绝对无关(除了 xHCI USB3.0 控制器架构在处理协议开销方面可能更有效率)。
USB3.0 集线器内部实际上有两个集线器,一个 USB3 集线器和一个传统 USB2 集线器。它们独立运行,如果连接了设备,它们只会将下游端口重定向(复用)到一个集线器控制器或另一个集线器控制器,或者如果集线器位于段中,它们会并行工作。
USB3.0 主机也是如此,架构相同,名称也相同,只是它是“根”集线器。如果您获取 USBview.exe 实用程序,您将看到根 xHCI 控制器分为两个根集线器,一个 SS USB3,另一个 USB2。如果您将 USB3.0 设备插入主板 USB 端口,它将进入 USB3 部分,逻辑端口号将为“1”。如果您插入 USB2 设备进入同一个物理端口,它将被引导到 USB 2 分支,其逻辑端口将类似于“5”,因此总带宽将由相应的根集线器部分定义。没有人与高速设备共享超高速带宽,它们几乎是独立的。
因此,OP 问题的答案是“否”。
答案2
我遇到过类似的问题,但没有答案就迁移了。我在网上查找并在这里找到了答案:
根据此答案,多个 USB 2.0 设备可以在 USB 3.0 主机上全速运行。如果您的实验与此答案相矛盾,请告诉我。
答案3
从 XHCI 规范 4.6.15 获取端口带宽:
xHC 可以支持多个 USB 总线实例 (BI),其中每个 BI 代表 BI 支持速度的“单位”带宽。另请注意,可以将多个根集线器端口分配给单个 BI。
换句话说,给定的控制器可能像@Ale..chenski 描述的那样工作,但这不是必须的。我有一台台式机,上面有一块带有 Renesas 控制器芯片的附加卡,该芯片只有一个 BI 的 USB 2.0 HS 带宽,由四个根集线器共享。我把所有三个网络摄像头从那个有缺陷的控制器移到了板载 Intel xHCI 控制器:现在所有三个都可以同时运行。没有两个摄像头可以共享一个 BI,因此 Intel 控制器至少有三个 HS BI。