Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 304

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 298 299 300 301 302 303 < 304 > 305 306 307 308 309 310 .. 528 >> Следующая

USBBASE+08 RSTATE 32 Внутреннее Rx-состояние
USBBASE+0C RPTR 32 Временный внутренний указатель на текущую
обрабатываемую ячейку RX буфера приемника
USBBASE+10 FRAME_N 16 Номер кадра
USBBASE+12 RBCNT 16 Внутренний счетчик принятых в буфер Rx байт данных
USBBASE+14 RTEMP 32 Временная RX-переменная
Примечание. Переменные в ячейках EPOPTR, EP1PTR, EP2PTR, EP3PTR и FRAME N
ини-
циализируются пользователем до начала работы с USB-конгроллером.
Остальные ячейки исполь-
зуются контроллером при его работе и поэтому их содержимое изменять не
рекомендуется.
В ячейках EPxPTR (рис. 5.67) указываются адреса начала памяти каждой из
используемых конечных точек (требуется, чтобы адреса были кратны 32).
В USB-контроллере назначение переменных в ячейках памяти параметров
отдельной контрольной точки (табл. 5.40) полностью совпадает с
назначением одноименных переменных в SCC- и SMC-контроллерах.
Таблица 5.40
Память параметров отдельной конечной точки
Адрес Название Размер, бит Описание
Base+00 RBASE 16 Базовый адрес таблицы Rx ВО
Base+02 TBASE 16 Базовый адрес таблицы Тх BD
Base+04 RFCR 08 Функциональные коды Rx
Base+05 TFCR 08 Функциональные коды Тх
Base+06 MRBLR 16 Максимальная длина Rx-буфера
Base+08 RBPTR 16 Указатель на следующий дескриптор Rx BD
Base+OA TBPTR 16 Указатель на следующий дескриптор Тх BD
Base+OC TSTATE 32 Внутреннее Тх-состояние
Base+10 TPTR 32 Временный внутренний указатель на текущую
обрабатываемую ячейку Тх буфера передатчика
Base+14 TCRC 16 Текущее значение CRC суммы при передаче кадра
Base+16 TBCNT 16 Внутренний счетчик переданных Тх байт данных
Base*1C 32 Зарезервировано
Примечани e. Переменные в ячейках RBASE, TBASE, RFCR, TFCR, RBPTR, TBPTR,
MRBLR и TSTATE = 0 инициализируются пользователем до начала работы с USB-
конгроллером. Остальные ячейки используются контроллером при его работе и
поэтому их содержимое изменять не рекомендуется.
541
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
0 1 2 3 4 5 6 7 8 9 10 1 1
12 13 14 15
Endpoint Pointer 0 | 0 0 0 0
Рис. 5.67. Формат ячеек EPxPTR
Дополнительно в ячейке TBCNT содержится внутренний вычитающий счетчик, в
который при переходе к новому дескриптору передачи заносится длина буфера
из соответствующего поля дескриптора и значение которого уменьшается на
единицу при передаче очередного байта через SDMA-канал.
Однотипная же ячейка RBCNT имеется только в памяти параметров всего USB-
контроллера и отсутствует среди параметров отдельных конечных точек, так
как все конечные точки выполняют прием через общий FIFO буфер приема, и
содержит внутренний вычитающий счетчик, в который при переходе к новому
дескриптору приема заносится содержимое ячейки MRBLR и значение которого
уменьшается на единицу при передаче очередного байта через SDMA-канал.
Управление USB-контроллером. Пользователь может управлять работой USB-
контроллера, программируя его регистр команд CPCR (рис. 5.68), который
расположен в ячейке памяти по адресу (IMMR & 0xFFFF0000)+0x9C0. Код
команды управления записывается в биты USBCMD регистра команд (табл.
5.41). Указанная команда будет применена к конечной точке, номер которой
указан в битах ENDPOINT (OO-EndpointO, 01-Endpointl, 10-Endpoint2, 11-
Endpoint3). Для того чтобы USB-контроллер начал выполнять команду,
необходимо установить бит FLG = 1. После выполнения команды контроллер
автоматически сбросит этот бит.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
15
RST USBCMD 1 1 1 1 1 0 0 0 0
ENDPOINT - FLG
Рис. 5.68. Формат регистра команд USB-контроллера CPCR
Бит RST = 1 следует устанавливать, если требуется сбросить параметры всех
коммуникационных каналов, регистры RISC-контроллера и RISC-таймера
коммуникационного контроллера в исходное состояние. Процедура сброса
выполняется RISC-контроллером в течение 60 тактов шины. Через два такта
шины бит RST будет автоматически сброшен в "0".
Таблица 5.41
Коды команд управления USB-контроллером
Код команды Тип команды Описание команды
001 010 000, 011, 100, 101, 110, 111 STOP тх ENDPOINT RESTART TX
ENDPOINT Останавливается передача данных на указанной конечной точке
(endpoint). Буфер FIFO конечной точки заполняется полностью. Передача
может быть возобновлена только после получения команды RESTART ТХ
ENDPOINT. Возобновление передачи на указанной конечной точке. Обычно
команда используется для возобновления передачи после выполнения команды
STOP ТХ ENDPOINT или после возникновения ошибок передачи (незаполнение
underrun или переполнение таймера ожидания ответа timeout).
Зарезервировано.
542
ОРГАНИЗАЦИЯ КОММУНИКАЦИОННЫХ ПРОЦЕССОРНЫХ МОДУЛЕЙ в кмк
О__________1__________ 2 3_________4___________5___________6 7
STR FLUSH 0 0 0 0 ЕР
Рис. 5.69. Регистр USB-команд
При работе пользователь также имеет возможность управлять работой USB-
контроллера, программируя регистр USB-команд (рис. 5.69), который
расположен в ячейке памяти по адресу (IMMR & 0xFFFF0000)+0xA02. Если
установить бит STR := 1, то контроллер начнет подготовку данных к
Предыдущая << 1 .. 298 299 300 301 302 303 < 304 > 305 306 307 308 309 310 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed