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

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

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

DPBASE+3C MAX_cnt 16 Вычитающий счетчик максимальной длины
DPBASE+3E TMPMB 16 Временная переменная
Примечание. Переменные в ячейках TBASE, RBASE, CHAMR, TSTATE, RSTATE,
TBPTR, RBPTR, ZISTATE := 0x00000100, ZDSTATE := 0x00000080 при работе с
HDLC протоколом, INTMSK и MFLR инициализируются пользователем до начала
работы с SCC-контроллером. Программисту не рекомендуется изменять
содержимое остальных ячеек, так как они используются контроллером.

572
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
Каждый SCC-канап имеет переменную MFLR, определяющую максимальное число
байт (максимум 64 Кбайт), которые могут передаваться в кадре. При приеме
кадра, длина которого больше MFLR, кадр будет отброшен, установлен бит
ошибки LG = 1 в слове состояния текущего буферного дескриптора, буфер
будет закрыт и будет выставлен запрос на прерывание от событий RXF и RXB
в регистре событий, если они не замаскированы.
Бит MODE в регистре режима CHAMR (рис. 5.92) определяет протокол, с
которым работает выбранный логический канал. Если MODE = 0, то канал
работает с протоколом Transparent, если MODE=1 - с HDLC-протоколом.
Бит IDLM определяет режим передачи символов IDLE (если бит IDLM = 1) в
промежутках между передачей кадров данных. Если IDLM = 0, то между
кадрами данных IDLE-символы не передаются. В промежутке между кадрами
передатчик передает NOF+1 символов флага, а затем передает следующий кадр
данных. Если кадр еще не готов, то продолжается передача символов флага.
Бит ENT = 1 разрешает работу передатчика, и во временной канал будут
передаваться данные согласно выбранному протоколу. Если бит ENT = 0, то
передатчик выключен, и если канал подключен к временному слоту, то в этот
временной канал будут передаваться "1". Следует отметить, что отсутствует
бит разрешения работы приемника с QMC-протоколом, но для разрешения
работы приемника необходимо инициализировать переменные ZDSTATE и RSTATE
в памяти параметров.
Если бит POL = 0, то коммуникационный процессор не контролирует значение
бита готовности R (Ready) в слове состояния дескриптора буфера при
передаче. Если бит POL = 1, то при передаче контролируется значение бита
готовности буфера.
0 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15
MODE 0 IDLM ENT - - - POL CRC 0 - - NOF

Рис. 5.92. Формат регистра режима CHAMR для QMC HDLC-контроллера
При работе с HDLC-протоколом бит CRC определяет тип контрольной суммы.
Если бит CRC = 0, то используется 16-битная CCITT-CRC контрольная сумма
для данного канала. Если бит CRC = 1, то используется 32-битная CCITT-CRC
контрольная сумма.
Содержимое ячейки TSTATE определяет внутреннее состояние передатчика, а
содержимое ячейки RSTATE - внутреннее состояние приемника. Старший байт
ячейки (рис. 5.93) содержит функциональные коды и бит Motorola/Intel. В
битах АТЗ-АТ1 содержится код, который будет выставлен на внешних
контактах функциональных кодов, чтобы идентифицировать тип доступа к
памяти. Бит МОТ определяет порядок передачи байтов в длинных словах при
обмене по сети. Если бит МОТ = 0, то используется порядок передачи
little-endian, характерный для фирмы "Intel". Если бит МОТ = 1, то
используется порядок передачи big-endian, характерный для фирмы
"Motorola". У МРС860МН ячейка TSTATE перед использованием канала должна
быть проинициапизирована кодом 0x30000000. Ячейка RSTATE перед началом
работы с канала, при возникновении ошибки или после получения команды
STOP RX должна быть проинициализирована кодом 0x31000000 для МРС860МН.
Эти ячейки используются также при отладке системы. Если бит 8 32-
разрядной ячейки xSTATE равен 1, то в текущий момент времени кадр переда-
0 1 2 3 4 5 6 7
0 0 1 MOT AT[1:3]
Рис. 5.93. Формат регистра TSTATE и RSTATE в памяти параметров QMC HDLC-
протокола
573
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
0 12 3 4 5 6 7 8 9 10 11 12 13
14 15
V W NID IDL - Номер канала MRF UN RXF BSY ТХВ
RXB
Рис. 5.94. Регистр событий канала в очереди прерываний для QMC HDLC-
контроллера
0 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15
0 0 NID IDL 0 0 0 0 0 0 MRF UN RXF
BSY TXB RXB
Рис. 5.95. Регистр маски INTMSK для QMC HDLC-контроллера
ется (или принимается). Если бит 9 равен 1, то текущий буфер BD открыт, и
из него читаются данные (или в него записываются данные). Если бит 12 в
ячейке TSTATE равен 1, то канал был проинициализирован и работает. Если
бит 11 в ячейке RSTATE равен 1, то прием остановлен. В младших 16 битах
регистра RSTATE хранится слово состояния текущего BD.
Все события, которые могут возникать при работе каналов, регистрируются в
циклической очереди прерываний, в регистре событий (рис. 5.94). Для всех
логических каналов существует один регистр маски. В регистре INTMSK (рис.
5.95) пользователь может при желании замаскировать прерывание от
некоторых событий, если сбросит в "О" бит, соответствующий выбранному
событию.
Работа с Transparent-протоколом. В табл. 5.61 приведено распределение
канал-ориентированной памяти параметров при работе с протоколом
Предыдущая << 1 .. 316 317 318 319 320 321 < 322 > 323 324 325 326 327 328 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed