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

Каждое устройство интерфейса USB представляет собой набор независимых конечных точек (Endpoint), с которыми хост-контроллер обменивается информацией. Конечные точки (функции в периферийном устройстве) описываются следующими параметрами:

  • требуемой частотой доступа к интерфейсу и допустимыми задержками обслуживания;
  • требуемой полосой пропускания канала;
  • номером конечной точки;
  • требованиями к обработке ошибок;
  • максимальными размерами передаваемых и принимаемых пакетов;
  • типом обмена;
  • направлением обмена (для сплошного и изохронного обменов).

Каждое устройство с интерфейсом USB обязательно имеет конечную точку с номером 0, используемую для инициализации, общего управления и опроса его состояния. Эта конечная точка всегда сконфигурирована при включении питания и подключении устройства к интерфейсу. Она поддерживает передачи типа "управление".

Кроме нулевой конечной точки, периферийные устройства-функции могут иметь конечные точки, реализующие полезный обмен данными. Низкоскоростные устройства могут иметь до двух дополнительных конечных точек, полноскоростные — до 16 конечных точек ввода и 16 конечных точек вывода (протокольное ограничение). Конечные точки не могут быть использованы до их конфигурирования (установления согласованного с ними канала).

Каналом (Pipe) в интерфейсе USB называется модель передачи данных между центральной частью системы USB (хост-контроллером) и конечной точкой (Endpoint) устройства.

Имеются два типа каналов: потоки (Stream) и сообщения (Message).

Поток доставляет данные от одного конца канала к другому, он всегда однонаправленный. Один и тот же номер конечной точки может использоваться для двух поточных каналов — ввода и вывода.

Поток может реализовывать следующие типы обмена: сплошной, изохронный и прерывания. Доставка всегда идет в порядке "первым вошел — первым вышел" (FIFO). С точки зрения интерфейса USB, данные потока не структурированы.

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

Двухсторонний обмен сообщениями адресуется к одной и той же конечной точке. Для доставки управляющих сообщений (команд) используется только обмен типа "управление".

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

Рандомно подобранные статьи с сайта:

Основы сетей передачи данных. Модель OSI и стек протоколов TCP IP. Основы Ethernet. [GeekBrains]


Похожие статьи:

admin