Короткий ответ: вам действительно нужен концентратор Multi-TT для этого приложения, где 2 или более ваших USB-устройств, вероятно, имеют скорость 12 Мбит / с. Ищите «Multi-TT» на Amazon, Newegg или других сайтах, чтобы найти эти хабы.
К сожалению, эта важная техническая деталь редко упоминается. Большинство концентраторов используют более дешевую конструкцию Single-TT. Хорошие Multiple TT редко рекламируются как имеющие эту функцию, даже не отмеченные на упаковке. К сожалению, большинство людей, вероятно, даже никогда не слышали ТТ, и поэтому маркетологи не удосужились сказать вам, какой дизайн используют их хабы.
Вы можете проверить, имеет ли ваш концентратор эту функцию с помощью диспетчера устройств Windows. Найдите на вкладке «Дополнительно» слова «Hub имеет несколько TT».
В Linux тип концентратора можно проверить с помощью «lsusb -v | grep TT». Я не знаю ни одного простого способа проверить Macintosh, кроме утилиты «USB Prober», которую Apple публикует в своих инструментах разработки XCode.
TT расшифровывается как Transaction Translator. Детали сложны и полностью задокументированы в главе 11 спецификации USB, которую можно бесплатно загрузить с www.usb.org. Но в двух словах, TT конвертирует между 480 Мбит / с вашего ПК в более медленные скорости 12 или 1,5 Мбит / с.
Обычно, когда вы играете на этих музыкальных инструментах, их контроллеры генерируют MIDI-сообщения и затем упаковывают их в буферы памяти, которые ждут момента, когда ваш компьютер запросит данные. Когда ваш компьютер подключается напрямую, он отправляет сообщение, называемое токеном IN, на ваш прибор. Ваш прибор может ответить на токен IN двумя способами: либо пакетом DATA, либо токеном NAK, чтобы указать отсутствие данных. Ваш ПК очень быстро отправляет эти токены IN, поэтому в результате вы получаете почти мгновенную доставку музыкальных событий в виде MIDI-сообщений.
Однако, когда ваше MIDI-устройство с пропускной способностью 12 Мбит / с подключается через концентратор USB 2.0, происходит совсем другое взаимодействие, все со скоростью 480 Мбит / с. Ваш ПК фактически общается с Transaction Translator в хабе. Отправляет 2 сообщения. Сначала сообщение SSPLIT (Start Split Transaction) отправляется на TT. Если ТТ не занят, он отправляет подтверждение. Затем TT передает токен IN на вашу MIDI-клавиатуру со скоростью 12 Мбит / с. Между тем, ваш компьютер может обмениваться данными с другими устройствами со скоростью 480 Мбит / с. Ваша MIDI-клавиатура не может определить, пришел ли токен IN непосредственно с вашего ПК или с ТТ концентратора. Он делает то же самое, что и при подключении к компьютеру. ТТ внутри концентратора получает ответ NAK или DATA. Пока это происходит, ваш компьютер начинает отправлять сообщения CSPLIT (Complete Split Transaction) на ТТ концентратора. ТТ отвечает специальным токеном NYET, если ТТ все еще занят передачей данных со скоростью 12 Мбит / с или NAK или DATA с клавиатуры.
Если у вас есть подключенная и MIDI-клавиатура, и MIDI-барабан, что произойдет, если ваш ПК захочет отправить сообщение SSPLIT, чтобы попросить TT связываться с барабанами, но TT уже занят связью с клавиатурой? Только с одним TT концентратор может ответить NYET на новый запрос SSPLIT, потому что он занят выполнением IN + DATA со скоростью 12 Мбит / с. Вы определенно не хотите такой сценарий!
Несколько концентраторов TT имеют выделенный TT на каждом выходном порту (в который вы подключаете устройства). При наличии нескольких TT концентратор всегда может принять запрос SSPLIT, даже когда другие TT заняты связью с другими нисходящими устройствами. При наличии только одного ТТ ваш компьютер может в конечном итоге ожидать даже при пропускной способности 480 Мбит / с, поскольку концентратор имеет ограниченную способность преобразовывать более 1 сообщения за раз между различными скоростями.
В этом описании скрыты многие важные проблемы синхронизации USB, связанные с обработкой TT, но важным моментом является то, что концентраторы USB 2.0 могут использовать два совершенно разных дизайна. Вы действительно хотите избежать более дешевых концентраторов Single-TT.
Скорости USB 3.0 и 3.1 были упомянуты в других местах в этих ответах. Но ТТ в концентраторе никогда не конвертируются между 5 или 10 гигабитными скоростями и 480, 12 или 1,5 скоростями. Вместо этого концентраторы USB 3.0 и 3.1 работают как пара концентраторов. Гигабитные сигналы имеют собственные выделенные контакты в новых разъемах USB, которые подключаются к концентратору, который работает только на скорости 5 или 10 Гбит / с. Одновременная связь 480 Мбит / с происходит на исходных выводах, поэтому устройства со скоростью 12 и 1,5 Мбит / с преобразуются в ТТ с 480 Мбит / с, но никогда - в 5 или 10 Гбит / с.
В другом месте также упоминается «низкая скорость», что технически означает 1,5 Мбит / с на жаргоне USB, но может означать 1,5 или 12 Мбит / с в обычном разговоре. 12 Мбит / с в терминологии USB называется «полная скорость». Протокол USB MIDI, который технически является частью «спецификации звукового класса», использует «общий» протокол (а не протокол прерывания, как утверждается в другом ответе). Спецификация USB не допускает протокол массовой передачи на скорости 1,5 Мбит / с. Таким образом, если устройство USB MIDI очень сильно не нарушает скорость USB, оно всегда будет по крайней мере со скоростью 12 Мбит / с. Скорость USB MIDI может составлять 480 Мбит / с, в этом случае ТТ не применяются. Но подавляющее большинство продуктов USB MIDI сегодня все еще имеют скорость 12 Мбит / с.
Поэтому вы действительно хотите убедиться, что ваши USB-концентраторы относятся к типу Multi-TT, если вы планируете максимизировать производительность.