Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_на_вопросы_по_экзамену__ПУ.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
3.46 Mб
Скачать

12. Стандартные дескрипторы устройства.

Дескриптор устройства (device descriptor) — это структура данных, или форматированный блок информации, который позволяет хосту получить описание устройства. Каждый дескриптор содержит информацию либо об устройстве в целом, либо о его части.

Все USB-устройства должны передавать хабу свои дескрипторы в ответ на стандартный запрос. Это означает, что любое периферийное устройство должно делать две вещи: во-первых, хранить информацию о своих дескрипторах и, во-вторых, пересылать эту информацию в ответ на запрос хаба в определенном формате.

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

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

Стандартный дескриптор устройства (Standard Device Descriptor) содержит основную информацию об USВ-устройстве в целом и обо всех существую щих конфигурациях. Устройство может иметь только один такой дескриптор. HS-устройство, содержащее различную информацию для HS- и FS-режимов, должно иметь также уточняющий дескриптор устройства.

Сме-щение

Поле

Размер

Описание

0

bLength

1

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

1

bDescriptorType

1

Тип дескриптора

(usb_device_descriptor_type)

2

bcdUSB

2

Номер версии спецификации USB в формате BCD

4

bDeviceClass

1

Код класса USB

5

bDeviceSubClass

1

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

6

bDeviсеProtocol

1

Код протокола USB

7

bMaxPacketSizeO

1

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

8

idVendor

2

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

10

idProduct

2

Идентификатор продукта

12

bcdDevice

2

Номер версии устройства в формате BCD

14

iManufacturer

1

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

15

iProduct

1

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

16

iSerialNumber

1

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

17

bNuraConfigurations

1

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

Поля стандартного дескриптора устройства подчиняются следующим правилам:

□ размер дескриптора (поле bLength) всегда составляет 18 байт;

□ код типа дескриптора (поле bDescriptorType) имеет значение 1;

□ номер версии (поле bcduse) представляется в формате BCD и может принимать следующие значения:

• 0100Н - версия 1.0;

• 0110Н — версия 1.1;

• 0200Н — версия 2.0;

□ HS-устройства должны возвращать значение версии 2.0;

□ поле кода класса (поле bDeviceCiass) может принимать следующие зна­чения:

• значение ООН обозначает, что интерфейсы функционируют независи­мо друг от друга, и каждый из них имеет собственный код класса;

• значение между 1 и FEH обозначает, что устройство поддерживает различные спецификации для интерфейсов, и интерфейсы не могут функционировать независимо;

• значение FFH обозначает, что класс устройства определяется изгото­вителем;

□ код подкласса (поле bDeviceSubciass) имеет значение 0;

□ код протокола (поле bDeviceProtocoi) имеет значение 0;

□ максимальный размер пакета для нулевой конечной точки (поле bMaxPacketsizeo) составляет 64 байта для HS и 8 байт для других режи­мов (хотя в общем случае могут использоваться значения 8, 16, 32 и 64);

□ число возможных конфигураций (поле bNumConfiguration) описывает число конфигураций только для текущей скорости работы, но не для обеих скоростей.

Идентификатор изготовителя устройства, идентификатор продукта и номер версии используются для подбора драйвера (см. разд. J0.4).

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

wValue.