我想买一个新的 USB3 集线器来替换我的旧集线器,它只有 4 个插槽。使用 USB2 集线器时,单个 TT 存在问题,因为 USB1 设备可能会降低整个集线器的速度。USB3 集线器是否有类似的问题?过多的 USB2 设备是否会降低这些集线器进行 USB3 数据传输的速度,还是通过设计新标准解决了这个问题?
答案1
在 USB 2.0 框架中,USB1 设备不会减慢任何速度。单个 TT(事务转换器,在每个集线器中本地将 HS 流量转换为 FS/LS 数据包)的问题在于,单个 TT 会减慢同一集线器上的 USB1 设备的速度,而不是整体 HS 集线器性能。
在 USB 3.x 规范中,USB 2.0 接口在电气上完全独立于超高速路径,它在专用的旧式 D+/D- 线上并行运行。与 USB 2.0 不同,USB 3.x 不会引入“TT”(事务转换器),USB 3.x 超高速事务无法“转换”为 HS USB 2.0 事务。
然而,控制器和系统接口(内部结构)的内部管道带宽有限,因此系统必须对其进行管理。xHCI 规格定义“BI”的概念,“总线实例”。BI 可以是 SS 类型,也可以是 HS 类型,也可以是 LS/FS 类型。系统可以为一个端口分配多个 BI,并为每个端口分配一定的带宽,因此过多的 USB2 设备可能会侵占 SS 带宽。这将取决于 xHCI 实现和软件驱动程序堆栈。目前尚不清楚现代 USB 堆栈在多大程度上能够智能地管理所有这些灵活性。这写上去是 USB 带宽分配领域普遍混乱的一个例子。
答案2
在某些情况下,单 TT 与多 TT 仍然与连接到集线器的 USB 1/2 低速或全速设备相关,但与 USB 3 超高速通信无关。
注意:这个答案主要涉及在 USB 3 集线器上使用 USB 1/2 设备的情况,我不会像其他答案那样深入探讨 USB 3 的内容,尽管您可能会发现 USB 3 设备总体上的问题较少。
3.x 集线器也必须包含 USB 2 集线器,因为 USB 2 通信仍然通过旧的 USB 2 D+ 和 D- 线返回到主机,因此所有 USB 1.1 和 2 通信仍然共享相同的 480Mbit 全速 USB 2 瓶颈,就像 USB 2 一直存在的那样。这可能会让一些人失望,但我想这是一种兼容性还是成本优势?USB 3 设备实际上并不受 USB 2 总线在集线器上所做操作的影响,您无需担心这一点(如果它们确实在使用 USB 3),因为这些将通过 USB 3 集线器通过超高速线返回到主机。而且那里有一个 5Gbit 池,而不是 USB 2 上单个 TT 所担心的 12Mbit 池,可以共享的东西更多。
还有一个很少被提及的单独问题 - 无论您的 USB 3 集线器有多先进,同步 USB 1/2 设备都可以预留带宽,这可能会比您想象的更早引发冲突,因为像 USB 3 集线器这样现代的设备 - 即使集线器的 USB 2 端具有 Multi TT。这就是为什么网络摄像头、采集卡和音频接口等设备如果是 USB 1/2 设备,仍然无法通过集线器正常工作,因为它们在旧概念的 12Mbit 共享总线上“预留”带宽,而现代集线器仍然与之兼容。在某些情况下,我发现某些音频设备的软件驱动程序在集线器上时会削弱设备的一些功能,可能是出于对带宽预留的这种争用。
还有一条提示 - 蓝色插头并不总是意味着设备真正使用 USB 3。