Какая топология используется для подключения USB-устройств

Обновлено: 21.11.2024

Существует множество USB-устройств, предназначенных для самых разных целей, а это означает, что детали реализации могут сильно различаться.

Устройство может иметь автономное питание, питание от шины или и то, и другое. USB может обеспечить питание до 500 мА для своих устройств. Если на шине есть только устройства с питанием от шины, максимальная рассеиваемая мощность может быть превышена, и поэтому существуют устройства с автономным питанием. У них должен быть собственный источник питания. Устройства, поддерживающие оба типа питания, могут переключаться в режим автономного питания при подключении внешнего источника питания.

Даже максимальная скорость передачи данных может различаться для отдельных USB-устройств. Спецификация USB различает низкоскоростные и полноскоростные устройства. Низкоскоростные устройства (такие как мыши, клавиатуры, джойстики и т. д.) обмениваются данными со скоростью 1,5 Мбит/с и имеют лишь ограниченные возможности. Полноскоростные устройства (такие как аудио- и видеосистемы) могут использовать до 90 % скорости 12 Мбит/с, что составляет около 10 Мбит/с, включая служебные данные протокола.

Рис. 1. Топология USB

В настоящее время разрабатывается версия 2.0 спецификации USB, которая, как ожидается, обеспечит пропускную способность до 480 Мбит/с.

Физически на задней панели компьютера имеется один, два или четыре USB-порта. Эти порты можно использовать для подключения обычных устройств или концентратора. Концентратор — это USB-устройство, которое увеличивает количество портов для подключения других USB-устройств. Максимальное количество пользовательских устройств уменьшается на количество концентраторов на шине (т. е. если вы подключаете 50 концентраторов, то можно подключить не более 77 (= 127-50) дополнительных устройств. Концентраторы всегда являются полноскоростными устройствами. Если концентратор является автономным, то к нему можно подключить любое устройство.Однако, если концентратор питается от шины, то к нему можно подключать только устройства с низким энергопотреблением (макс. 100 мА).Концентратор с питанием от шины не должен подключаться к другому концентратору с питанием от шины - вам следует чередовать концентраторы с питанием от шины и с автономным питанием.

Обычно физические порты хост-контроллера обрабатываются виртуальным корневым концентратором. Этот концентратор моделируется драйвером устройства хост-контроллера и помогает унифицировать топологию шины. Таким образом, драйвер концентратора подсистемы USB может одинаково обрабатывать каждый порт (см. рис. 1 в разделе «Устройства USB и характеристики передачи»).

Связь по USB осуществляется в двух направлениях и использует четыре разных типа передачи. Данные, направляемые с хоста на устройство, называются нисходящей передачей или передачей OUT. Другое направление называется передачей вверх по течению или IN. В зависимости от типа устройства используются разные варианты передачи:

< TR >
GET_STATUS
CLEAR_FEATURE
SET_FEATURE
SET_ADDRESS
GET_DESCRIPTOR
SET_DESCRIPTOR
GET_CONFIGURATION
SET_CONFIGURATION
GET_INTERFACE
SET_INTERFACE
SYNCH_FRAME

Дальнейшие управляющие команды могут использоваться для передачи конкретных данных поставщика.

Массовые передачи используются для запроса или отправки надежных пакетов данных до полной пропускной способности шины. Этот тип передачи используют такие устройства, как сканеры или адаптеры scsi.

Передача с прерыванием похожа на массовую передачу, которая периодически опрашивается. Если было отправлено прерывание передачи, драйвер хост-контроллера автоматически повторит этот запрос через заданный интервал (1 мс - 127 мс).

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

Получите полный доступ к PC Hardware in a Nutshell, 3rd Edition и более чем 60 000 другим играм с бесплатной 10-дневной пробной версией O'Reilly.

Есть также прямые онлайн-мероприятия, интерактивный контент, материалы для подготовки к сертификации и многое другое.

Топология USB

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

Рисунок 24-1. Топология USB.

Концентраторы USB используют два типа подключения.Восходящее соединение связывает концентратор USB с другим концентратором USB на следующем более высоком уровне. нисходящее соединение связывает концентратор USB с другим концентратором USB или с функцией USB, расположенной на следующем более низком уровне. Каждый USB-концентратор имеет один восходящий порт и может иметь до семи нисходящих портов. Через гирляндное соединение USB позволяет подключать до 127 устройств (концентраторы USB и функции USB) максимум на семи уровнях. Ограничение количества уровней требуется, чтобы гарантировать, что самое удаленное USB-устройство может обмениваться данными в пределах максимально допустимой задержки распространения, определенной в спецификации USB.

На практике редко требуется больше двух или трех .

Познакомьтесь с Кратко об оборудовании для ПК, 3-е издание прямо сейчас с онлайн-обучением O’Reilly.

Члены O’Reilly проходят онлайн-обучение в режиме реального времени, а также получают книги, видео и цифровой контент от более чем 200 издателей.

Спецификация USB находится в открытом доступе и не требует авторских отчислений. Спецификация определяет электрические и механические интерфейсы шины и разъемы.

Рисунок 1–1. Иерархия физических USB-устройств

В USB используется топология, в которой концентраторы обеспечивают точки подключения USB-устройств. Хост-контроллер содержит корневой концентратор, который является источником всех USB-портов в системе. Дополнительную информацию о концентраторах см. в разделе USB-концентраторы.

В предыдущем примере показана система с тремя активными портами USB. К первому USB-порту подключен Zip-накопитель без встроенного концентратора, поэтому вы не можете подключить дополнительные устройства. Ко второму порту USB подключен концентратор с дисководом Jaz и комбинированным устройством клавиатура/мышь. Один из портов вторичного концентратора имеет клавиатуру со встроенным концентратором, к которому подключена мышь.

Имена путей в дереве устройств для некоторых устройств, показанных в предыдущем примере, перечислены в этой таблице.

USB-устройства и драйверы

Устройства USB делятся на классы устройств. У каждого класса устройств есть соответствующий драйвер. Устройства внутри класса управляются одним и тем же драйвером устройства. Однако спецификация USB также допускает использование устройств, зависящих от производителя, которые не относятся к определенному классу. Устройства с похожими атрибутами и службами группируются.

USB-архитектура Solaris (USBA)

USB-устройства представлены в виде двух уровней узлов дерева устройств. Узел устройства представляет все USB-устройство, а один или несколько дочерних интерфейсных узлов представляют отдельные USB-интерфейсы на устройстве. В особых случаях узлы устройства и интерфейса объединяются в один комбинированный узел.

Привязка драйвера достигается за счет использования совместимых свойств имени. Дополнительную информацию см. в разделе 3.2.2.1 привязки USB IEEE 1275 и драйверов записи устройств. Драйвер может либо привязываться ко всему устройству и управлять всеми интерфейсами, либо драйвер может привязываться только к одному интерфейсу, например клавиатуре или мыши. Если ни один производитель или драйвер класса не претендует на все устройство, универсальный многоинтерфейсный драйвер USB привязывается к узлу уровня устройства. Этот драйвер пытается связать драйверы с каждым интерфейсом, используя свойства совместимых имен, как определено в разделе 3.3.2.1 привязки 1275.

На рис. 1–1 показан пример концентратора и принтера в качестве составного устройства. И хаб, и принтер заключены в один и тот же пластиковый корпус, но хаб и принтер имеют разные адреса шины USB. На той же диаграмме показан пример составного устройства. Составная клавиатура и контроллер также заключены в такой же пластиковый корпус, но имеют одинаковый адрес шины USB. В этом примере USB-мышь подключается к составной клавиатуре/контроллеру кабелем.

Архитектура Solaris USB (USBA) соответствует спецификациям USB 1.0 и 1.1, а также требованиям к драйверам Solaris. Модель USBA аналогична архитектуре Sun Common SCSI (SCSA). USBA – это тонкий уровень, который обеспечивает общую абстракцию транспортного уровня USB для клиентского драйвера.

Разница между SCSA и USBA заключается в том, что SCSA полагается на файлы .conf для проверки шины, в то время как драйверы USB-концентратора являются драйверами нексуса с самопроверкой.

Универсальная последовательная шина (USB) — это спецификация, разработанная Compaq, Intel, Microsoft и NEC, к которой позже присоединились Hewlett-Packard, Lucent и Philips. Эти компании создали некоммерческую корпорацию USB Implementers Forum, Inc. для публикации спецификаций и организации дальнейшего развития USB.

Скорость передачи данных

Спецификация USB определяет три скорости передачи данных, показанные справа. Эти скорости являются основными тактовыми частотами системы и, как таковые, не отражают возможную пропускную способность, которая всегда будет ниже из-за накладных расходов протокола.

Низкая скорость

Это было предназначено для дешевых устройств с низкой скоростью передачи данных, таких как мыши.Неразъемный кабель для низких скоростей тоньше и гибче, чем для полной и высокой скорости.

Полная скорость

Это изначально было указано для всех остальных устройств.

Высокая скорость

Высокоскоростные дополнения к спецификации были введены в USB 2.0 в ответ на более высокую скорость Firewire.

Спецификация

Текущая спецификация — «Спецификация универсальной последовательной шины, редакция 2». Его можно получить бесплатно на веб-сайте USB-IF. Обратите внимание, что эта спецификация заменяет более ранние спецификации 1.0 и 1.1, которые больше не должны использоваться. Спецификация Revision 2.0 охватывает все три скорости передачи данных и поддерживает обратную совместимость. USB 2.0 НЕ означает высокую скорость.

Нажмите здесь, чтобы ознакомиться со спецификацией.

Архитектура

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

Как указано выше, можно подключить не более 127 устройств (включая концентраторы). Это связано с тем, что поле адреса в пакете имеет длину 7 бит, а адрес 0 нельзя использовать, поскольку он имеет особое значение. (В большинстве систем полоса пропускания шины или другие ресурсы иссякнут задолго до того, как будет достигнуто 127 устройств.)

Устройство можно подключить к концентратору, а этот концентратор можно подключить к другому концентратору и т. д. Однако максимально допустимое количество уровней равно шести.

Длина любого кабеля ограничена 5 метрами. Это ограничение выражено в спецификации с точки зрения задержек кабеля и т. д., но 5 метров можно считать практическим следствием спецификации. Это означает, что устройство не может находиться дальше 30 метров от ПК, и даже для этого потребуется 5 внешних концентраторов, из которых как минимум 2 должны быть с автономным питанием.

Таким образом, USB предназначен в качестве шины для устройств рядом с ПК. Для приложений, требующих удаленности от ПК, необходима другая форма подключения, например Ethernet.

Типичный 4-портовый концентратор

Хозяин — главный

Все коммуникации на этой шине инициируются хостом.

Это означает, например, что не может быть прямой связи между USB-устройствами.

Устройство не может инициировать передачу, но должно дождаться запроса на передачу данных от хоста. Единственным исключением из этого правила является то, что когда устройство было переведено хостом в режим ожидания (состояние низкого энергопотребления), тогда устройство может сигнализировать об удаленном пробуждении.

Типы хост-контроллера

Существует три часто встречающихся типа хост-контроллеров USB, каждый из которых имеет свою историю и характеристики.

OHCI (открытый интерфейс хост-контроллера)

Компании Compaq, Microsoft и National Semiconductors совместно разработали эту стандартную спецификацию хост-контроллера для USB 1.0 и USB 1.1. Это более аппаратно-ориентированная версия, чем UHCI. Низкая скорость и полная скорость.

UHCI (универсальный интерфейс хост-контроллера)

Более программно-ориентированная версия контроллера Intel для USB 1.0 и USB 1.1. Требуется лицензия от Intel. Низкая скорость и полная скорость.

EHCI (расширенный интерфейс хост-контроллера)

Когда появился USB 2.0 с его новыми высокоскоростными функциями, USB-IF настояла на единой спецификации хост-контроллера, чтобы снизить затраты на разработку устройства. EHCI обрабатывает высокоскоростные передачи и передает низкоскоростные и полноскоростные передачи на сопутствующие контроллеры OHCI или UHCI.

На ходу

Было определено расширение спецификации USB, позволяющее устройству также стать хостом с ограниченной ролью. Эта спецификация известна как On-The-Go. Запланирована более поздняя часть, чтобы подробно рассмотреть эту спецификацию.

Обзор

Мы рассмотрели спецификацию USB с точки зрения пользователя.

Скоро.

Далее мы рассмотрим электрическую сторону вещей, включая кабели и разъемы.

Читайте также: