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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 313 314 315 316 317 318 < 319 > 320 321 322 323 324 325 .. 528 >> Следующая

хранения общих Rx- и Тх-параметров может быть использована память
параметров других SCC-каналов, и переменные Rx_S_PRT и Tx_S_PTR будут
указывать на расположение частей этой таблицы в других областях памяти
параметров.
Переменная Tx_S_PTR задает адрес начала таблицы TSATTx. В нормальном
режиме работы с двумя TSA-таблицами значение TX_S_PTR = SCCbase+ОхбО, но
если используется объединенная таблица для приема и передачи, то значение
TX_S_PTR = SCCbase+0x20. Эта таблица может быть размещена только внутри
области общих параметров SCC.
Переменная Rx_S_PTR задает адрес начала таблицы TSATRx. В нормальном
режиме работы значение RX_S_PTR=SCCbase+0x20. Эта таблица может быть
размещена только внутри области общих параметров SCC-канала.
Переменная MCBASE задает адрес начала таблицы буферных дескрипторов во
внешней памяти, а переменные RBASE и TBASE из канал-ориентированной части
памяти параметров определяют 16-битный сдвиг (offset) буфера дескриптора
конкретного логического канала относительно адреса начала таблицы
дескрипторов. Каждый логический канал имеет свои ячейки RBASE и TBASE в
своей памяти параметров. Например, адрес дескриптора приема пятого
логического канала будет равен MCBASE+RBASE_5.
Таблица буферов дескрипторов QMC-протокола располагается внутри 64-
Кбайтной области внешней памяти. Размер таблицы определяется числом
обрабатываемых логических каналов. Каждый SCC-контроллер имеет максимум
64 К/4 = 16384 буферов дескрипторов. Каждый дескриптор имеет стандартный
4-байтный формат, как и при работе с другими коммуникационными
протоколами. Если при работе используются 32 логических канала, то каждый
канал имеет по 16384/(32x2) = 256 буферов для приема и 256 буферов для
передачи. Для каждого логического канала пользователь может программно
задавать стартовый адрес таблицы дескрипторов и ее длину. Формат буферных
дескрипторов аналогичен формату дескрипторов для других коммуникационных
протоколов. Каждый буферный дескриптор имеет 32-битный адрес, который
указывает расположение во внешней памяти буфера данных, связанного с этим
дескриптором. Рекомендуется буферные дескрипторы других не QMC-протоколов
располагать во внутренней памяти для уменьшения загрузки внешней шины.
568
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
Таблица 5.59
Память общих параметров всех логических каналов______________________
Адрес Название Размер, бит Описание
SCC base+00 MCBASE 32 Базовый адрес 64-Кбайтной таблицы BD во
внешней памяти
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 IN TBASE 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-константа 0xDEBB20E3 для вычисления 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 СRC 16-константа 0xF0B8 для вычисления 16-
битной CRC-CCITT при работе с HDLC-протоколом
SCC base+A4 TEMPRBA 32 Временное значение адреса буфера приема
SCC base+A8 TEMPCRC 32 Временное значение контрольной суммы
Примечание. Все переменные в ячейках, кроме TEMP_RBA и TEMPCRC,
инициализируются
пользователем до начала работы с SCC-контроллером. Переменная QMCSTATE
инициализируется
кодом 0x8000 до начала работы с QMC-протоколом и используется при
отладке. К остальным ячей-
кам обращается контроллер, и пользователю не рекомендуется изменять их
содержимое.
Переменная MRBLR задает размер буфера приемника в байтах. После
заполнения текущего буфера до значения MRBLR приемник переходит к
заполнению следующего буфера. Для хранения каждого буфера в памяти
выделяется MRBLR+4 байт. При работе этот параметр используется только в
режиме HDLC-протокола. Если QMC-контроллер работает с 32-разрядными
словами, то значение MRBLR должно быть кратным 4 байтам.
Переменная RxPTR инициализируется значением SCCbase+0x20, т. е. стартовым
адресом таблицы TSARx. Переменная TxPTR инициализируется значением
SCCbase+ОхбО, т. е. стартовым адресом таблицы TSATx. При работе RlCS-
контроллер увеличивает значение этих переменных после завершения
обработки текущего временного слота.
Переменная GRFCNT - вычитающий счетчик, который подсчитывает число кадров
данных, которые необходимо принять до выработки запроса на прерывание.
Предыдущая << 1 .. 313 314 315 316 317 318 < 319 > 320 321 322 323 324 325 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed