Макет USB-устройства
Устройство универсальной последовательной шины (USB) определяет свои возможности и функции с помощью конфигураций, интерфейсов, альтернативных параметров и конечных точек. В этой статье представлен общий обзор этих понятий.
Конфигурация USB определяет возможности и функции устройства, в основном его возможности питания и интерфейсы. Устройство может иметь несколько конфигураций, но только одна активна одновременно. Активная конфигурация не выбирается стеком драйверов USB, но может быть инициирована приложением, драйвером или драйвером устройства. Драйвер устройства выбирает активную конфигурацию.
Конфигурация может иметь один или несколько ИНТЕРФЕЙСов USB , определяющих функциональность устройства. Как правило, между функцией и интерфейсом существует корреляция "один к одному". Однако некоторые устройства предоставляют несколько интерфейсов, связанных с одной функцией. В этом случае устройство может иметь дескриптор связи интерфейса (IAD). IAD группирует интерфейсы, принадлежащие определенной функции.
Каждый интерфейс содержит одну или несколько конечных точек, которые используются для передачи данных на устройство и с устройства. Кроме того, интерфейс содержит альтернативные параметры , определяющие требования к пропускной способности функции, связанной с интерфейсом. Подытожим, что группа конечных точек формирует интерфейс, а набор интерфейсов представляет собой конфигурацию на устройстве.
Итак, что означает выбор активной конфигурации? Во время инициализации устройства драйвер устройства для USB-устройства должен выбрать конфигурацию, один или несколько интерфейсов в этой конфигурации и альтернативный параметр для каждого интерфейса. Большинство USB-устройств не предоставляют несколько интерфейсов или альтернативных параметров. Например, устройство OSR USB FX2 Learning Kit имеет один интерфейс с одним альтернативным параметром и тремя конечными точками. Дополнительные сведения о комплекте обучения см. в разделе OSR Online.
Устройство с одним интерфейсом
На этой схеме показана конфигурация устройства с одним интерфейсом:
В этом примере на схеме показана конечная точка 0, называемая конечной точкой по умолчанию. Все USB-устройства должны иметь конечную точку по умолчанию, которая используется для передачи управления (см. раздел Передача элементов управления USB). Конфигурация 0 имеет один интерфейс: Интерфейс 0 с одним альтернативным параметром. Альтернативный параметр 0 использует все три конечные точки в интерфейсе .
Устройство с несколькими интерфейсами
Для многофункциональных устройств устройство имеет несколько интерфейсов. Чтобы использовать определенную функцию или интерфейс, драйвер клиента выбирает интерфейс и соответствующий альтернативный параметр. Рассмотрим многофункциональное USB-устройство, например веб-камеру. Устройство имеет две функции: видеозахват (камера) и аудиовход (микрофон). Устройство определяет конечную точку в видеоимике, которая выполняет потоковую передачу видео. Устройство имеет другую конечную точку в отдельном интерфейсе, который принимает аудиовход через микрофон. Конфигурация устройства включает оба этих интерфейса.
На этой схеме показана конфигурация веб-устройства:
В этом примере на схеме показана конечная точка по умолчанию. Конфигурация 0 имеет два интерфейса: интерфейс 0 и интерфейс 1. Интерфейс 0 имеет три альтернативных параметра. В любой момент времени активен только один из альтернативных параметров. Обратите внимание, что альтернативный параметр 0 не использует конечную точку, тогда как альтернативные параметры 1 и 2 используют конечную точку 1. Как правило, видеокамера использует изохронную конечную точку для потоковой передачи. Для этого типа конечной точки, когда конечная точка используется, пропускная способность зарезервирована в шине. Если камера не выполняет потоковую передачу видео, драйвер клиента может выбрать альтернативный параметр 0, чтобы сэкономить пропускную способность. Когда веб-камера выполняет потоковую передачу видео, драйвер клиента может переключиться на альтернативный параметр 1 или альтернативный параметр 2, который обеспечивает более высокое качество и потребляет большую пропускную способность шины. Интерфейс 1 имеет два альтернативных параметра. Как и в интерфейсе 0, альтернативный параметр 0 не использует конечную точку. Альтернативный параметр 1 определяется для использования конечной точки 1.
Конечные точки нельзя совместно использовать между двумя интерфейсами в конфигурации. Устройство использует адрес конечной точки для определения целевой конечной точки для передачи данных или операции конечной точки, например сброса канала. Все эти операции инициируются узлом.
Прежде чем приступить к использованию устройства, получите сведения о макете устройства. USBView — это приложение, которое позволяет просматривать все USB-контроллеры и ПОДКЛЮЧЕННЫе к ним USB-устройства. Для каждого подключенного устройства можно просмотреть дескрипторы устройства, конфигурации, интерфейса и конечной точки, чтобы получить представление о возможностях устройства.
Далее см. раздел Стандартные дескрипторы USB.