Главная » Ассемблер, Железо » Стандартные дескрипторы USB

0

В спецификации на шину USB указана группа дескрипторов, которые должны выдаваться устройствами USB в ответ на стандартные запросы. Структура таких дескрипторов стандартизирована, а в документации они именуются стандартными дескрипторами (standard descriptors).

Дескриптор устройства

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

Таблица 8.4. Структура Стандартного дескриптора устройства

Сме

Мнемоника

Размер

Описание

щение

 

 

 

0

bLength

BYTE

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

1

bDescriptorType

BYTE

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

2

bcdUSB

WORD

Номер версии спецификации USB, которой соответствует дескриптор, представленный в двоично-десятичном формате BCD

4

bDeviceClass

BYTE

Код класса устройства USB (если в данном поле записано значение 0, то интерфейсы функционируют независимо друг от друга и каждый из них имеет собственный код класса; если в поле записано значение FFh, то класс устройства определяется изготовителем)

5

bDeviceSubClass BYTE

Код подкласса устройства USB

6

bDeviceProtocol

BYTE

Код протокола USB (если в данном поле записано значение 0, то устройство не использует специфические протоколы своего класса, однако может использовать специфическое протоколы интерфейса; если в поле записано значение FFh, то устройство использует протокол, определяемый изготовителем)

7

bMaxPacketSizeO BYTE

Максимальный размер пакета для

 

 

 

нулевой конечной точки (допускается

 

 

 

использование значений 8, 16, 32 и 64)

8

idVendor

WORD

Идентификатор изготовителя устройства

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

Сме

Мнемо

Размер

Описание

щение

ника

 

 

10

id Product

WORD

Идентификатор продукта (определяется изготовителем)

12

bcdDevice

WORD

Номер версии устройства, представленный в двоично-десятичном формате BCD

14

iManufacturer

BYTE

Индекс дескриптора строки, описывающей изготовителя

15

iProduct

BYTE

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

16

iSerialNumber

BYTE

Индекс дескриптора строки, содержащей серийный номер устройства

17

bNumConfi- gurations

BYTE

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

Некоторые поля Стандартного дескриптора устройства традиционно содержат фиксированные значения и не несут информационной нагрузки:

•    размер стандартного дескриптора всегда составляет 18 байт;

•    код типа дескриптора имеет значение 1;

•    код подкласса имеет значение 0;

•    код протокола имеет значение 0;

•    максимальный размер пакета для Основного канала сообщений всегда составляет 8 байт.

Код версии спецификации USB может принимать следующие значения: OlOOh — версия 1.0, OllOh – версия 1.1, 0200h — версия 2.0. Значение кода класса равно 9 для хабов и 0 для любых других устройств, поэтому определить тип устройства при помощи дескриптора устройства можно только в том случае, если оно является хабом, а идентификация других стандартных периферийных устройств выполняется по дескриптору интерфейса. Идентификатор изготовителя устройства, идентификатор продукта и номер версии устройства обычно представляют интерес только для разработчиков драйверов, которые работают в фирме, выпускающей данный продукт: по ним можно однозначно определить тип и марку устройства, но для этого нужно иметь доступ к фирменной документации.

Индексы дескрипторов строк используются для получения информации об устройстве в текстовом формате: при подаче запроса на получение дескриптора строки индекс дескриптора передается в младшем байте параметра wVal ue.

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

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

По теме:

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