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

 

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

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

Агуров П.В. Интерфейсы USB. Практика использования и программирования — СПб.: БХВ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interface2004.djvu
Предыдущая << 1 .. 145 146 147 148 149 150 < 151 > 152 153 154 155 156 157 .. 166 >> Следующая

61-BFH - Резерв -
С0-С1H LEGSUP Поддержка совместимости (Legacy Support) R/W
C2-FFH - Резерв RO
Доступ к регистрам в/в хост-контроллера осуществляется через группу портов в/в, базовый адрес которой задан в конфигурационном регистре USBBA (табл. 18.2).
Таблица 18.2. Регистры в/в хост-контроллера
Смещение от базового адреса Обозначение Название Доступ
00-01H USBCMD Регистр команд USB (USB Command) R/W2*
02-ОЗН USBSTS Регистр состояния USB (USB Status) R/WC
04-05Н USBINTR Регистр управления прерываниями (USB Interrupt Enable) R/W
06-07Н FRNUM Регистр номера кадра (Frame Number) R/W2*
08-ОВН FLBASEADD Регистр базового адреса кадра (Frame List Base Address) R/W
OCH SOFMOD Регистр модификатора начала кадра (Start Of Frame Modify) R/W
504
Часть V. Справочник
Таблица 18.2 (окончание)
Смещение от базового Обозначение Название Доступ
адреса
10-11Н PORTSCO Регистр состояния и управления порта 0 (Port 0 Status and Control) R/WC2*
12-13Н P0RTSC1 Регистр состояния и управления порта 1 (Port 1 Status and Control) R/WC2*
* Эти регистры имеют тип dword. Запись байта в эти регистры приведет к непредсказуемым последствиям.
18.1.1. Регистр команды USB (USBCMD)
Адрес: Base + (00Н-01Н). Значение по умолчанию: 0000Н. Атрибуты: R/W. Размер: 16 бит.
Регистр команды USB (USBCMD, USB Command Register) предназначен для передачи команд хост-контроллеру и доступен как для записи, так и для чтения. Контроллер начинает выполнение команды сразу же после того, как она записана в регистр.
Назначение битов этого регистра следующее:
? [15:8] зарезервированы;
? [7] размер пакета (махр, Мах Packet) — задает максимальный размер пакета завершения кадра: 0—32 байта, 1—64 байта;
? [6] флаг завершения конфигурации (cf, Configure Flag) — флаг завершения конфигурирования контроллера. Данный разряд может быть установлен в единицу программным обеспечением после завершения процесса конфигурирования хост-контроллера. Этот флаг используется только программным обеспечением и на работу самого контроллера не влияет;
? [5] включение режима отладки (swdbg, Software Debug) — запись единицы в этот разряд включает режим отладки (debug mode), запись нуля — выключает. Включение режима отладки доступно только при сброшенном бите RS, т. е. только в приостановленном режиме контроллера. В режиме отладки контроллер останавливается после выполнения каждой транзакции и сбрасывает бит rs. Возобновление работы контроллера происходит после установки rs в единицу (программным путем);
гпава 18 Хост-контроллер UCH
505
? [4] общий выход из режима ожидания (fgr, Force Global Resume) — запись единицы в данный разряд выводит хост-контроллер и подключенные к нему устройства из режима ожидания. Устанавливать данный разряд может не только программное обеспечение, но и сам хост-контроллер — при обнаружении подключения или отключения устройства во время пребывания устройства в режиме ожидания. Снять сигнал "пробуждения" можно по прошествии не менее 20 мс после его установки, записав в данный разряд ноль. Переключение в ноль этого разряда приводит к посылке сигнала EOP по шине;
П [3] переключение в глобальный режим ожидания (egsm, Euter Global Suspend Mode) — запись единицы в данный разряд вызывает переключение хост-контроллера и всех подключенных к нему устройств в режим ожидания. В этом режиме не выполняются никакие транзакции, но контроллер может принимать сигналы удаленной побудки. Перед установкой в единицу этого бита необходимо остановить контроллер, сбросив бит rs. При выходе из режима ожидания данный бит сбрасывается в ноль программным обеспечением после сброса в ноль бита fgr;
П [2] глобальный сброс (greset, Global Reset) — запись единицы в данный разряд вызывает общий сброс хост-контроллера и всех подключенных к нему устройств. Снять сигнал сброса можно по прошествии не менее 10 мс после его установки, записав в данный разряд ноль;
П [1] сброс хост-контроллера (hcreset, Host Controller Reset) — запись единицы в данный разряд приводит к сбросу внутренних регистров хост-контроллера: обнуляется механизм обнаружения подключения и отключения устройств, блокируется работа портов контроллера. В результате происходит программное отключение подключенных к хосту устройств, биты 1 и 3 в регистрах состояния портов контроллера устанавливаются в единицу, а биты 0 и 8 сбрасываются. После завершения процесса сброса контроллер самостоятельно сбрасывает бит hcreset и разрешает обнаружение подсоединенных устройств, что приводит к соответствующему изменению битов 0 и 8 в регистрах состояния портов;
? [0] запуск/останов (rs, Run/Stop) — запись единицы в данный разряд активизирует работу контроллера (контроллер приступает к обработке и передаче данных), а запись нуля приводит к немедленной остановке контроллера и прекращению всех выполняемых операций. Контроллер сам может сбрасывать данный разряд в ноль в случае возникновения серьезных ошибок и сбоев. Этот бит используется для режима отладки (см. описание бита swdbg в разд. 18.1.1).
506
Часть V. Справочник
18.1.2. Регистр состояния USB (USBSTS)
Предыдущая << 1 .. 145 146 147 148 149 150 < 151 > 152 153 154 155 156 157 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100