Компьютерные книги
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Аппаратное обеспечение -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 108

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

Агуров П.В. Интерфейсы USB. Практика использования и программирования — БВХ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interfeysusbpraktikaispolzovaniya2004.djvu
Предыдущая << 1 .. 102 103 104 105 106 107 < 108 > 109 110 111 112 113 114 .. 168 >> Следующая

конечной точки, к которой будет происходить обращение при считывании и
записи регистров uepstax, uepdatx, ubyctlx или uepconx.
Листинг 13.5 показывает описания и макросы для работы с регистром
UEPNUM.
330
Часть IV. Создание USB-устройств
/У Описание регистра sfr UEPNUM = 0хС7;
// Макрос выбора номера конечной точки idefine Usb_select_ep(е)
(UEPNUM = е)
13.2.6. Регистр UEPCONX
Регистр uepconx (байт, адрес 0xD4) - управляющий регистр конечной USB-
точки, номер которой задан в регистре uepnum. После сброса регистр
принимает значение 00000000b.
Регистр содержит следующие биты:
? [7] epen - бит активизации конечной точки. Установка бита включает
конечную точку в соответствии с конфигурацией прибора. Нулевая конечная
точка всегда активизируется после аппаратного сброса или сброса шины USB
и участвует в конфигурации прибора. Сброс бита отключает конечную точку в
соответствии с конфигурацией прибора;
? [6:4] зарезервированы - всегда считываются как 0. Не пытайтесь
установить эти биты;
? [3] dtgl - бит изменения статуса данных (только чтение).
Устанавливается аппаратно при приеме пакета DATA1. Сбрасывается аппаратно
при приеме пакета DATA0;
? [2] epdir - бит установки направленности конечных точек. Установка бита
устанавливает пакетные, прерывающие и изохронные конечные точки в режим
приема. Сброс бита устанавливает пакетные, прерывающие и изохронные
конечные точки в режим передачи. Бит не влияет на управляющие конечные
точки;
? [1:0] eptypei : eptypeo - биты установки типа конечных точек (для
нулевой конечной точки всегда должен быть установлен "управляющий" тип):
• 00 - управляющая конечная точка;
• 01 - изохронная конечная точка;
• 10 - пакетная конечная точка;
• 11 - прерывающая конечная точка.
Заметим, что если новый пакет данных принимается до изменения состояния
бита dtgl с 0 на 1 или с 1 на 0, то возможна потеря пакета. Когда это
происходит у пакетной конечной точки, встроенное программное обеспече-
Глава 13. HID-устройство на основе Atmel АТ89С5131
331
ние прибора должно предположить, что ведущее устройство повторило
передачу правильно принятого пакета, т. к. ведущее устройство не приняло
правильного подтверждения (АСК), после этого программа должна отказаться
от передачи нового пакета (конечная точка сбрасывается к DATA0 только при
конфигурировании). У конечных точек, являющихся источником прерывания,
переключение данных управляется так же, как и при использовании пакетных
конечных точек. В управляющих конечных точках каждая транзакция SETUP
начинается с DATA0, и переключение данных, в этом случае, используется,
как и у пакетных конечных точек, до тех пор, пока не закончится стадия
DATA (при контроле записи посылки); стадия STATUS завершает передачу
DATA1 (при контроле считывания посылки). Для изохронных конечных точек
встроенное программное обеспечение прибора будет восстанавливать каждый
новый пакет данных и может игнорировать этот бит.
Листинг 13.6 показывает описания и макросы для работы с регистром
UEPCONX.
// Описание регистра sfr UEPCONX = 0xD4;
// типы конечных точек
#define CONTROL 0x00
#defme ISOCHRONOUSJOUT 0x01
#defme BULKJOUT 0x02
#define INTERRUPTJ3UT 0x03
fdefine ISOCHRONOUS_IN 0x05
fdefine BULK_IN 0x06
#define INTERRUPT IN 0x07
// Описание констант для доступа к битам регистра #define MSK_EPEN 0x80
/* включение конечной точки */
// Конфигурирование типа конечной точки
#defme Usb_configure_ep_type(х) (UEPCONX = х)
13.2.7. Регистр UEPSTAX
Регистр uepstax (байт, адрес ОхСЕ) - регистр управления и статуса
конечной USB-точки, номер которой задан в регистре uepnum. После сброса
регистр принимает значение 00000000b.
332
Часть IV. Создание USB-устройств
Регистр содержит следующие биты:
? [7] dir - бит управления направлением конечной точки. Этот бит
учитывается только тогда, когда конечной точке присвоен тип контрольной.
Должен быть установлен для стадии данных. Для остальных случаев должен
быть сброшен. Этот бит должен быть установлен при RXSETUP-прерывании до
изменения состояния любого другого бита. Также он определяет фазу статуса
(IN для проверки записи и OUT для контроля чтения). Этот бит должен быть
сброшен для стадии статуса контрольной исходящей транзакции;
? [6] зарезервирован - всегда считывается как 0. Не пытайтесь установить
этот бит;
? [5] stallrq - бит запроса остановки установления связи. Установка бита
приведет к посылке ответа STALL (остановки) ведущему устройству для
следующей установки связи. В противном случае этот бит должен быть
сброшен;
? [4] txrdy - управляющий бит готовности передачи пакета. Бит должен быть
установлен после записи пакета в FIFO-буфер конечной точки для передачи
IN-данных. Данные должны записываться в FIFO-буфер конечной точки только
после сброса этого бита. Установка этого бита без записи данных в FIFO-
буфер приведет к посылке пакета нулевой длины, который рекомендуется в
общем случае и может потребоваться для обозначения передачи в тех
Предыдущая << 1 .. 102 103 104 105 106 107 < 108 > 109 110 111 112 113 114 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Завалишин Д. "Интернетско-русский разговорник" (Web-программирование)

Заенцев И.В. "Нейронные сети: основные модели" (Web-программирование)

Владимиров А.А. "Wi-фу: «боевые» приемы взлома и защиты беспроводных сетей" (Web-программирование)

Вьейра Р. "SQL Server 2000. Программирование в 2 ч." (Web-программирование)

Веллинг Л.Т. "Разработка web приложений с помощью php и mysql" (Web-программирование)
Авторские права © 2013 ComputersBooks. Все права защищены.

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed