Как это возможно из корневого концентратора USB3.0 / USB3.1 Gen 1, о пропускной способности более 5 Гбит / с?

577
Josh

Старое название: Является ли этот USB3.0-концентратор замаскированным USB3.1 (Gen 2)? Сообщается о пропускной способности более 5 Гбит / с

Я управляю парой камер машинного зрения USB3. Каждая камера имеет разрешение 2448x2048 со скоростью 75 кадров в секунду, 8-битные данные с частотой около 3 Гбит / с. Один компьютер у меня есть, я не могу запустить обе камеры на полной скорости, на другом компьютере я могу. У меня (ранее) сложилось впечатление, что один USB3.0 / 3.1 Gen 1 концентратор был ограничен 5 Гбит / с.

Это важный вопрос, который нужно затронуть, потому что в прошлом у нас были проблемы с запуском нескольких камер с высокой пропускной способностью на так называемом «одном контроллере». Современные камеры могут легко насытить одно соединение USB3.1. В прошлом решением было добавить карту расширения PCI. Кажется, что в некоторых случаях это не нужно, и мне интересно понять, почему.

  • В предыдущих редакциях я упоминал Root Hub (к которому подключены камеры) как просто «Hub», что вызывало некоторую путаницу - мое невежество здесь, я не знал, что есть разница. Это кажется критическим.
  • Большая часть преобладающей информации в Интернете предполагает, что даже корневой концентратор должен быть ограничен 5 Гбит / с, например:

Один хост-контроллер USB почти всегда обслуживает более одного порта USB, но общая пропускная способность, доступная для этих портов, будет использоваться совместно. Подумайте об одном USB-порту с четырьмя или даже восемью портами. Общая доступная пропускная способность для любого хост-контроллера или корневого концентратора может быть примерно равна следующей (ваша пропускная способность может варьироваться):

• USB 3.0 — Total theoretical bandwidth per host controller = 5Gbps (625MB/s) • USB 3.0 — Total practical bandwidth per host controller = 3.2Gbps (~400MB/s) • USB 2.0 — Total theoretical bandwidth per host controller = 480Mbps (60MB/s) • USB 2.0 — Total practical bandwidth per host controller = 308Mbps (~36MB/s) 

С https://www.oculus.com/blog/oculus-roomscale-balancing-bandwidth-on-usb/

  • Производители материнских плат рекламируют все как USB3.0 и USB3.1. В действительности это часто USB3.1 Gen 1 (5 Гбит / с) и USB3.1 Gen 2 (10 Гбит / с). Это вызвало дальнейшее замешательство.
  • Кроме того, Windows отображает корневые концентраторы USB3.1 Gen 1 как USB3.0

Настроить:

  • Обе камеры рассчитаны на USB3.0
  • Обе камеры подключаются к материнской плате напрямую, в гнездах USB3.1 Gen 1 в соответствии с документацией по материнской плате.
  • Обе камеры подключены к одному USB Root Hub, как сообщает диспетчер устройств, например:

enter image description here

Замечания:

  • На одной машине с материнской платой Asus H110M-R я получаю ожидаемое поведение, когда одна камера работает на полной скорости (75 кадров в секунду), а другая - примерно до 7 кадров в секунду. Обе камеры находятся в одном корневом концентраторе USB3.0.

  • На другом компьютере с материнской платой Asus Impact VIII обе камеры будут работать на полной скорости (без замедления fps). Фактически мы можем подключить больше камер и увеличить скорость до 10 Гбит / с (возможно, чуть больше). Тот факт, что мы получаем 10 Гбит / с, говорит о том, что на самом деле это контроллер USB3.1 Gen 2, но Windows сообщает, что мы используем контроллер USB3.1 Gen 1 (сообщается как USB3.0). Это также может быть совпадение с ограничением пропускной способности (я был бы удивлен, если бы мы получили теоретическую пропускную способность 10 Гбит / с).

  • Ручная проверка тоже - я могу махнуть рукой перед камерами, и обе они явно работают на скорости> 50 кадров в секунду (по крайней мере).

  • Поскольку программа просмотра автоматически регулирует частоту кадров (вниз) на первом ПК, я не понимаю, почему она будет неправильной на другом. Аналогично, программное обеспечение для мониторинга полосы пропускания (Advanced USB Port Monitor) также кажется правильным, и график полосы пропускания изменяется, если мы вручную замедляем одну из камер.

Больше информации о материнских платах:

  • Impact VIII объявляется как имеющий два контроллера: USB3.1 Gen 1 и USB3.1 Gen 2. Порты физически разделены на задней панели. Есть четыре задних порта с маркировкой USB3.0 (и два на передней панели), также есть красный USB-C и USB-A с маркировкой USB3.1.
  • H110M-R имеет два порта USB3.1 Gen 1 и 6 портов USB2.
  • В Impact VIII используется контроллер Intel Sunrise Point-H USB 3.0 xHCI ( PCI\VEN_8086&DEV_a12f) и контроллер Intel Alpine Ridge DSL6540 для USB3.1 ( PCI\VEN_8086&DEV_15b6).
  • H110M-R также сообщает PCI\VEN_8086&DEV_a12fо своем контроллере USB3.0.
  • Значит, мы используем тот же тип корневого концентратора?
  • Impact VIII использует чипсет Z170, в то время как H110M-R использует чипсет H110.

PCH содержит хост-контроллер eXtensible Host Controller Interface (xHCI), который поддерживает до 14 портов USB 2.0 и до 10 портов USB 3.0 с маршрутизацией платы, таблицей ACPI и соображениями BIOS. Этот контроллер позволяет передавать данные со скоростью до 5 Гбит / с. Контроллер поддерживает трафик SuperSpeed ​​(SS), High-Speed ​​(HS), Full-Speed ​​(FS) и Low-Speed ​​(LS) на шине. Контроллер xHCI поддерживает порт USB Debug на всех портах с поддержкой USB 3.0. XHCI также поддерживает протокол SCIS с подключением USB (UASP).

Из руководства серии 100 https://www.intel.com/content/www/us/en/chipsets/100-series-chipset-datasheet-vol-1.html

Предполагая, что эти устройства действительно работают на полной скорости, некоторые мысли / возможности:

  • Использует ли Impact VIII один контроллер USB (Gen 2), который работает со всеми портами (но перечисляет как два)? Спецификация, кажется, предлагает не, и Диспетчер устройств сообщает, что есть два контроллера.
  • Может ли один контроллер USB3.0 поддерживать более 5 Гбит / с? Я предположил, что нет.
  • Может ли USB3.1-хаб рекламировать себя как USB3.0-хаб?

Однако главный вопрос - почему одна система ограничена 5 Гбит / с, а другая - нет, когда кажется, что обе используют один контроллер USB3.1 Gen 1 (того же типа), к которому подключены камеры?

Если Windows не сообщает неверно, я не использую контроллер Gen 2. Я собираюсь исследовать, чтобы увидеть, какую пропускную способность я могу реально использовать для Impact VIII.

1
Вы измерили пропускную способность или просто рассчитали? Вы уверены, что ваши камеры не делают сжатие? Какова марка и модель камер? Spiff 7 лет назад 0
@Spiff Я измерил с помощью инструмента мониторинга, который соответствует расчету. Я физически проверил их, махнув рукой вперед - они явно не работают с пониженной частотой кадров, как на других ПК. Я думал о сжатии, но я также пытался раскрыть / закрыть камеры, и скорость передачи данных остается неизменной. Замедление действительно очевидно на H110M0-R. Josh 7 лет назад 0

3 ответа на вопрос

2
Ale..chenski

Корневые хабы ничем не отличаются от обычных хабов. Общая пропускная способность корневого концентратора определяется архитектурой хост-контроллера и интерфейса данных между контроллером xHCI и внутренней матрицей, а также между физическими картами xHCI и USB (совокупность из них, которая определяет количество возможных портов). Если это оригинальный базовый контроллер USB 3.0 с физическим уровнем Gen1, пропускная способность не может превышать 5 Гбит / с.

Единственным разумным объяснением этого наблюдения является то, что чип Z170 имеет по существу ядро ​​USB 3.1 Gen2 с соответствующими шинами PIPE 10 Гбит / с внутри, но отдельные PHY способны только на скорость Gen1. Может быть много причин, по которым PHY могут быть ограничены скоростью Gen1 - нерешенные ошибки в новом протоколе кодирования, физический уровень не полностью соответствует критериям сертификации USB-IF (может быть дрожание, может быть глаз, что угодно), или десятки других недостатки, такие как сбои в управлении питанием или нестабильность обучения. Кроме того, для публики было бы очень неприятно иметь систему с 10 суперскоростными портами, урезанными на 1/10 ожидаемой пропускной способности, у людей может быть диссонанс восприятия.

Спасибо Али. У вас есть стандартизированная схема архитектуры корневого хаба? Attie 7 лет назад 0
Предположительно это все еще зависит от количества линий PCIe, предоставленных контроллеру, как предположил Атти? Например, «истинному» контроллеру Gen 2 на Impact VIII предоставляется 4 канала PCIe3 для заявленной полосы пропускания 32 Гбит / с (даже если он имеет только два физических порта). https://techreport.com/rx/2016_1_24_Asus_ROG_Maximus_VIII_Impact_MiniITX_motherboard_reviewed/05-diagram_pci_routing.gif Josh 7 лет назад 0
@ Atttie, диаграмма не в свободном доступе. Вам нужно зарегистрироваться в Synopsis, чтобы получить больше информации о DesignWare USB 3.1 IP. Более того, ядро ​​контроллера интегрировано Intel в их собственную архитектуру IOSF (межкомпонентное соединение). Чтобы получить общее представление об этой картине, https://csdl-images.computer.org/mags/mi/2015/02/figures/mmi20150200263.gif Ale..chenski 7 лет назад 0
@ Джош, линии PCIe не являются подходящими показателями, контроллер xHCI интегрирован непосредственно в IOSF, а линии PCIe используют отдельные порты. Выделение полосы PCIe используется только с внешними контроллерами xHCI. Ale..chenski 7 лет назад 0
@ Atttie, некоторые подробности об универсальном соединении между различными PHY (PIPE) можно найти здесь, https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/phy-interface. -pci-экспресс-шат-usb30-архитектур-3.1.pdf Ale..chenski 7 лет назад 0
1
Attie

Смотрите ответ Али Си ниже.


Камеры подключены к двум портам корневого концентратора . Я предполагаю, что эти порты на самом деле подключены к чипсету Z170.

Вы должны рассмотреть две вещи:

  1. «Root Hub» - это не «Hub» - это скорее вещь, которая предоставляет n портов USB.
  2. Все порты в «Root Hub» не направляются через один канал USB, как это было бы для стандартного «Hub», таким образом, если Root Hub подключен к системе с достаточной пропускной способностью, то общая пропускная способность через порты могут превышать спецификации USB.

Maximus VIII Воздействие использует набор микросхем Z170 - блок - схему, представленную ниже. Как видите, он поддерживает « до 10 портов USB 3.0 ». Z170 block diagram

H110M-R использует чипсет H110 - который поддерживает « до 4 -х USB 3.0 порта », так что я бы ожидать, подобные возможности - если вы подключены к USB материнской платы 3.0 порта непосредственно .

Но из вашей формулировки я подозреваю, что камеры подключены через физический / внешний концентратор на этом ПК ... в этом случае все данные камеры должны быть переданы по одному каналу USB 3.0 между концентратором и ПК. Если это не так, то это может быть драйвер или улучшение архитектуры между чипсетами ...


Если у корневого концентратора есть пропускная способность между ним и процессором, то общая пропускная способность портов сможет превысить пропускную способность USB 3.0.

Однако, если у вас есть Root Hub, подключенный через одну линию PCIe, то пропускная способность будет ограничена каналом PCIe (все еще только 3,9 ГБ / с для одной линии 5 линии связи), и, следовательно, два порта будут иметь только ~ 3,9 Гбит / с для игры.

Подобный эффект может быть в игре из-за соединения DMI2 H110 (5 GT / s) с ЦП против соединения DMI3 Z170 (8 GT / s).

Под хабом я имел ввиду то, что сообщает диспетчер устройств (отредактировал мой вопрос для ясности). Камеры подключены прямо к материнской плате в обоих случаях. Josh 7 лет назад 0
Это кажется довольно убедительным ответом. Отчасти это связано с тем, что я прав, полагая, что концентратор USB3.1 Gen 2 (не корневое устройство) будет по-прежнему ограничен 5 Гбит / с, если к нему подключено несколько устройств USB3.0? Josh 7 лет назад 0
Правильно, так что вы можете запускать 2x 3.0 / 3.1 Gen 1 устройства на полной скорости на концентраторе 3.1 Gen 2. Несмотря на то, что это похоже на поддержку чипсета, доступно очень мало концентраторов Gen 2 для покупки. Josh 7 лет назад 0
Я был бы осторожен с этим предположением. Было бы неплохо подумать, что вы могли бы разместить два устройства с полной пропускной способностью USB 3.0 по одному каналу USB 3.1 ... но у меня есть чувство (не цитируйте меня), что это не сработает. Attie 7 лет назад 0
@Ramhound - это правильно, этот ответ предполагает, что причина, по которой я вижу пропускную способность выше ожидаемой, может заключаться в том, что я подключен к корневому концентратору USB3.1 Gen 1. Что заставило меня спросить, ожидаете ли вы похожего поведения (ограничено 10 Гбит / с) при использовании «обычного» концентратора Gen 2. Josh 7 лет назад 0
@ Atttie Я уверен, что из-за накладных расходов протокола вы не могли максимально использовать, но похоже, что вы можете сделать лучше, чем один, что может быть полезно. В этом случае камеры «только» используют скорость около 3 Гбит / с, поэтому концентратора Gen 2, вероятно, будет достаточно для насыщения двух подключений USB3.0. Josh 7 лет назад 0
Неправильный ответ, домыслы. Пропускная способность ограничена общей шиной PIPE, общей для всех PHY портов, и согласована с механизмом мастеринга шины контроллера. Ale..chenski 7 лет назад 0
Спасибо за информацию и ваш ответ @ Али ... Я проголосовал за ваш ответ и укажу на него от моего. Attie 7 лет назад 0
0
magicandre1981

Согласно идентификаторам оборудования ( PCI\VEN_8086&DEV_15b6), это контроллер Alpine Ridge (DSL6540), который действительно является USB 3.1-Gen2 / Thunderbolt3.

http://imgur.com/a/g9rvn

Таким образом, этот USB3.0 происходит из универсального драйвера USB3.x от Windows 10, так что это должно быть только проблема отображения в диспетчере устройств.

Windows сообщает о двух концентраторах - Intel, USB3.0 и USB3.1. Josh 7 лет назад 0
опубликовать изображение всех устройств USB 3.x в диспетчере устройств. также используйте http://www.uwe-sieber.de/usbtreeview_e.html и опубликуйте картинку. magicandre1981 7 лет назад 0
http://imgur.com/a/LBUPs Порты 21/22. Диспетчер устройств имеет одинаковые имена концентраторов. Josh 7 лет назад 0
выберите контроллер USb3.1 и опубликуйте изображение деталей magicandre1981 7 лет назад 0
http://imgur.com/a/g9rvn Josh 7 лет назад 0
Хорошо, в соответствии с идентификаторами оборудования, это контроллер Alpine Ridge (DSL6540), который действительно [USB 3.1-Gen2 / Thunderbolt3] (https://ark.intel.com/products/87402/Intel-DSL6540-Thunderbolt-3 -Controller). так что этот USB3.0 происходит из универсального драйвера USB3.x из Windows 10, так что это должно быть только проблема отображения в диспетчере устройств magicandre1981 7 лет назад 0
Но это не то, к чему подключены камеры :) Это другое: https://vendev.org/pci/ven_8086&dev_a12f/ Josh 7 лет назад 0
«Почему одна система ограничена 5 Гбит / с, а другая нет, если обе системы используют один контроллер USB3.1 Gen 1 одного типа?» 1 контроллер поколения 2 с 10 Гбит / с, один контроллер поколения 1 с 5 Гбит / с magicandre1981 7 лет назад 0
Я понял, но камеры подключены только к контроллеру Gen 1 в каждой системе. Контроллер Gen 2 отдельный и неиспользуемый (как показывает дерево устройств). Разве я что-то здесь упускаю? Josh 7 лет назад 0