Главная » Ассемблер, Железо » Дескриптор конфигурации USB

0

Стандартный дескриптор конфигурации (Standard Configuration Descriptor) содержит информацию об одной из возможных конфигураций устройства. Структура Стандартного дескриптора конфигурации показана в табл. 8.5.

Таблица 8.5. Структура Стандартного дескриптора конфигурации

Сме

Мнемо

Размер

Описание

щение

ника

 

 

0

bLength

BYTE

Размер данного дескриптора в байтах

1

bDescriptorType BYTE

Тип дескриптора (CONFIGURATION)

2

wTotalLength

WORD

Общий объем данных в байтах, возвращаемый для этой конфигурации (суммарная длина всех дескрипторов для этой конфигурации)

4

bNumlnterfaces

BYTE

Количество интерфейсов, поддерживаемых данной конфигурацией

5

bConfiguration- Value

BYTE

Значение, которое должно использоваться в качестве аргумента в запросе SET CONFIGURATION для установки данной конфигурации

6

iConfiguration

BYTE

Индекс дескриптора строки, описывающей данную конфигурацию

7

bmAttributes

BYTE

Характеристики конфигурации: биты 0-4 зарезервированы и должны содержать нули;

бит 5 — признак возможности пробуждения устройства по внешнему сигналу (устанавливается в единицу, если данная возможность поддерживается);

Таблица 8.5 (продолжение)

 

Сме- Мнемо- Размер щение ника

Описание

 

8 MaxPower BYTE

бит 6 — признак наличия собственного источника питания (0 — устройство получает питание по шине USB, 1 — имеет собственный источник питания); бит 7 зарезервирован и должен быть установлен в 1

Код мощности, потребляемой устройством от шины USB (максимальный ток в миллиамперах, потребляемый устройством от шины, вычисляется путем умножения значения данного поля на два)

 

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

Каждая конфигурация описывается одним стандартным дескриптором. Размер Стандартного дескриптора конфигурации всегда составляет 9 байт, а код типа дескриптора имеет значение 2.

ВНИМАНИЕ

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

Для определения общей длины (в байтах) возвращаемого списка дескрипторов служит поле wTotal Length. Чтобы получить весь список дескрипторов, нужно запросить от устройства первые 8 байт Стандартного дескриптора конфигурации, запомнить значение поля wTotal Length, а затем использовать это значение в качестве параметра при повторной подаче запроса.

Каждая конфигурация может иметь один или несколько интерфейсов. Количество доступных интерфейсов указывается в поле bNum- Interfaces.

Источник: Кулаков В. К90 Программирование на аппаратном уровне: специальный справочник (+дискета). 2-е издание. — СПб.: Питер, 2003. — 847 е.: ил.

По теме:

  • Комментарии