Системное конфигурирование

Системное конфигурирование. USBподдерживает динамическое подключение и отключение устройств.

Нумерация устройствшины является постоянным процессом, отслеживающим изменения физической топологии. Всеустройства подключаются через порты хабов. Хабы определяют подключение и отключениеустройств к своим портам и сообщают состояние портов при запросе от контроллера. Хост разрешает работу порта и адресуется к устройству через канал управления, используянулевой адрес - USB Default Address. При начальном подключении или после сбросавсе устройства адресуются именно так. Хостопределяет, является новое подключенное устройство хабом или функцией, и назначаетему уникальный адрес USB. Хост создает канал управления Control Pipe с этим устройством, используя назначенный адрес и нулевой номер точкиназначения.

Еслиновое устройство является хабом, хост определяет подключенные к нему устройства, назначает им адреса и устанавливает каналы. Если новое устройство является функцией, уведомление о подключении передается диспетчеромUSB заинтересованному ПО. Когда устройство отключается, хаб автоматически запрещаетсоответствующий порт и сообщает об отключении контроллеру, который удаляет сведенияо данном устройстве из всех структур данных. Если отключается хаб, процесс удалениявыполняется для всех подключенных к нему устройств.

Если отключается функция, уведомлениепосылается заин-тересованному ПО. Нумерация устройств, подключенных к шине Bus Enumeration, осуществляетсядинамически по мере их подключения или включения их питания без какого-либо вмешательствапользователя или клиентского ПО. Процедуранумерации выполняется следующим образом 1.Хаб, к которому подключилось устройство, информирует хост о смене состояния своегопорта ответом на опрос состояния.

С этого момента устройство переходит в состояниеAttached подключено, а порт, к которому оно подключилось, в состояниеDisabled. 2.Хост уточняет состояние порта. 3.Узнав порт, к которому подключилось новое устройство, хост дает команду сброса иразрешения порта. 4.Хаб формирует сигнал Reset для данного порта 10 мс и переводит его в состояниеEnabled. Подключенное устройство может потреблять от шины ток питания до 100 мА.Устройство переходит в состояние Powered питание подано, все его регистры переводятсяв исходное состояние, и оно отзывается на обращение по нулевому адресу. 5.Пока устройство не получит уникальный адрес, оно доступно по дежурному каналу, покоторому хост-контроллер определяет максимально допустимый размер поля данных пакета.6.Хост сообщает устройству его уникальный адрес, и оно переводится в состояниеAddressed адресовано . 7.Хост считывает конфигурацию устройства, включая заявленный потребляемый ток от шины. Считывание может затянуться на несколько кадров. 8.Исходя из полученной информации, хост конфигурирует все имеющиеся конечные точкиданного устройства, которое переводится в состояние Configured сконфигурировано. Теперь хаб позволяет устройству потреблять от шины полный ток, заявленный в конфигурации. Устройство готово.

Когдаустройство отключается от шины, хаб уведомляет об этом хост и работа порта запрещается, а хост обновляет свою текущую топологическую информацию. 9.