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

 

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

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

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

Назначение битов этого регистра следующее:
? [7] зарезервирован;
? [6:0] регистр SOFTV (SOF Timing Value).
Значение SOFTV складывается с числом 11 936, в результате чего формируется делитель частоты кварцевого резонатора генератора тактовой частоты. Частота кварцевого резонатора составляет 12 МГц, поэтому значение по умолчанию (40H) соответствует 1 кГц. Изменяя значение модификатора от 0 до 127, можно осуществить подстройку частоты кадров USB в пределах ± 0,5%.
гпава 18. Хост-контроллер UCH
509
18.1.7. Регистр состояния и управления порта (PORTSC)
Адрес: Base + (ЮН-ПН) - PORTSC0.
Base + (12Н-13Н) - PORTSC1. Значение по умолчанию: 0080Н. Атрибуты: R/W2. Размер: 16 бит.
Регистр состояния и управления порта (portsc, Port Status and Control Register) позволяет контролировать режим работы хост-контроллера. Регистры PORTSCO и PORTSCi доступны для записи и чтения. Запись данных может производиться только словом.
Назначение битов этого регистра следующее:
? [15:13] зарезервированы;
? [12] признак режима ожидания (Suspend) — устанавливается в единицу, когда порт находится в режиме ожидания. Бит доступен для чтения и записи и может использоваться для программного перевода порта в режим ожидания. Этот бит не может быть установлен в единицу, если установлен глобальный режим ожидания (бит 3 в регистре usbcmd). Этот бит вместе с битом 2 определяет состояние хаба:
• [12,2] = хО — выключен;
• [12,2] = Ol — включен;
• [12,2] = 11 — режим ожидания.
В режиме ожидания любые транзакции и передачи данных на нисходящий порт блокируются. Исключение составляют команды сброса (глобальный сброс или сброс порта). При установке режима ожидания этот бит устанавливается не сразу, а после завершения текущей активной транзакции;
? [11:10] зарезервированы;
? [9] сброс порта (Port Reset) — бит сброса порта устанавливается в единицу при подаче команды сброса и находится в этом состоянии до тех пор, пока процедура сброса не будет завершена;
? [8] признак LS-устройства (Low Speed Device Attached) — этот бит доступен только для чтения и устанавливается в единицу, если к порту подключено низкоскоростное устройство;
? [7] зарезервирован, всегда имеет значение 1;
? [6] признак наличия сигнала пробуждения (Resume Detect) — этот бит доступен для чтения и установки. Хост-контроллер устанавливает этот бит в единицу при обнаружении сигнала пробуждения; программное обеспече-
510
Часть V. Справочник
ниє устанавливает этот бит для формирования сигнала пробуждения. Если этот бит имеет значение 1, запись нуля приводит к посылке низкоскоростного сигнала ЕОР, но бит остается в единице до окончания ЕОР;
? [5:4] состояние линии (Line Status) — бит 4 отражает текущее состояние линии D+, а бит 5 — состояние линии D—. Эти биты доступны только для чтения;
? [3] признак изменения активности порта (Port Enable/Disable Change) — значение этого бита равно нулю, если состояние порта не изменялось и равно единице, если произошло включение или отключение порта. Запись единицы в этот бит сбрасывает его в ноль;
? [2] включение/выключение порта (Port Enable/Disable) — значение 1 включает работу порта, а 0 — выключает. Данный разряд доступен как для чтения, так и для записи. Запись нуля (блокировка порта) может выполняться как программным обеспечением, так и хост-контроллером (при возникновении сбоя в работе порта), а запись единицы (включение порта) — только программным обеспечением. Состояние данного разряда не изменится, пока не изменится реальное состояние порта (возможна задержка срабатывания);
? [1] признак изменения статуса подключения (Connect Status Change) — устанавливается в единицу при любых изменениях текущего статуса подключения. Этот разряд доступен для чтения и сброса (запись единицы в данный разряд сбрасывает его в ноль);
? [0] текущий статус подключения (Current Connect Status) — данный разряд доступен только для чтения и служит для определения наличия подключения USB-устройств к данному порту (0 — к порту ничего не подключено, 1 — к порту подключено USB-устройство).
18.2. Структуры данных хост-контроллера UCH
18.2.1. Список кадров
Список кадров (Frame List) — это массив, содержащий 1024 указателя. Каждый элемент массива занимает 32 бита, т. о. весь массив занимает 4 Кбайт. Начальный адрес списка хранится в регистре базового адреса списка кадров
flbaseadd (ОН ДОЛЖЄН бЫТЬ ВЬфОВНеН НЭ Границу 4 Кбайт).
Разряды элемента списка имеют следующее назначение:
? [31:4] биты 4-31 указателя кадров (flp, Frame List Pointer);
? [3:2] зарезервированы и должны иметь значение 0;
Глава 18. Хост-контроллер UCH
511
D [1] тип структуры данных (QH/TD Select), адрес которой содержится в указателе кадра;
• 0 — дескриптор передачи (TD, Transfer Descriptor);
• 1 — заголовок очереди (QH, Queue Head);
? [0] признак завершающего кадра (Terminate). Значение 0 этого бита означает, что указатель кадра является правильным и содержит адрес заголовка очереди или дескриптора передачи. Значение 1 означает, что указатель не несет информации и обрабатываться не должен.
Предыдущая << 1 .. 147 148 149 150 151 152 < 153 > 154 155 156 157 158 159 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100