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

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

Передача данных осуществляется по дифференциальной линии, состоящей из проводов D+ и D-. Тактовые сигналы передаются в закодированном виде вместе с дифференциальными данными. Схема тактового кодирования – это NRZI (Non Return to Zero Invertive или метод без возврата к нулю с инвертированием) с битовой вставкой для обеспечения адекватных переходов. Поле SYNC предшествует каждому пакету, чтобы позволить приемнику синхронизировать свою систему тактирования.
Кабель также содержит провода VBUS и GND в каждом сегменте для подачи питания на устройства. Номинальное напряжение VBUS составляет +5 В. USB 2.0 позволяет использовать сегменты кабеля переменной длины, вплоть до нескольких метров,. Чтобы обеспечить гарантированные уровни входного напряжения и надлежащий импеданс, на каждом конце кабеля используются встроенные терминаторы смещения. Терминаторы также позволяют обнаруживать присоединение и отсоединение на каждом порту и различать высокоскоростные и низкоскоростные устройства.
USB является опрашиваемой шиной. Хост-контроллер инициирует все передачи данных. Большинство операций с шиной предполагает передачу до трех пакетов. Каждая транзакция начинается, когда хост-контроллер на плановой основе отправляет пакет USB, описывающий тип и направление транзакции, адрес устройства USB и номер конечной точки. Этот пакет называется «токен-пакетом». Адресуемое устройство USB выбирает себя путем декодирования соответствующих полей адреса. В данной транзакции данные передаются либо с хоста на устройство, либо с устройства на хост. Направление передачи данных указывается в токен-пакете. Затем источник транзакции отправляет пакет данных или указывает, что у него нет данных для передачи. Как правило, пункт назначения отвечает пакетом квитирования, указывающим, была ли передача успешной.
Модель передачи данных USB между хостом и конечной точкой называется каналом. Существует два типа каналов: поток и сообщение. Потоковые данные не имеют определенной USB-структуры, а данные сообщений имеют. Кроме того, каналы имеют параметры пропускной способности данных, типа службы передачи и характеристик конечной точки, таких как направленность и размеры буфера. Большинство каналов формируются при настройке устройства USB. Один канал сообщений (канал управления по умолчанию) всегда существует после включения устройства, чтобы обеспечить доступ к конфигурации устройства, состоянию и информации управления.
График транзакций позволяет контролировать поток данных для некоторых потоковых каналов. На аппаратном уровне это предотвращает переполнение буферов с помощью «рукопожатия» NAK для регулирования скорости передачи данных. Механизм управления потоком позволяет создавать гибкие графики, которые обеспечивают одновременное обслуживание разнородной смеси потоковых каналов. Таким образом, несколько потоковых каналов могут обслуживаться с разными интервалами и с пакетами разных размеров.
USB подразумевает обмен данными и управляющей информации между хостом и устройством в виде набора однонаправленных или двунаправленных каналов. Передача данных через USB происходит между ПО хоста и конкретной конечной точкой. Как правило, перемещение данных по одному каналу не зависит от потока данных в любом другом канале. У одного USB-устройства может быть много каналов. Например, конкретное устройство может содержать конечную точку, которая поддерживает канал для передачи данных на устройство USB, и другую конечную точку, которая поддерживает канал для передачи данных с устройства USB.
Архитектура USB предполагает четыре базовых вида типа информационной передачи:
- Передачи управления: применяются для настройки устройства во время подключения и могут применяться для других специфических для устройства задач, в том числе управление другими каналами устройства.
- Передачи массивов данных: используются для работы с относительно большим количеством пакетов и имеет широкую динамическую широту в ограничениях передачи.
- Передачи по прерываниям: используются для своевременной, но надежной доставки данных, например, символов или координат с воспринимаемыми человеком характеристиками эха или отклика обратной связи.
- Изохронные передачи данных: занимают заранее определенную величину пропускной способности USB с заранее определенной задержкой доставки (также называется потоковой передачей в реальном времени).
Канал поддерживает только один из типов передачи, описанных выше для любой конкретной конфигурации устройства.
© digitrode.ru