Я работаю над проектом, в котором используются 18 высококачественных зеркальных фотоаппаратов, подключенных к ПК через USB.
Во время разработки система работала под управлением USB2, никаких проблем не возникло, но когда мы перешли на систему с USB3.0, мы начали получать следующую ошибку, в результате которой распознавались только 11 камер.
Конфигурация такова, что камеры подключаются к концентратору USB3 с питанием (что-то вроде этого), что позволяет подключать 7 устройств. В системе их три - все с питанием, но будут поддерживать только около 11 подключенных устройств (стоит два с небольшим концентратора). Мы уверены, что это проблема с питанием, но все концентраторы подключены к питанию, а камеры также подключены к сетевым адаптерам.
На данный момент нам нужно вернуться к USB2, но скорость передачи означает, что процесс захвата фотографий значительно увеличился - каждый файл изображения составляет около 23 МБ, и загрузка всех файлов может занять около 20 секунд.
Я надеюсь, что есть способ обойти это ограничение с оборудованием Intel - другой драйвер или другой контроллер вообще.
заранее спасибо
На большинстве контроллеров Intel XHCI установлено аппаратное ограничение в 96 конечных точек. Меня не удивит, если каждая камера использует 8 конечных точек, что довольно типично для сложных современных устройств. Хабы также занимают конечные точки. Вы можете подтвердить это с помощью USBView. Это аппаратное ограничение контроллера, и его нельзя обойти.
Во-первых: я не знаю, может ли быть ошибка / ограничение функции на вашем хост-контроллере USB или ограничение спецификации (в случае устройств, концентраторов в ряду) изменение в USB2 против USB3 (ответ Давидса, похоже, показывает ограничение контроллера Intel )
Технически мой ответ - это информация о USB2.0, которую я даю, но она может помочь вам получить некоторые идеи, где искать.
Убедитесь, что вы не используете слишком длинные кабели между хостом и концентраторами, дешевые кабели вызвали для нас большое количество проблем даже при длине 3 м, в то время как спецификации USB2.0 позволяют использовать кабель 5 м, пока вам не понадобится «концентратор». Измерьте выходную мощность. кабелей USB. В большинстве случаев концентраторы с 7 портами на самом деле имеют 2 концентратора внутри ряда корпуса. Поэтому вы должны проверить, какой порт на вашем концентраторе подключен к «первичному» и «вторичному» концентратору.
Кроме того, вы не можете поставить более 5 концентраторов в ряд (включая корневой концентратор + возможно, уже другой концентратор на вашей материнской плате, прежде чем вы даже достигнете USB-разъема)
в нашей настройке мы были ограничены 3 дополнительными концентраторами на порт. Однако даже при активном источнике питания на концентраторах и хорошем кабельном соединении у нас были проблемы, если мы добавили более 1 концентраторов 7er (= 7 устройств) на физический USB-порт материнской платы.
Наше решение заключалось в подключении сервера с 5 картами PCI 4x USB, что позволило нам объединить 110 устройств на сервер.
Мы решили ту же проблему, установив внутреннюю 4-портовую карту расширения PCI-Express с автономным питанием. Но только если на вашем компьютере есть слот расширения PCIe. Это добавляет дополнительный хост-контроллер, поскольку Intel достиг своего предела.