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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 370 371 372 373 374 375 < 376 > 377 378 379 380 381 382 .. 528 >> Следующая

бите CRC регистра
PSMR. Если выбрана контрольная сумма LRC, то ячейки инициализируются
кодом "все 0" при кон-
троле по четности и кодом "все 1" при контроле по нечетности.
Передача данных. Когда центральный процессор устанавливает бит ENT := 1,
BISYNC-контроллер включается в работу, и его передатчик начинает
передавать в канал символы синхронизации. Бит RTSM в регистре GSMRJH
определяет тип синхросимволов. Если бит RTSM=1, то контроллер передает
синхросимволы SYN1 и SYN2, формат которых определен в регистре
синхросимволов DSR. Если бит RTSM = 0, то передатчик передает в канал
связи для синхронизации IDLE-символы ("все 1"),
Далее контроллер опрашивает первый буфер в таблице дескрипторов передачи
и, если он готов, начинает передачу сообщения. Перед началом передачи в
канал всегда предварительно передается не менее одной пары синхросимволов
SYN1 и SYN2 для синхронизации приемника. Биты NOS в регистре PSMR
определяют минимальное число пар синхросимволов, которые передаются между
сообщениями или перед новым сообщением. Число пар символов SYN1-SYN2
равно ([NOS3-NOSO]+1).
Когда буфер данных полностью передан, контроллер сбрасывает бит R := 0 и
проверяет бит L в его слове состояния. Если бит L = 1 и бит ТВ = 1, то
контроллер добавляет к кадру данных поле контрольной суммы блока CRC16
или LRC и завершает передачу всего кадра. По окончании передачи кадра в
слове состояния последнего буфера устанавливаются биты статуса
переданного сообщения. Перед началом передачи следующего сообщения в
канал выдается заданное число символов синхронизации. Если бит L = 0, т.
е. сообщение занимает несколько буферов, то контроллер переходит к
передаче следующего буфера данных.
Если следующий буфер данных еще не готов, то регистрируется ошибка
незаполнения underrun, и BISYNC-контроллер начинает передавать в канал
символы синхронизации SYN1-SYN2 или IDLE-символы. Если же контроллер
работает в прозрачном режиме работы, он начинает передавать пары символов
DLE-SYNC.
После передачи текущего буфера данных, если в его слове состояния
установлен бит 1 = 1, контроллер выставляет запрос на маскируемое
прерывание к центральному процессору, уведомляя его о завершении передачи
очередной порции данных.
Биты CRC в регистре PSMR определяют тип контрольной суммы, которая может
вычисляться по двум алгоритмам. Если биты CRC = 01, то 8-битные данные
кодируются с использованием 16-разрядного циклического кода с полиномом
Хл16+Хл15+Хл12+1. Если биты CRC = 11, то 7-битные данные кодируются при
помощи комбинации горизонтальной контрольной суммы LRC и вертикальной
контрольной суммы VRC (контроль четности). Сумма LRC вычисляется как
операция "исключающего ИЛИ" XOR всех 7-
655
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
битных символов. Контроль VRC используется для заполнения восьмого
незанятого бита (бит контроля или parity-бит) и представляет собой
контроль по четности/нечетности, как определено в битах ТРМ в регистре
PSMR (табл. 5.85).
Таблица 5.85
Тип контроля в сети
Бит ТРМ Тип контроля
00 На нечетность
01 Бит контроля устанавливается в "0"
10 На четность
11 Бит контроля устанавливается в "1"
Вычисление контрольной суммы производится побуферно. Если в слове
состояния текущего буфера бит В = 1, то содержимое буфера участвует в
подсчете контрольной суммы. Если же бит В = 0, то содержимое буфера
игнорируется при подсчете контрольной суммы. Если же в слове состояния
текущего буфера установлен бит BR = 1, то BISYNC-контроллер перед
передачей текущего буфера сбросит счетчик контрольной суммы BCS. Обычно
этот сброс производится при передаче специфичных буферов, например,
содержащих символы начала блока STB или начала текста STX. Если бит BR =
0, то сброс счетчика BCS не производится.
Если BISYNC-контроллер работает в прозрачном режиме передачи, то перед
каждым DLE-символом в кадре вставляется дополнительный DLE-символ, но при
подсчете контрольной суммы учитывается только первый DLE-символ.
Пользователь может управлять работой передатчика BISYNC-контроллера при
помощи команд RESTART TRANSMIT, STOP TRANSMIT, GRACEFUL STOP TRANSMIT,
INIT TX PARAMETERS.
При передаче кадра данных контролируются ошибки незаполнения и потери
сигнала
CTS . Ошибка незаполнения underrun возникает, когда RISC-процессор не
успевает подготовить новые данные в ячейке буфера FIFO передатчика. При
возникновении этой ошибки контроллер прекращает передачу текущего буфера,
закрывает буфер, устанавливает бит ошибки UN := 1 в его слове состояния и
бит ТХЕ := 1 в регистре событий канала, вызывая маскируемое прерывание
центрального процессора. Передатчик возобновит свою работу после
получения команды RESTART TRANSMIT. Ошибка underrun не регистрируется в
интервале между передачей отдельных кадров и при передаче пары символов
DLE-XXX в прозрачном режиме работы.
В контроллере МРС860 размер буфера FIFO передатчика должен быть
установлен равным 32 байтам для канала SCC1 и 16 байтам - для других SCC-
Предыдущая << 1 .. 370 371 372 373 374 375 < 376 > 377 378 379 380 381 382 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed