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

 

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

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

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

Запрос имеет следующие параметры:
? bmRequestType = 00100011Ь;
? bRequest = clear_feature (01Н);
? wvalue — селектор свойств порта (см. табл. 5.4);
? windex — номер порта;
П wLength = 0.
Передача данных по этому запросу не производится.
Запрос clear_port_feature допускает использование следующих селекторов: port_enable, port_suspend, port_power, c_port_connection, c_port_enable, c_port_suspend, c_port_over_current, c_port_reset.
Гпава 5. Внутренняя организация хоста и хабов
131
Сброс свойства port_suspend вызывает формирование сигнала пробуждения для порта, который находится в режиме ожидания.
После сброса свойства port_enable работа порта будет запрещена.
Сброс свойства port_power вызывает отключение питания порта.
5.1.6. Запрос GET_BUS_STAТЕ
Запрос get_bus_state используется для диагностики порта с заданным номером.
Запрос имеет следующие параметры:
? bmRequestType = 10100011b;
? bRequest = GET_STATE (02Н);
? wValue = 0;
? wlndex — номер порта;
? wLength = 1.
По этому запросу хаб возвращает один байт, состоящий из следующих битов:
? [7:2] зарезервированы и равны 0;
? [1] значение сигнала на линии D+;
? [0] значение сигнала на линии D-.
5.1.7. Запрос GET_HUB_DESCRIPTOR
Запрос get_hub_desCRiPTOR позволяет хосту получить дескриптор хаба. Запрос имеет следующие параметры:
? bmRequestType = 10100000b;
? bRequest = GET_DESCRIPTOR (06Н);
? wValue содержит тип дескриптора (29Н) в старшем байте и индекс дескриптора (00Н) в младшем байте;
П wlndex = 0;
? wLength — размер дескриптора в байтах.
По этому запросу хаб возвращает свой дескриптор, структура которого описана в разд. 5.1.2.
5.1.8. Запрос GET_HUB_STATUS
Запрос get_hub_status позволяет определить текущее состояние хаба. Запрос имеет следующие параметры:
? bmRequestType = ЮЮООООЬ;
732
Часть II. Внутренняя организация USB
? bRequest = GET_STATUS (ООН);
? wValue = 0;
? windex = 0;
? wLength = 4.
По этому запросу хаб возвращает 16-разрядное слово состояния wHubstatus
И 16-разрЯДНое СЛОВО ИНДИКаторОВ Изменения СОСТОЯНИЯ wHubChange.
Слово состояния хаба wHubstatus имеет следующую структуру:
? [15:2] зарезервированы и равны 0;
П [1] содержит признак перегрузки порта по выходному току:
• 0 — порт работает нормально;
• 1 — подключенное к порту устройство потребляет слишком много;
? [0] содержит признак неисправности встроенного источника питания хаба:
• 0 — рабочее состояние;
• 1 — встроенный источник питания выключен и хаб получает питание от шины USB.
Слово индикаторов изменения состояния хаба wHubChange имеет следующую структуру:
? [15:2] зарезервированы и равны 0;
П [1] содержит признак изменения состояния индикатора перегрузки по току c_hub_over_current (устанавливается в 1, если состояние индикатора перегрузки изменилось);
? [0] содержит признак изменения состояния встроенного источника питания c_hub_local_power (устанавливается в 1, если состояние питания изменилось).
5.1.9. Запрос GET_PORT_STATUS
Запрос get_port_status позволяет определить текущее состояние выбранного порта хаба.
Запрос имеет следующие параметры:
? bmRequestType = 1010001 lb; П bRequest = GET_STATUS (ООН);
? wValue = 0;
? windex — номер порта;
П wLength = 4.
Гпава 5. Внутренний организаций хоста и хабов
133
По этому запросу хаб возвращает 16-разрядное слово состояния порта wPortstatus и 16-разрядное слово индикаторов изменения состояния порта
wPortChangp.
Слово состояния порта wPortstatus имеет следующую структуру:
? [15:10] зарезервированы и равны 0;
? [9] содержит признак подключения LS-устройства port__low_speed (устанавливается в 1, если к порту подключено низкоскоростное устройство);
? [8] содержит индикатор состояния схемы управления энергией port_power:
• 0 — питание на устройство не подается;
• 1 — подача питания разрешена;
? [7:5] зарезервированы и равны 0;
? [4] содержит признак активности сигнала сброса port_reset (устанавливается в 1, если на шине установлен сигнал сброса);
? [3] содержит индикатор перегрузки по току popt_ovfr_current (устанавливается в 1, если устройство потребляет от порта слишком большой ток);
? [2] содержит признак состояния ожидания port_suspend (устанавливается в 1, если порт находится в режиме ожидания);
? {I] содержит признак разрешения работы port_enable-
• 0 — работа порта запрещена;
• 1 — работа порта разрешена;
? [0] содержит признак подключения port connection:
• 0 — порт свободен;
• 1 — к порту подключено устройство.
Слово индикаторов изменения состояния порта wPortchange имеет следующую структуру:
? [15:5] зарезервированы и равны 0;
? [4] содержит индикатор изменения сигнала сброса c_port_reset (устанавливается в 1 после установки или снятия сигнала сброса);
? [3] содержит индикатор изменения сигнала перегрузки по току c_port_over_current (устанавливается в 1, если состояние сигнала перегрузки изменилось);
? [2] содержит индикатор изменения состояния ожидания с port suspend (устанавливается в 1, если порт был переключен из состояния ожидания в активный режим работы или наоборот);
Предыдущая << 1 .. 43 44 45 46 47 48 < 49 > 50 51 52 53 54 55 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100