Шина USB

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

Управление энергопотреблением является весьма развитой функцией USB. Для устройств, питающихся от шины, мощность ограничена. Любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. Рабо­чий ток (не более 500 мА) заявляется в конфигурации. Если хаб не может обеспе­чить устройству заявленный ток, оно не конфигурируется и, следовательно, не может быть использовано.

Устройство USB должно поддерживать режим приостановки (suspended mode), в котором его потребляемый ток не превышает 500 мкА. Устройство должно автоматически приостанавливаться при прекращении активности шины.

Последовательные шины USB и FireWire

Возможность удаленного пробуждения (remote wakeup) позволяет приостановлен­ному устройству подать сигнал хост-компьютеру, который тоже может находить­ся в приостановленном состоянии. Возможность удаленного пробуждения описы­вается в конфигурации устройства. При конфигурировании эта функция может быть запрещена.

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

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

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

 

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *