Макет 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 определяется для использования конечной точки 4.
Конечные точки нельзя совместно использовать между двумя интерфейсами в конфигурации. Устройство использует адрес конечной точки для определения целевой конечной точки для операции передачи данных или конечной точки, например сброса канала. Все эти операции инициируются узлом.
Прежде чем приступить к использованию устройства, получите сведения о макете устройства. USBView — это приложение, которое позволяет просматривать все USB-контроллеры и USB-устройства, подключенные к ним. Для каждого подключенного устройства можно просмотреть дескрипторы устройств, конфигурации, интерфейса и конечных точек, чтобы получить представление о возможностях устройства.
Далее см . дескрипторы USB уровня "Стандартный".