Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 48

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — СПб.: БХВ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interface2004.djvu
Предыдущая << 1 .. 42 43 44 45 46 47 < 48 > 49 50 51 52 53 54 .. 166 >> Следующая

Таблица 5.1. Структура дескриптора хаба
Сме- Поле Размер Описание
щение
0 bLength 1 Размер дескриптора в байтах
1 bDescriptorType 1 Тип дескриптора (29H)
2 bNbrPorts 1 Количество нисходящих портов
3 wHubCharacteristics 2 Характеристики хаба
5 bPowerOnToPowerGood 1 Время стабилизации напряжения
6 bHubContrCurrent 1 Величина тока (мА), потребляемого контроллером хаба
7 DeviceRemovable K Битовая карта подключения съемных устройств к портам
7 + К PortPwrCtrlMask K Маска контроля питания портов
Листинг 5 1 Дескриптор хаба і
// Описание на языке С
typedef struct _USB_HUB_DESCRIPTOR {
UCHAR bDescriptorLength; Il Длина этого дескриптора
UCHAR bDescriptorType; Il Тип хаба
UCHAR bNumbe r0 f Por t s; Il Число портов хаба
USHORT wHubCharacteristics; I/ Характеристики
UCHAR b Powe rOnTo Powe rGood; Il Время стабилизации
UCHAR bHubControlCurrent; Il Максимальное потребление (мА)
UCHAR bRemoveAndPowerMask[ 64] // Маска
} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR; /I Описание на языке Pascal
THubDescriptor = packed record
bDescriptorLength : Byte; II Длина этого дескриптора bDescriptorType : Byte; // Тип хаба
bNumberOfPorts : Byte; // Число портов хаба
128
Часть II. Внутренняя организация USB
wHubCharactenstics : Word; Il Характеристики
bPowerOnToPowerGood : Byte; II Время стабилизации
bHubControlCurrent : Byte; II Максимальное потребление
bRemoveAndPowerMask : Array [1..64] of Byte; Il Маска End;
Поле характеристик хаба (поле wHubCharactenstics) состоит из следующих битов:
? [15:5] зарезервированы;
? [4:3] режим защиты от перегрузок:
00 — глобальная защита от перегрузки по сумме токов всех портов;
10 — индивидуальная защита для каждого порта;
01 — защита отсутствует;
11 — защита отсутствует; [2] признак составного устройства:
0 — хаб является самостоятельным устройством;
1 — хаб входит в состав периферийного устройства; [1:0] логический режим управления питанием:
00 — подача питания включается одновременно для всех портов;
10 — возможно индивидуальное управление питанием для каждого порта;
01, 11 — у хаба отсутствует схема управления энергией.
Поле bPowerOnToPowerGood содержит величину временного интервала от подачи команды включения питания до стабилизации напряжения на выходе порта, заданную с шагом 2 мс.
Битовая маска подключения съемных устройств (поле DeviceRemovabie) побиттю соответствует каждому из портов:
? бит 0 зарезервирован;
? бит 1 соответствует порту 1;
? бит 2 соответствует порту 2 и т. д.
Если бит имеет значение 0, к порту подключено съемное устройство, если 1 — несъемное.
Последнее поле (PortPwrCtriMask) содержит маску питания портов (каждому порту соответствует один бит маски). В спецификации USB 2.0 это поле не используется и оставлено для совместимости с USB 1.1 (все разряды заполнены единицами).
Гпава 5. Внутренняя организация хоста и хабов
129
5.1.3. Запросы хабов
Спецификация USB определяет несколько запросов, специфических для хабов. Эти запросы формируются из кода запроса (табл. 5.2) и селектора свойств (табл. 5.3, 5.4).
Таблица 5.2. Запросы хабов
Код Запрос Описание
0 get status Определить состояние устройства
1 clear feature Сбросить свойство
2 get_state Получить состояние устройства
3 set_feature Установить свойство
6 get descriptor Получить дескриптор
7 set descriptor Загрузить дескриптор
Таблица 5.3. Селекторы свойств хабов
Код Запрос Описание
0 c hub local power Признак изменения состояния встроенного источника питания
1 c hub over__current Признак изменения состояния индикатора перегрузки по току
Таблица 5.4. Селекторы свойств портов
Код Запрос Описание
0 port__connection К порту подключено устройство
1 port enable Работа порта разрешена
2 port_suspend Порт находится в режиме ожидания
3 port__over current Перегрузка по току
4 port reset Установлен сигнал сброса
8 port power Питание включено
9 port low speed Порт работает в низкоскоростном режиме
16 c portjx)nnection Признак изменения состояния подключения
17 c port_enable Признак выполнения операции разрешения или запрета работы порта
730 Часть II. Внутренняя организация USB
Таблица 5.4 (окончание)
Код Запрос Описание
18 c_p0rt_ _suspend Признак переключения из состояния ожидания в активный режим или наоборот
19 c_p0rt 0ver_current Признак изменения состояния индикатора перегрузки по току
20 с port _reset Признак того, что сигнал сброса был установлен или снят
5.1.4. Запрос CLEAR_HUB_FEATURE
Запрос clear_hub_feature используется для сброса признака состояния хаба, указанного значением селектора свойств.
Запрос имеет следующие параметры:
? bmRequestType = ООЮООООЬ;
? bRequest = CLEAR_feATURE (01Н);
? wvalue — селектор свойств хаба (см. табл. 5.3);
? windex = 0;
? wLength = 0.
Передача данных по этому запросу не производится.
5.1.5. Запрос CLEAR_PORT_FEATURE
Запрос clear_port_feature используется для сброса признака состояния порта хаба, указанного значением селектора свойств.
Предыдущая << 1 .. 42 43 44 45 46 47 < 48 > 49 50 51 52 53 54 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100