Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Периферийные устройства _ЧАСТЬ_1_Осокин.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
14.85 Mб
Скачать

1.4.2. Составляющие usb

Шина USB содержит следующие элементы: хост-контроллер, устройство, порт, хаб, корневой хаб, функцию, логическое устройство.

Хост-контроллер (Host Controller) – это главный контроллер, который входит в состав системного блока компьютера и управляет работой всех устройств, подключенных к шине USB. Для краткости его часто называют просто «хост». На шине USB допускается наличие только одного хоста. Системный блок персонального компьютера содержит один или несколько хостов, каждый из которых управляет отдельной шиной USB.

Хост имеет следующие обязанности:

  • обнаружение подключения и отключения устройств USB;

  • управление потоками данных;

  • сбор статистики;

  • обеспечение энергосбережения подключенными ПУ.

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

  • нумерацию и конфигурирование устройств;

  • изохронные передачи данных;

  • управление энергопотреблением;

  • информацию об управлении устройствами и шиной.

Устройство (Device) может представлять собой хаб, функцию или их комбинацию (Computer Device). Обычно USB-устройство представляет собой USB-функцию с портом для подключения. Примерами функций являются:

  • указатели: мышь, планшет, световое перо;

  • устройства ввода: клавиатура, сканер;

  • устройства вывода: принтер, звуковые колонки, монитор;

  • Flash USB Drive и т.д.

Спецификация USB достаточно строго определяет набор свойств, которые должно поддерживать любое USB-устройство:

1. Адресация – устройство должно отзываться на назначенный ему уникальный адрес, и только на него.

2. Конфигурирование – после включения или сброса устройство должно представлять нулевой адрес для возможности конфигурирования его портов.

3. Передача данных – устройство имеет набор конечных точек для обмена данными с хостом. Для конечных точек, допускающих разные типы передач, после конфигурирования доступна только одна из них.

4. Управление энергопотреблением – любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. При конфигурировании устройство заявляет свои потребности тока, но не более 500 мА. Если хаб не может обеспечить устройству заявленный ток, устройство не будет использоваться.

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

6. Удаленное пробуждение – возможность удаленного пробуждения (Remote Wakeup) позволяет приостановленному устройству подать сигнал хосту, который тоже может находиться в приостановленном состоянии. Возможность удаленного пробуждения описывается в конфигурации устройства. При конфигурировании эта функция может быть запрещена.

Хаб (Hub), другое название концентратор, – устройство, которое обеспечивает дополнительные порты (Port – точка подключения) на шине USB. Другими словами, хаб преобразует один порт (восходящий порт, Upstream Port) во множество портов (нисходящие порты, Downstream Ports). Архитектура допускает соединение нескольких хабов (не более 5).

Хаб является ключевым элементом системы PnP в архитектуре USB и состоит из двух частей – контроллера (Hub Controller) и повторителя (Hub Repeater). Контроллер содержит регистры для взаимодействия с хостом. Доступ к регистрам осуществляется по специальным командам обращения к хабу. Команды позволяют конфигурировать хаб, управлять нисходящими портами и опрашивать их состояние. Повторитель представляет собой управляемый ключ, соединяющий выходной порт с входным. Он имеет средства сброса и приостановки передачи сигналов.

Хаб выполняет следующие функции:

1) обеспечивает физическое подключение устройств, формируя и воспринимая сигналы в соответствии со спецификацией шины на каждом из своих портов;

2) отслеживает состояние подключенных к нему устройств, уведомляя хост об изменениях;

3) обнаруживает ошибки на шине, выполняет процедуры восстановления и изолирует неисправные сегменты шины. Хаб следит за сигналами, генерируемыми устройствами. Неисправное устройство может не вовремя «замолчать» (потерять активность) или, наоборот, что-то «бормотать» (babble). Эти ситуации отслеживает ближайший к устройству хаб и запрещает восходящие передачи от такого устройства не позже, чем на границе кадра. Благодаря этому неисправное устройство не сможет заблокировать всю шину;

4) обеспечивает связь сегментов шины, работающих на разных скоростях;

5) управляет подачей питающего напряжения на нисходящие порты, причем предусматривается установка ограничения на ток, потребляемый каждым портом.

Нисходящие порты хабов могут находиться в следующих состояниях:

1. Питание отключено (Powered off) – на порт не подается питание (возможно только для хабов, коммутирующих питание). Выходные буферы переводятся в высокоимпедансное состояние, входные сигналы игнорируются.

2. Отсоединен (Disconnected) – порт не передает сигналы ни в одном направлении, но способен обнаружить подключение устройства.

3. Запрещен (Disabled) – порт передает только сигнал сброса (по команде контроллера), сигналы от порта (кроме обнаружения отключения) не воспринимаются.

4. Разрешен (Enabled) – порт передает сигналы в обоих направлениях. По команде контроллера или при обнаружении ошибки кадра порт переходит в состояние «Запрещен», а при обнаружении отключения – в состояние «Отсоединен».

5. Приостановлен (Suspended) – порт передает сигнал перевода в состояние останова («Спящий режим»). Если хаб находится в активном состоянии, сигналы через порт не пропускаются ни в одном направлении.

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

Хаб, входящий в состав хоста, называется корневым хабом (Root Hub).

Функция (Function) – это периферийное устройство или отдельный блок периферийного устройства, способный передавать и принимать информацию по шине USB. Каждая функция предоставляет конфигурационную информацию, описывающую возможности периферийного устройства и требования к ресурсам. Перед использованием функция должна быть сконфигурирована хостом – ей должна быть выделена полоса в канале и выбраны опции конфигурации.

Логическое устройство (Logical device) USB представляет собой набор конечных точек.