Аппаратные интерфейсы ПК

Модель передачи данных


Каждое устройство на шине USB (их может быть до 127) при подключении авто­матически получает свой уникальный адрес. Логически устройство представляет собой набор независимых конечных точек (endpoint, ЕР), с которыми хост-кон­троллер (и клиентское ПО) обменивается информацией. Каждая конечная точка имеет свой номер и описывается следующими параметрами:

¦     требуемая частота доступа к шине и допустимые задержки обслуживания;

¦     требуемая полоса пропускания канала;

¦     требования к обработке ошибок;

¦     максимальные размеры передаваемых и принимаемых пакетов;

¦     тип передачи;

¦     направление передачи (для передач массивов и изохронного обмена).

4.1. Шина USB_______________________________________________________ 95

Каждое устройство обязательно имеет конечную точку с номером 0, используемую для инициализации, общего управления и опроса состояния устройства. Эта точ­ка всегда сконфигурирована при включении питания и подключении устройства к шине. Она поддерживает передачи типа «управление» (см. ниже). Кроме нулевой точки, устройства-функции могут иметь дополнительные точки, реализующие полезный обмен данными. Низкоскоростные устройства могут иметь до двух дополнительных точек, полноскоростные — до 15 точек ввода и 15 точек вывода (протокольное ограничение). Дополнительные точки (а именно они и пре­доставляют полезные для пользователя функции) не могут быть использованы до их конфигурирования (установления согласованного с ними канала).

Каналом (pipe) в USB называется модель передачи данных между хост-контрол­лером и конечной точкой устройства. Имеются два типа каналов: потоки и сооб­щения. Поток (stream) доставляет данные от одного конца канала к другому, он всегда однонаправленный. Один и тот же номер конечной точки может использо­ваться для двух поточных каналов — ввода и вывода. Поток может реализовывать следующие типы обмена: передача массивов, изрхронный и прерывания. Сообще­ние (message) имеет формат, определенный спецификацией USB. Хост посылает запрос к конечной точке, после которого передается (принимается) пакет сообще­ния, за которым следует пакет с информацией состояния конечной точки. Последу­ющее сообщение нормально не может быть послано до обработки предыдущего, но при отработке ошибок возможен сброс необслуженных сообщений. Двусторон­ний обмен сообщениями адресуется к одной и той же конечной точке.

С каналами связаны характеристики, соответствующие конечной точке (полоса пропускания, тип сервиса, размер буфера и т. п.). Каналы организуются при кон­фигурировании устройств USB. Для каждого включенного устройства существу­ет канал сообщений (Control Pipe 0), по которому передается информация кон­фигурирования, управления и состояния.



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