![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Системный драйвер USB состоит из драйвера USB и драйвера хост-контроллера.
Когда клиентский уровень передает IRP уровню системного обеспечения USB, USB-драйвер преобразует их в одну или несколько транзакций шины и затем передает получившийся перечень транзакций драйверу контроллера хоста.
Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:
- планирует исполнение полученных транзакций, добавляя их к списку транзакций;
- извлекает из списка очередную транзакцию и передает ее уровню хост-контроллера интерфейса шины USB;
- отслеживает состояние каждой транзакции вплоть до ее завершения.
При выполнении всех связанных с командным пакетом транзакций системный уровень уведомляет об этом клиентский уровень.
(3) Уровень хост-контроллера интерфейса
Уровень хост-контроллера интерфейса шины USB получает отдельные транзакции от драйвера контроллера хоста (в составе уровня системного обеспечения USB) и преобразует их в соответствующую последовательность операций шины. В результате этого USB-пакеты передаются вдоль всей физической иерархии хабов (на рис. 3.1 мы изобразили последовательность хабов как одну логическую линию, но физически это может быть как один USB-кабель, так и последовательность хабов) до периферийного USB-устройства (правая часть рис. 3.1).
(4) Уровень шины периферийного устройства
Нижний уровень периферийного USB-устройства называется уровнем интерфейса шины USB. Он взаимодействует с интерфейсным уровнем шины USB на стороне хоста и передает пакеты данных от хоста периферийному устройству в формате, определяемом спецификацией USB. Затем он передает пакеты вверх — уровню логического USB-устройства.
(5) Уровень логического USB-устройства
Средний уровень периферийного USB-устройства называется уровнем логического USB-устройства. Каждое логическое USB-устройство представляется набором своих конечных точек, с которыми может взаимодействовать системный уровень USB-хоста. Эти точки являются источниками и приемниками всех коммуникационных потоков между хостом и периферийными USB-устройствами.
(6) Функциональный уровень USB-устройства
Самый верхний уровень периферийного USB-устройства называется функциональным уровнем. Этот уровень соответствует уровню клиентского обеспечения хоста. С точки зрения клиентского уровня, нижележащие уровни нужны для организации между ним и конечными точками прямых "каналов данных", которые идут вплоть до функционального уровня периферийного устройства. А с точки зрения нашей схемы функциональный уровень выполняет следующие действия:
- получает данные, посылаемые клиентским уровнем хоста из конечных точек каналов данных нижележащего уровня логического USB-устройства;
- посылает данные клиентскому уровню хоста, направляя их в конечные точки каналов данных нижележащего уровня логического USB-устройства.
Дата публикования: 2015-07-22; Прочитано: 355 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!