USB
обеспечивает обмен данными между хост-компьютером
и множеством одновременно доступных
периферийных устройств. Распределение
пропускной способности шины между
подключенными устройствами планируется
хостом и реализуется им с помощью посылки
маркеров. Шина позволяет подключать,
конфигурировать, использовать и отключать
устройства во время работы хоста и самих
устройств - динамическое ("горячее")
подключение и отключение.
Устройства
(Device) USB могут являться хабами, "функциями"
или их комбинацией. Хаб (Hub) обеспечивает
дополнительные точки подключения
устройств к шине. "Функции" (Function)
USB предоставляют системе дополнительные
возможности - например подключение к ISDN,
цифровой джойстик. акустические колонки с
цифровым интерфейсом и т.д. Устройство USB должно иметь интерфейс USB,
обеспечивающий поддержку протокола USB,
выполнение стандартных операций(конфигурирование
и сброс) и стандартное представление
информации, описывающей устройство. Многие
устройства, подключаемые к USB, имеют в своем
составе и "функции" и хабы. Работой всей системы USB
управляет хост-контроллер. являющийся
программно-аппаратной подсистемой хост-компьютера. Физическое соединение устройств
осуществляется по топологии многоярусной
звезды. Центром каждой звезды является хаб,
каждый кабельный сегмент соединяет две
точки - хаб с другим хабом или хаб с функцией.
В системе USB имеется только один хост-контроллер,
расположенный в вершине пирамиды устройств
и хабов USB. Хост-контроллер интегрируется с
корневым хабом (root
hub), обеспечивающим одну или несколько точек
подключения - портов. Контроллер USB,
входящий в состав чипсетов многих
современных системных плат обычно имеет
двух/четырехпортовый хаб.
Логически устройство подключенной к
любому хабу и сконфигурированное может
рассматриваться как подключенное напрямую
к хост-контроллеру. "Функции" представляют собой
устройства USB, способный принимать или
передавать данные или управляющую
информацию по шине. Физически в одном
корпусе может быть несколько "функций"
со встроенным хабом, обеспечивающим их подключение к одному
порту.
Каждая
"функция" предоставляет
конфигурационную информацию, описывающую
его возможности и требования к ресурсам.
Перед использованием функция должна быть
сконфигурирована хостом - ей должна быть
выделена полоса в канале, выбраны
специфические опции конфигурации.
Хаб - ключевой элемент системы Plug-and-Play в
архитектуре USB. Хаб является кабельным
концентратором, точки подключения
называются портами хаба. Каждый хаб
преобразует одну точку подключения в их
множество. Архитектура подразумевает
возможность соединения нескольких хабов.
У каждого хаба имеется один восходящий
порт (upstream port), предназначенный для
подключению к хосту или к хабу верхнего
уровня. Остальные порты являются являются
нисходящими (downstream) и предназначены для
подключения функций и хабов нижнего уровня.
Хаб может распознать подключение или
отключение устройств к этим портам и
управлять подачей питания на их сегменты.
Каждый из этих портов индивидуально может
быть разрешен или запрещен и
сконфигурирован на полную или ограниченную
скорость обмена. Хаб обеспечивает изоляцию
сегментов с низкой скоростью от
высокоскоростных. Хабы
могут иметь возможность управления подачей
питания на нисходящие порты, предусмотрена
управляемая установка ограничения на ток,
потребляемый каждым портом. Система USB
разделяется на три уровня с определенными
правилами взаимодействия. Устройство USB
делится на интерфейсную часть, часть
устройства и функциональную часть. Хост
тоже делится на три части - интерфейсную,
системную и ПО устройства. Каждая часть
отвечает только за определенный круг задач,
взаимодействие между ними показано на
рисунке 1.

Рис
1. - Взаимодействие компонентов USB