Интерфейсы периферийных устройств. Ключев А.О - 197 стр.

UptoLike

196
периферийных устройств (или нижележащих хабов) и один восходящий
(upstream) порт для подключения к корневому хабу или нисходящему порту
вышестоящего хаба. Логическая топология USB – просто звезда: для хост-
контроллера хабы создают иллюзию непосредственного подключения каждого
устройства. В отличие от шин расширения (ISA, PCI, PC Card), где программа
взаимодействует с устройствами посредством обращений по физическим
адресам ячеек
памяти, портов ввода-вывода, прерываниям и каналам DMA,
взаимодействие приложений с устройствами USB выполняется только через
программный интерфейс. Этот интерфейс, обеспечивающий независимость
обращений к устройствам, предоставляется системным ПО контроллера USB.
3.10.4.1 Модель передачи данных
Каждое устройство на шине USB при подключении автоматически
получает свой уникальный адрес. Логически устройство представляет собой
набор независимых конечных точек (endpoint, ЕР), с которыми хост-контроллер
(и клиентское ПО) обменивается информацией. Каждая конечная точка имеет
свой номер и описывается следующими параметрами:
Требуемая частота доступа к шине и допустимые задержки
обслуживания.
Требуемая полоса пропускания канала.
Требования к обработке ошибок.
Максимальные размеры передаваемых и принимаемых пакетов.
Тип передачи.
Направление передачи (для передач массивов и изохронного обмена).
Каждое устройство обязательно имеет конечную точку с номером 0,
используемую для инициализации, общего управления и опроса состояния
устройства. Эта точка всегда сконфигурирована при включении
питания и
подключении устройства к шине. Она поддерживает передачи типа
«управление». Кроме нулевой точки, устройства-функции могут иметь
дополнительные точки, реализующие полезный обмен данными.
Низкоскоростные устройства могут иметь до двух дополнительных точек,
полноскоростныедо 15 точек ввода и 15 точек вывода (протокольное
ограничение). Дополнительные точки (а именно они и предоставляют полезные
для
пользователя функции) не могут быть использованы до их
конфигурирования (установления согласованного с ними канала).
Каналом (pipe) в USB называется модель передачи данных между хост-
контроллером и конечной точкой устройства. Имеются два типа каналов: потоки
и сообщения. Поток (stream) доставляет данные от одного конца канала к
другому, он всегда однонаправленный. Один и тот же
номер конечной точки
может использоваться для двух поточных каналовввода и вывода. Поток
может реализовывать следующие типы обмена: передача массивов, изохронный