Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс с 524 по 631.doc
Скачиваний:
7
Добавлен:
16.04.2019
Размер:
2.54 Mб
Скачать

Поддержка протоколов в коммуникационных контроллерах

Таблица 5.59

Память общих параметров всех логических каналов

Адрес

Название

Размер, бит

Описание

SCC base+00

MCBASE

32

Базовый адрес 64-Кбайтной таблицы ВО во внешней

памяти

SCC base+04

QMCSTATE

16

Внутреннее состояние QMC-контроллера

SCC base+06

MRBLR

16

Максимальная длина Rx-буфера приемника

SCC base+08

Tx_S_PTR

16

Стартовый адрес TSA-таблицы передатчика

SCC base+OA

RxPTR

16

Указатель на ячейку временного слота, с которым

работаете текущий момент времени приемник

SCC base+OC

GRFTHR

16

Число принятых HDLC-кадров, после которого будет

выставлен запрос на прерывание

SCC base+OE

GRFCNT

16

Счетчик принятых кадров данных

SCC base+10

INTBASE

32

Стартовый адрес таблицы запросов на прерывание

SCC base+14

INTPTR

32

Указатель на следующую ячейку очереди запросов

на прерывание

SCC base+18

Rx_S_PTR

16

Стартовый адрес TSA-таблицы приемника

SCC base+1A

TxPTR

16

Указатель на ячейку временного слота, с которым

работает в текущий момент времени передатчик

SCC base+1C

C_MASK32

32

СРС32-константа OxDEBB20E3 для вычисления 32-

битной CRC-CCITT при работе с HDLC-протоколом

SCC base+20

TSATRx

32 ячейки по 16

TSA Rx-таблица

SCC base+60

TSATTx

32 ячейки по 16

TSA Тх-таблица

SCC base+AO

C_MASK16

16

СРС16-константа OxFOBS для вычисления 16-битной

CRC-CCITT при работе с HDLC-протоколом

SCC base+A4

TEMP_RBA

32

Временное значение адреса буфера приема

SCC base+A8

TEMP CRC

32

Временное значение контрольной суммы

Примечание. Все переменные в ячейках, кроме TEMP_RBA и TEMP_CRC, инициализируются

пользователем до начала работы с SCC-контроллером. Переменная QMCSTATE инициализируется

кодом 0x8000 до начала работы с QMC-протоколом и используется при отладке. К остальным ячей-

кам обращается контроллер, и пользователю не рекомендуется изменять их содержимое.

Переменная MRBLR задает размер буфера приемника в байтах. После заполнения текущего буфера до значения MRBLR приемник переходит к заполнению следующего буфера. Для хранения каждого буфера в памяти выделяется MRBLR+4 байт. При работе этот параметр используется только в режиме HDLC-протокола. Если ОМС-контроллер работает с 32-разрядными словами, то значение MRBLR должно быть кратным 4 байтам.

Переменная RxPTR инициализируется значением SCCbase+Ox20, т. е. стартовым ад­ресом таблицы TSARx. Переменная TxPTR инициализируется значением SCCbase+ОхбО, т. е. стартовым адресом таблицы TSATx. При работе RICS-контроллер увеличивает зна­чение этих переменных после завершения обработки текущего временного слота.

Переменная GRFCNT - вычитающий счетчик, который подсчитывает число кадров данных, которые необходимо принять до выработки запроса на прерывание. При дости­жении счетчиком значения «О» вырабатывается RXF-запрос на прерывание и в ячейку загружается значение из переменной GRFTHR.

Запросы на прерывание расположены в памяти в виде очереди, которая обрабатыва­ется по кругу. Ячейки этой очереди содержат информацию о запросе на прерывание,

569