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

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

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

установить биты маски, равные OxFF. Установить требуемое значение
указателя на таблицу канал-ориентированной памяти параметров (channel
pointer).
14. Проинициализировать значения указателей Tx_S_PTR и Rx_S_PTR, а также
значения указателей на ячейку текущего временного слота TxPTR и RxPTR.
Обычно в указатели Tx_S_PTR = TxPTR записывается стартовый адрес TSA-
таблицы передатчика, а в указатели Rx_S_PTR = RxPTR - стартовый адрес
TSA-таблицы приемника. Если используется общая TSA-таблица, то во все
ячейки указателей заносится значение MCBASE+0x20.
15. Установить значение переменной внутреннего состояния QMCSTATE :=
0x8000.
16. Проинициализировать ячейки протокол-ориентированной памяти параметров
каждого логического канала для работы с выбранным коммуникационным
протоколом (HDLC или Transparent). Для каждого используемого логического
канала записать в их ячейки TBASE и RBASE стартовые адреса таблиц буферов
дескрипторов каналов при передаче и приеме (напоминаем, что при работе
стартовые адреса таблиц дескрипторов рассчитываются как MCBASE+TBASE или
MCBASE+RBASE). Проинициализировать значения указателей на таблицу
дескрипторов RBPTR := RBASE и TBPTR := TBASE. Установить значение
внутренних переменных состояния передатчика TSTATE := 0x30000000 для
МРС860МН и приемника RSTATE := 0x31000000 для МРС860МН. Установить
начальные значения в ячейки ZISTATE := 0x00000100, ZDSTATE := 0x80 для
HDLC-протокола и ZDSTATE := 0x18000080 для Transparent-протокола.
Разрешить прерывание от требуемых событий, записав соответствующее
значение в ячейку INTMSK, например, разрешить все прерывания INTMSK :=
ОхА. При работе с HDLC-протоколом установить максимальный размер кадра
данных MFLR, а для Transparent-протокола установить максимальный размер
приемного буфера TMRBLR (рекомендованное значение должно быть больше 30
байт и кратно 4 байтам). При работе с Transparent-протоколом также
следует определить значение в регистре контроля синхронизации TRNSYNC.
17. Подготовить буферы и буферные дескрипторы приемника для каждого
используемого логического канала. Буферные дескрипторы должны
располагаться в памяти по адресу RBASE. В их слове состояния
рекомендуется установить бит готовности Е := 1, установить бит прерывания
I := 1, а в последнем дескрипторе таблицы требуется установить бит W :=
1.
18. Подготовить буферы и буферные дескрипторы передатчика для каждого
используемого логического канала. Буферные дескрипторы должны
располагаться в памяти по адресу TBASE. В их слове состояния
рекомендуется установить бит готовности R := 1, установить бит прерывания
I := 1, а в последнем дескрипторе таблицы требуется установить бит W :=
1.
580
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
19. Проинициализировать таблицу прерываний. Если прерывания будут
использоваться, то для каждой ячейки таблицы рекомендуется сбросить биты
V := W := 0, и только у последней ячейки таблицы бит W := 1.
20. Для каждого логического канала проинициализировать регистр режима
CHAMR, выполнив настройку на работу или с HDLC-протоколом или с
протоколом Transparent. Бит включения передатчика пока сброшен (ENT :=
0), его необходимо установить только тогда, когда канал будет готов к
передаче. Например, настроим канал для работы с HDLC-протоколом CHAMR :=
0x9187.
21. Проинициализировать регистр событий SCCE для выбранного SCCx-канала.
Сброс битов в регистре производится записью в соответствующие разряды
кода "1" SCCE := ОхЕ
22. Проинициализировать регистр маски SCCM для выбранного SCCx-канала.
Чтобы разрешить прерывание от всех событий, рекомендуется записать в
регистр код OxF. Для выбранного SCCx-канала в регистре контроллера
прерывания CIMR в соответствующий бит требуется записать "1", чтобы
разрешить регистрацию запросов на прерывание от этого канала.
23. В регистре режимов GSMR_L SCCx-канала разрешить работу приемника и
передатчика, установив биты ENT := ENR := 1.
Особенности распределение памяти параметров для QMC-протокола. В
контроллере МС860МН для поддержки 64-каналов требуется 4 Кбайт внутренней
памяти (64 х 64 байта = 4096 байт). Если QMC-протокол использует для
хранения буферных дескрипторов внешнюю память, то никаких конфликтов
между одновременно работающими протоколами нет, и буферные дескрипторы
других протоколов могут располагаться во внутренней памяти. Если
используются все 64 канала, то для параметров других протоколов остальных
каналов ввода/вывода в памяти параметров осталось только 4 страницы по
256 байт каждая. Первая страница содержит параметры канала SCC1, l2C,
IDMA1 и параметр miscellaneous. Вторая - параметры канала SCC2, SPI,
RISC-таймеров и SPI-канала. Третья страница содержит параметры каналов
SCC3, SMC1 и параметры DSP1-операций. Четвертая - параметры каналов SCC4,
SMC2 и параметры 05Р2-операций. Из-за конфликта в распределении памяти
невозможно одновременное использование некоторых коммуникационных
протоколов, каналов или функций.
Предыдущая << 1 .. 321 322 323 324 325 326 < 327 > 328 329 330 331 332 333 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed