Спецификация USB.Rev1.0

Краткий обзор


Основные потоки и модель взаимосвязи USB показаны на Рисунке 10-1.

Рисунок 10-1.  Межуровневая Модель Связи

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

Это взаимодействие клиент - функция создает требования для всех основных уровней и их интерфейсов.

Эта глава описывает эту модель с точки зрения хоста и уровней.  Рисунок 10-2 описывает, основанный на полном просмотре, представленном в Главе 5, вид хоста на связь с устройством.

Рисунок 10-2.  Связи в Хосте

Имеется только один хост в каждой USB.  Главные уровни хоста:

  • Интерфейс USB шины
  • Система USB
  • Клиент
  • Интерфейс шины USB регулирует взаимодействия на электрическом и протокольном уровнях (обратитесь к Главе 7 и Главе 8). С точки зрения взаимосвязи, подобный интерфейс USB шины обеспечивается и, устройством USB и хостом, как например Последовательный Модуль Управления Интерфейса (SIE - Serial Interface Engine). На хосте, однако, интерфейс шины USB имеет дополнительные обязательства из-за уникальной роли хоста в USB и выполняется как хост контроллер. Хост контроллер также имеет интегрированный или корневой концентратор, обеспечивающий присоединение узлов(points-точек) к хосту.

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




    Система USB имеет три базисных компонента:

    • Драйвер Хост Контроллера


    • Драйвер USB


    • Программное Обеспечение Хоста


    • Драйвер Хост Контроллера (HCD- Host Controller Driver) существует, чтобы более легко встроить(map) различные возможные реализации хост контроллера в систему USB, так чтобы клиент мог взаимодействовать с устройством без знания того, с каким хост контроллером соединено устройство. Драйвер USB (USBD- USB Driver) обеспечивает базисный интерфейс хоста (USBDI) для взаимодействия клиентов с устройствами USB.  Интерфейс между HCD и USBD известен как Интерфейс Драйвера Хост Контроллера (HCDI- Host Controller Driver Interface). Этот интерфейс никогда не доступен непосредственно клиентам и таким образом не определяется спецификацией USB. Однако особенности HCDI, определены каждой операционной системой, которая поддерживает различные реализации хост контроллера.

      USBD обеспечивает механизмы передачи данных в форме Пакетов Запроса Ввода - Вывода (IRPS), которые состоят из запроса к каналу определенному передаваемыми по нему данными.(The USBD provides data transfer mechanisms in the form of I/O Request Packets (IRPs), which consist of a request to transport data across a specific pipe.) В дополнение к обеспечению механизмов передачи данных, USBD ответственен за представление клиентам в виде абстракции устройства USB, в котором можно управлять его состоянием и конфигурацией. Как часть этой абстракции, USBD обладает создаваемым по умолчанию каналом (см. Главу 5 и Главу 9) через который обращаются ко всем устройствам USB в виде стандартного управления USB. Этот создаваемый по умолчанию канал представляет логическую связь между USBD и абстракцией устройства USB как показано на Рисунке 10-2.

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



      Клиентский уровень описывает все те сущности программного обеспечения, которые ответственны за непосредственно взаимодействие со своими периферийными устройствами. Когда каждое устройство независимо присоединено к системе, эти клиенты могли бы взаимодействовать непосредственно с периферийной аппаратурой. Общедоступные характеристики USB помещаются в стек программного обеспечения USB между клиентом и устройством; то есть клиент не может непосредственно обращаться к аппаратным средствам устройства.(The shared characteristics of USB place a USB software stack between the client and its device; that is, a client cannot directly access the device’s hardware.)

      В целом, уровни хоста обеспечивают следующие возможности:

      • Обнаружение присоединения и удаления устройств USB


      • Управление стандартный потоком управления USB между хостом и устройствами USB


      • Управление потоком данных между хостом и устройствами USB


      • Сбор статистики состояний и действий


      • Управление электрическим интерфейсом между хост контроллером и  устройствами USB, включая средство ограничения количества мощности


      • Следующие разделы описывают эти обязательства и требования, включенные в USBDI более подробно. Фактические интерфейсы, используемые для специфической комбинации платформы хоста и операционной системы описаны в соответствующем Руководстве Среды Операционной системы.

        Все концентраторы обеспечивают канал изменения состояния (см. Главу 11) по которому сообщаются изменения состояний концентраторов, и их портов.(All hubs provide a status change pipe (see Chapter 11) on which status changes for hubs and their ports are reported.) Это включает уведомление о том, что устройство USB присоединено или удалено от одного из их портов. Клиент USBD обычно, известный как драйвер концентратора, получает эти уведомления как владелец канала изменения состояния концентратора. Для присоединенных устройств, драйвер концентратора затем инициализирует процесс конфигурации устройства. В некоторых системах, этот драйвер концентратора является частью программного обеспечения хоста, предоставленного операционной системой для управляемых устройств.


        Содержание раздела