Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Архитектура системного драйвера USB



Системный драйвер 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; Прочитано: 339 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...