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

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

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

При достижении счетчиком значения "О" вырабатывается RXF-запрос на
прерывание и в ячейку загружается значение из переменной GRFTHR.
Запросы на прерывание расположены в памяти в виде очереди, которая
обрабатывается по кругу. Ячейки этой очереди содержат информацию о
запросе на прерывание,
569
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
О 1_______________________2 3 4 5 6 7 8 9 10
1 1 12 13 14 15
V W Mask[0:1] Channel Pointer Mask[2:7]
Рис. 5.91. Формат ячейки TSA-таблицы
который может быть выставлен QMC-контроллером к центральному процессору.
Переменная 1NTBASE определяет стартовый адрес таблицы запросов в памяти,
а переменная INTPTR-адрес следующей ячейки очереди, куда RISC-контроллер
запишет информацию о прерывании при возникновении соответствующего
события. Перед началом работы в ячейку загружают значение INTPTR :=
INTBASE.
Каждая TSA-таблица содержит 32 ячейки по 16 бит каждая (рис. 5.91) и
определяет правила обработки каждого из 32 логических каналов при приеме
(TSA Rx-таблица) и при передаче (TSA Тх-таблица). Ячейки таблицы
определяют, из какого временного слота будет читать информация в текущий
логический канал при приеме или в какой временной слот будет выдаваться
информация от текущего логического канала при передаче.
Бит V (Valid) определяет, используется данный временной слот или нет.
Если бит
V = 0, то 8-битный временной слот не используется и его данные
игнорируются при приеме, а при передаче во временной слот будет
выдаваться код логической "1". Если бит
V = 1, то 8 бит данных из временного слота после удаления служебных битов
(например, типа бит-стаффинг) записываются в текущий буфер при приеме и
выдаются в этот временной слот при передаче.
Бит W (Wrap) позволяет программисту ограничивать число используемых
временных слотов в TDM-кадре данных. Если бит W = 1, то это последняя
ячейка в таблице. Далее после получения нового импульса синхронизации
(строба) RISC-контроллер перейдет к обработке ячейки временного слота
"О".
Channel pointer - 6-битный указатель, определяющий логический канал, с
которым будет связан данный временной слот. На самом деле реальный
указатель имеет длину 12 бит и представляет собой адрес канал-
ориентированной памяти параметров (адрес RBASE или TBASE). Шесть старших
значащих бит берутся из поля TSATRx channel pointer (или TSATTx channel
pointer), а младшие 6 бит всегда обнуляются. Таким образом, 12-битный
адрес указывает на 64-байтную область канал-ориентированной памяти
параметров. Канал-ориентированная память всегда общая для приемника и
передатчика, таким образом, для 32-канального интерфейса требуется 32x64
= 2 Кбайт памяти внутри двухпортовой RAM, а для 64-канального интерфейса
- 64x64 = 4 Кбайт.
Обычно канал-ориентированная память кахщого канала занимает 8 байт, и
поэтому в большинстве случаев указатель channel pointer временного канала
"О" содержит адрес начала двухпортовой памяти (DPBASE), начиная с
которого располагаются параметры "О" логического канала. Указатель
channel pointer временного канала "1" обычно содержит адрес DPBASE+4,
начиная с которого располагаются параметры "1" логического канала. Если
необходимо объединить несколько временных слотов для работы с одним
логическим каналом, то в полях channel pointer ячеек TSA-таблицы, которые
закреплены за выбранными временными слотами, указывается одно и то же
значение адреса памяти параметров логического канала.
Биты MASK[0:7] определяют, какие из восьми битов данных временного слота
будут использоваться при работе. Если бит маски равен 0, то
соответствующий ему бит временного канала игнорируется при обработке. Во
время передачи данных на месте замаскированного бита временного канала
передается "1".
Работа нескольких SCC-контроллеров с одним TDM-каналом. Рассмотрим
пример, когда один TDM-кадр обслуживается двумя SCC-контроллерами
(допустим SCC2 и SCC3), которые оба настроены на работу с QMC-протоколом.
Причем оба SCC-контролле-
570
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
ра обслуживают одну и ту же последовательность логических каналов.
Другими словами, обработка TDM-кадра разделена между двумя SCC-
контроллерами с целью увеличить скорость и распараллелить обработку
данных. Допустим, контроллер SCC2 обрабатывает нечетные временные слоты,
а контроллер SCC3 - четные. При этом возникают проблемы программирования
доступа нескольких SCC-каналов к общей TSA-памяти параметров одного TDM-
кадра. Поэтому существует два варианта настройки режимов работы SCC-
контроллеров с TSA-памятью.
При первом варианте (допустим, обрабатывается 32-канальный TDM-кадр)
каждый SCC-канал настроен на работу с QMC-протоколом, каждый канал имеет
ячейки указателей Rx_S_PTR_2 и Rx_S_PTR_3, но эти указатели адресуются
только к одной TSA-таблице контроллера SCC2. Таким образом, TSA-таблица
располагается в памяти параметров контроллера SCC2, а область памяти TSA-
таблицы контроллера SCC3 не используется. Указатель Rx_S_PTR_2
Предыдущая << 1 .. 314 315 316 317 318 319 < 320 > 321 322 323 324 325 326 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed