USB
- Подробности
-
Родительская категория: USB
-
Категория: Устройства USB
Устройство USB должно поддерживать все состояния, определенные спецификацией:
- «Подключено» (Attached State) — устройство подключено к хабу, но питание от шины не подано, устройство не может никак себя проявить и не управляемо хостом. Если питание от шины не используется (даже для SIE), то это состояние отсутствует;
- «Запитано» (Powered State) — устройство подключено к порту и ему подано питание, устройство может заявить о себе, подтягивая резистором линию D+ или D- к шине питания. Это промежуточная ступенька к «дежурному» состоянию;
- «Дежурное» состояние (Default State) по включению питания, подключению к порту или по сбросу от порта: устройство имеет нулевой адрес (USB Default Address) и отзывается только на обращения к EP0, потребляет от шины не более 100 мА;
- «Адресовано» (Addressed State) — запросом Set_Address ему назначен уникальный адрес на шине (1–127), но отзывается только на обращения к EP0, потребляет от шины не более 100 мА;
- «Сконфигурировано» (Configured State) — запросом Set_Configuration выбрана конфигурация, устройство отзывается на обращения ко всем точкам, описанным в данной конфигурации, и может потреблять от шины заявленный ток. При необходимости можно изменять альтернативные установки интерфесов запросом Set_Interface;
- «Приостановлено» (Suspended Mode) — устройство подключено, запитано (хотя бы по минимуму), но приостановлено (прекращение активности порта, к которому оно подключено). Ему до приостановки мог быть назначен адрес и установлена конфигурация, однако хост не может использовать функции этого устройства, пока не будет выполнено возобновление (resume), которое вернет устройство в состояние, бывшее до приостановки. В этом состоянии устройство может подать сигнал удаленного пробуждения, если оно обладает этой возможностью и хост разрешил ее использовать.
USB поддерживает динамическое конфигурирование, отслеживая подключение и отключение устройств. USB позволяет идентифицировать подключаемые устройства, определять их потребности в ресурсах (полоса пропускания, питание от шины), выбирать нужную конфигурацию и управлять устройствами, что обеспечивает полную поддержку PnP. Для этих целей определены «правила поведения» подключаемых устройств, система дескрипторов и стандартные управляющие запросы к устройствам. Ключевую роль в системе PnP играют хабы, позволяющие селективно управлять работой подсоединенных к ним сегментов шины, что требуется на этапе конфигурирования. В процессе работы шины постоянно идет процесс нумерации (enumeration) устройств, отслеживающий изменения физической топологии.