
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коэффициент внутреннего увеличения частоты
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Режимы использования контактов
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Типы пакетов подтверждений
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Память основных параметров usb-контроллера
- •Поддержка протоколов в коммуникационных контроллерах
- •5.3. Поддержка протоколов в коммуникационных контроллерах
- •Выбор источника тактирования канала
- •Режимы работы tdm-каналов
- •Режимы работы блока tsa
- •Характеристики временных каналов
- •Назначение сигналов idl-интерфейса
- •Коммуникационные микроконтроллеры и системы на их основе
- •Память маршрутизации приемника
- •Назначение сигналов gci-интерфейса
- •Коммуникационные микроконтроллеры и системы на их основе
- •Память маршрутизации
- •Поддержка протоколов в коммуникационных контроллерах
- •Типы сообщений м-канала для s/t-трансивера мс145574
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Память общих параметров всех логических каналов
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •3 4 6 7 Рис. 5.100. Регистр событий scce и
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Конфигурации контроллеров мрс860мн
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Использование дробных стоп-битов
- •Тип контроля в сети
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Размер синхросимволов
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Команды u-кадров
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •5.3.5. Доступ к сетям ethernet
- •Коммуникационные микроконтроллеры и системы на их основе
- •Значения задержек при приеме кадра
- •Поддержка протоколов в коммуникационных контроллерах
Организация коммуникационных процессорных модулей в кмк
Таблица 5.39
Память основных параметров usb-контроллера
Адрес |
Название |
Размер, бит |
Описание |
USBBASE+00 |
EPOPTR |
16 |
Указатель на начало памяти параметров Endpoint 0 |
USBBASE+02 |
EP1PTR |
16 |
Указатель на начало памяти параметров Endpoint 1 |
USBBASE+04 |
EP2PTR |
16 |
Указатель на начало памяти параметров Endpoint 2 |
USBBASE+06 |
EP3PTR |
16 |
Указатель на начало памяти параметров Endpoint 3 |
USBBASE+08 |
RSTATE |
32 |
Внутреннее Rx-состояние |
USBBASE+OC |
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 BD |
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 |
Зарезервировано |
Примечани е.Переменные в ячейках RBASE. TBASE, RFCR, TFCR, RBPTR, TBPTR, MRBLR и TSTATE = 0 инициализируются пользователем до начала работы с USB-контроллером. Остальные ячейки используются контроллером при его работе и поэтому их содержимое изменять не рекомендуется. |
541
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
6
10 11 12 13 14 15
Endpoint Pointer
Рис. 5.67. Формат ячеек EPxPTR
Дополнительно в ячейке TBCNT содержится внутренний вычитающий счетчик, в который при переходе к новому дескриптору передачи заносится длина буфера из соответствующего поля дескриптора и значение которого уменьшается на единицу при передаче очередного байта через SDMA-канал.
Однотипная же ячейка RBCNT имеется только в памяти параметров всего USB-кон-троллера и отсутствует среди параметров отдельных конечных точек, так как все конечные точки выполняют прием через общий FIFO буфер приема, и содержит внутренний вычитающий счетчик, в который при переходе к новому дескриптору приема заносится содержимое ячейки MRBLR и значение которого уменьшается на единицу при передаче очередного байта через SDMA-канал.
Управление USB-контроллером. Пользователь может управлять работой USB-кон-троллера, программируя его регистр команд CPCR (рис. 5.68), который расположен в ячейке памяти по адресу (IMMR & OxFFFFOOOO)+Ox9CO. Код команды управления записывается в биты USBCMD регистра команд (табл. 5.41). Указанная команда будет применена к конечной точке, номер которой указан в битах ENDPOINT (00-EndpointO, 01-Endpointl, 10-Endpoint2, 11-Endpoint3). Для того чтобы USB-контроллер начал выполнять команду, необходимо установить бит FLG = 1 . После выполнения команды контроллер автоматически сбросит этот бит.
1
10 11
12
13 14
15
RST USBCMD 11
ENDPOINT
FLG
Рис. 5.68. Формат регистра команд USB-контроллера CPCR
Бит RST = 1 следует устанавливать, если требуется сбросить параметры всех коммуникационных каналов, регистры RISC-контроллера и RISC-таймера коммуникационного контроллера в исходное состояние. Процедура сброса выполняется RISC-контроллером в течение 60 тактов шины. Через два такта шины бит RST будет автоматически сброшен в «О».
Таблица 5.41 Коды команд управления USB-контроллером
Код команды |
Тип команды |
Описание команды |
001 010 000,011, 100, 101, 110, 111 |
STOP ТХ ENDPOINT RESTART TX ENDPOINT |
Останавливается передача данных на указанной конечной точке (endpoint). Буфер FIFO конечной точки заполняется полностью. Передача может быть возобновлена только после получения команды RESTART TX ENDPOINT. Возобновление передачи на указанной конечной точке. Обычно команда используется для возобновления передачи после выполнения команды STOP TX ENDPOINT или после возникновения ошибок передачи (незаполнение underrun или переполнение таймера ожидания ответа timeout). Зарезервировано. |
542
ОРГАНИЗАЦИЯ КОММУНИКАЦИОННЫХ ПРОЦЕССОРНЫХ МОДУЛЕЙ В КМК
STR |
FLUSH |
0 |
0 |
0 |
0 | ЕР |
Рис. 5.69. Регистр USB-команд
При работе пользователь также имеет возможность управлять работой USB-контрол-лера, программируя регистр USB-команд (рис. 5.69), который расположен в ячейке памяти по адресу (IMMR & OxFFFFOOOO)+OxA02. Если установить бит STR := 1, то контроллер начнет подготовку данных к передаче и заполнение данными буфера FIFO передатчика конечной точки, номер которой указывается в битах ЕР. Реально передача этих данных в сеть начнется только после приема маркера IN.
При передаче данных пользователь может также, если необходимо, заменить содержимое буфера FIFO передатчика. Для этого следует передать контроллеру команду STOP ТХ ENDPOINT и установить бит FLUSH := 1. Для возобновления передачи надо использовать команду RESTART TX ENDPOINT.
Буферные дескрипторы USB-контроллера. USB-контроллер использует такую же структуру буферных дескрипторов, что и большинство коммуникационных каналов, состоящую из четырех ячеек по 16 бит (первая ячейка - слово состояния дескриптора (рис. 5.70, 5.71), вторая -длина буфера данных в памяти, адрес которого указан в 3-й и 4-й ячейках дескриптора).
Большинство битов слов состояния имеют такое же функциональное назначение, что и для других коммуникационных каналов.
Бит Е (Empty) - бит незанятого буфера («О» - буфер занят, «1» - не занят). Бит R (Ready) - бит готовности буфера к передаче («О» - не готов, «1» - готов или уже передается). Бит W (Wrap) - бит последнего дескриптора в таблице дескрипторов («О» - не последний дескриптор, «1» - последний). Бит I (Interrupt) - бит прерывания при завершении обработки данного буфера («О» - прерывание не регистрируется, «1» - регистрируется в регистре событий в бите RXB при приеме и ТХВ или ТХЕ при передаче). Биты F (First) и L (Last) первого и последнего буфера, в которых расположен первый (последний) бит текущего кадра данных («О» - это не первый и не последний буфер, «1» - это первый (последний) буфер кадра).
ю
и
12 13 14
15
— W
PID — NO АВ CR OV —
Рис. 5.70. Слово состояния буферного дескриптора приема USB-контроллера
Если установлен бит ТС = 1 (Transmit CRC), то после завершения передачи содержимого последнего буфера кадра (установлен бит L = 1) сразу же будет передана контрольная сумма кадра. Если бит ТС = 0, то будет передан признак ЕОР (End of Packet).
После завершения передачи содержимого последнего буфера кадра (бит L = 1), если установлен бит CNF = 1, то контроллер будет ожидать получение подтверждения о доставке пакета. Если же бит CNF = 0, то, не ожидая ответа, будет загружать в буфер FIFO передатчика данные следующего пакета.
10 11
12 13 14
15
R — W I L ТС CNF —
PID
— NAK STAL TO UN —
Рис. 5.71. Слово состояния буферного дескриптора передачи USB-контроллера
543
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
В бите NO (Non Octet) регистрируется ошибка приема кадра, длина которого не кратна байту. В бите АВ (Frame Aborted) регистрируется ошибка нарушения алгоритма работы с бит-стаффингом. Ошибка при проверке контрольной суммы регистрируется в бите CR (CRC Error). Ошибка переполнения буфера FIFO приемника регистрируется в бите OV (Overrun), а переполнение буфера FIFO передатчика - в бите UN (Underrun).
В биты PID (Packed 10) при приеме контроллер заносит тип принятого пакета. Биты РЮ заполняются только для первого дескриптора принимаемого кадра данных (бит F = 1). При передаче данных эти биты анализируются только для первого буфера (бит F = 1) передаваемого кадра и определяют тип передаваемого пакета. Если РЮ = 00, то буфер содержит пакет DATAO. Если же бит PID = 01, то буфер содержит пакет DATA1.
Если принятый пакет не содержит ошибок, но в настройках контрольной точки определенным образом определен тип пакета подтверждения, то будут установлены биты NAK (в ответ посылается пакет отрицательного подтверждения) или STALL (в ответ посылается пакет подтверждения STALL). Эти биты устанавливаются после завершения передачи соответствующего буфера данных.
Если после передачи конечная точка не дождалась подтверждения, то будет установлен бит ТО := 1 (Time Out).
Регистр событий. Регистр событий USBER (рис. 5.72) расположен в ячейке памяти по адресу (IMMR&OxFFFFOOOO)+OxA10. Сброс битов событий в регистре событий производится записью единицы в соответствующий бит. Прерывание от любого события в USB-контроллере будет зарегистрировано, только если установлен в «1» бит регистра маски USBMR, соответствующий этому событию. Регистр маски расположен в ячейке памяти по адресу (IMMR&OxFFFFOOOO)+OxA14 и имеет формат, аналогичный регистру событий.
Если USB-контроллер находится в состоянии «сброс», то будет установлен в «1» бит RESET регистра событий.
Бит IDLE регистра событий показывает, что изменилось состояние линий связи.
Биты ТХЕх регистра событий устанавливаются в «1», если произошла ошибка при передаче пакета данных: или не пришло подтверждение о получении пакета, или произошла ошибка незаполнения Underrun.
При приеме пакета SOF (Start of Frame) устанавливается бит SOF := 1 регистра событий и увеличивается на единицу счетчик в ячейке FRAME_N памяти параметров.
Если USB-контроллер начал прием нового кадра данных, значит RISC-контроллер не нашел свободных буферных дескрипторов, а принимаемый кадр будет игнорирован и будет установлен бит BSY регистра событий.
Установка бита ТХВ регистра событий свидетельствует о том, что из текущего (но не последнего в кадре) буфера был передан в буфер FIFO передатчика последний символ, или если это последний буфер кадра, то бит будет установлен, только когда последний символ кадра будет передан в линию связи.
Установка бита RXB регистра событий свидетельствует о том, что при приеме данных текущий буфер заполнен и его дескриптор закрыт.
0123456 7 8 9 10 11 12 13 14 15
Зарезервировано. Все «0». |
Reset | IDLE | TXE3 |
ТХЕ2 | ТХЕ1 | ТХЕО |
SOF |
BSY | ТХВ | RXB |
Рис. 5.72. Формат регистра событий USB-контроллера USBER и регистра маски USBMR 544