![对 USB3.2 规格和功能感到困惑。为什么我的 USB 3.2 Gen 2x2 (20Gbit/s) 会节流,而 USB 3.2 Gen 2x1 (10Gbit/s) 却不会?](https://linux22.com/image/1702867/%E5%AF%B9%20USB3.2%20%E8%A7%84%E6%A0%BC%E5%92%8C%E5%8A%9F%E8%83%BD%E6%84%9F%E5%88%B0%E5%9B%B0%E6%83%91%E3%80%82%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20USB%203.2%20Gen%202x2%20(20Gbit%2Fs)%20%E4%BC%9A%E8%8A%82%E6%B5%81%EF%BC%8C%E8%80%8C%20USB%203.2%20Gen%202x1%20(10Gbit%2Fs)%20%E5%8D%B4%E4%B8%8D%E4%BC%9A%EF%BC%9F.png)
我想将 4 台 Basler 工业相机连接到我的笔记本电脑。因此,我购买了一个 USB3.2 集线器,并将其连接到我最快的端口 USB 3.2 Gen 2x2(20Gbit/s)。笔记本电脑:ThinkPad P15 Gen 2i(第 11 代 Intel(R) Core(TM) i7-11800H @ 2.30GHz)
分销商 ID:Ubuntu 描述:Ubuntu 22.04.3 LTS 发布:22.04 代号:jammy
该中心使用:https://amzn.eu/d/2ClrEKN
lsusb shows the following:
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 20000M/x2
|__ Port 4: Dev 2, If 0, Class=Hub, Driver=hub/4p, 10000M
|__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 10000M
|__ Port 1: Dev 6, If 2, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 1: Dev 6, If 0, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 1: Dev 6, If 1, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 3: Dev 7, If 1, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 3: Dev 7, If 2, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 3: Dev 7, If 0, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 3: Dev 4, If 0, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 3: Dev 4, If 1, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 4: Dev 5, If 1, Class=Miscellaneous Device, Driver=usbfs, 5000M
|__ Port 4: Dev 5, If 0, Class=Miscellaneous Device, Driver=usbfs, 5000M
如果我打开并运行 pylonviewer (https://www.baslerweb.com/de-de/software/pylon/pylon-viewer/) 并开始使用所有 4 台摄像机进行拍摄,它开始节流。
但是,如果我使用笔记本电脑上第二快的 USB 端口 USB 3.2 Gen 2x1(10Gbit/s),lsusb 显示以下内容,并且运行完美
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 10000M
|__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/4p, 10000M
|__ Port 4: Dev 4, If 0, Class=Hub, Driver=hub/4p, 10000M
|__ Port 3: Dev 5, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
|__ Port 2: Dev 12, If 0, Class=Hub, Driver=hub/4p, 10000M
|__ Port 3: Dev 14, If 1, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 3: Dev 14, If 0, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 4: Dev 47, If 0, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 4: Dev 47, If 1, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 2: Dev 13, If 0, Class=Hub, Driver=hub/4p, 10000M
|__ Port 3: Dev 52, If 1, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 3: Dev 52, If 2, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 3: Dev 52, If 0, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 1: Dev 51, If 2, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 1: Dev 51, If 0, Class=Miscellaneous Device, Driver=, 5000M
|__ Port 1: Dev 51, If 1, Class=Miscellaneous Device, Driver=, 5000M
为了连接 USB 集线器,我使用了 USB-A 至 UBS-c 适配器。另请参阅此图中的摘要:
我的问题:
为什么会这样?我希望更快的端口能够完美运行。我之所以问这个问题,是因为我想设计一台符合同时运行 4 个摄像头规格的定制 PC,我通常会选择更快的端口。但我实际上应该检查哪些参数,以确保它能与其他主板/制造商兼容?
更新:
(重新添加由于迁移而丢失的图片)根据建议,我将尝试使用行业级中心:https://www.2direct.de/computer/hubs-switches/usb-3.1/3579/usb-c-3.2-gen-2-7-port-combo-hub-industrieausfuehrung 不幸的是,我们被绑定到我们环境中的一个集线器。如果此集线器仍然存在问题,我将再次更新我的帖子。
答案1
Justme 指出了该集线器上奇怪的、不合规的 USB 连接器。再加上模糊且相互矛盾的规格,以及使用 4 个 5gbit 摄像头和单个 10gbit 链路并不理想,我可能会直接扔掉它。
我之前曾设计过一台机器,用于从多个 USB 相机并行成像,其中带宽和可靠性(高速成像时不丢帧)至关重要。我发现两个选项效果很好,而且都不涉及集线器。
1. 使用系统 USB 端口
现代 PC 芯片组提供 5-10 个 USB 第一方 10gbit 端口,这些端口内置于芯片组中,因此可通过高带宽 PCIe 链路直接连接到 CPU:
这些往往性能高,兼容性强。它们也是免费的,通常是我的首选。如果您要挑选一个新系统,请选择一个带有 6 个以上 10g 端口的主板,这样您就可以开始了。
2. 购买带有 4 个独立 USB 10g 控制器的 PCIe 卡
这些卡价格更贵(> 100 美元),但您可以购买将 4 个 PCIe 通道连接到 4 个单独的 USB 10gbit 控制器的 PCIe 卡。这将为您提供最大带宽,而且根据我的经验,这些卡也往往相当可靠,没有太多兼容性问题。您可以找到更便宜的卡,但这些卡通常会共享带宽,因此可能存在与您的集线器相同的问题。考虑到您的相机成本,可能不值得为了节省 150 美元而寻找。
答案2
如果您买得起 Basler 相机,您就能买得起合适的工业 USB 集线器,并获得制造商和/或分销商等的支持。对于生产用途,不要在亚马逊上购买任何电子产品 - 这完全是个坏主意,因为除了退货之外,您没有其他补救措施。假设您收到的集线器带有假冒的 CE 标志,并且在您测试产品时会引起 EMI 问题。仅此一项就会花费您很多钱,相比之下,您可以轻松联系的公司制造的工业集线器的价格将微不足道。
据我们所知,您购买的集线器有一些电路板、固件或硅片错误,导致其行为异常。无论如何,在我看来,它看起来非常可疑。无论如何,您都需要一个合适的 USB 分析仪来弄清楚这一切,所以我强烈建议您租用一段时间,但前提是合适的 HUB 无法解决您的问题。哪个更便宜:租用分析仪一周,花费您几天的时间,还是从 DigiKey、Allied Electronics、工业供应商等处购买合适的集线器?
您还应该从 DigiKey 等目录分销商处购买 USB 电缆。如果您在亚马逊、AliExpress 等网站上购买,它们仅适合用于业余爱好,不能用于产品开发,因为 - 再次强调 - 您在故障排除上浪费的时间会抵消任何积蓄,并使项目更加昂贵。
如果这是用于业余项目,那么当然这一切都没有意义,您可以做任何您想做的事情,只需接受“嗯,它在那个端口上不起作用,很奇怪但没关系”。这对于业余项目来说很好。当将廉价的系统组件组合在一起用于业余项目时,这种解决方法相当典型。