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

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

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

каналов (бит TFL = О в регистре GSMR_H). ____
Ошибка потери сигнала cts возникает, если при передаче сигнал CTS станет
пассивным (CTS = 1). При возникновении этой ошибки канал прерывает
передачу, закрывает буфер передачи, устанавливает бит ошибки СТ := 1 в
слове состояния буферного дескриптора и бит ТХЕ := 1 в регистре событий
канала, вызывая прерывание центрального процессора. Передача будет
возобновлена после получения команды RESTART TRANSMIT.
Прием данных. При приеме данных BISYNC-контроллер без вмешательства
центрального процессора выполняет обработку кадра данных: подсчет и
сравнение контрольной суммы блока BCS (CRC16 или LRC, VRC), удаление
символов SYNC в нормальном режиме передачи, удаление пар символов DLE-
SYNC и первого DLE-символа в паре DLE-DLE при работе в прозрачном режиме
передачи, сравнение принятого символа со служебными символами в таблице
контрольных символов.
656
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
После включения приемника в работу (бит ENR = 1) канал переходит в режим
поиска нового кадра (hunt mode). Начало нового кадра обнаруживается при
приеме символов SYN1-SYN2, формат которых задан в регистре синхросимволов
DSR. Прием этих символов выполняет синхронизацию кадра данных, далее
контроллер начинает прием и обработку самого кадра.
Возврат в режим hunt будет возможен или когда контроллер получит от
центрального процессора команду ENTER HUNT MODE, или если при приеме
будет обнаружена ошибка, или если будет принят определенный контрольный
символ.
Бит RTR определяет режим работы приемника. Если бит RTR = 0, то приемник
работает в нормальном режиме с распознаванием и удалением SYNC-символов и
анализом служебных символов. Если бит RTR = 1, то приемник работает в
режиме прозрачного обмена (в этом режиме всегда вычисляется контрольная
сумма CRC16).
При приеме каждого байта данных контроллер подсчитывает контрольную сумму
принятых данных и обновляет значение бита CR в слове состояния буферного
дескриптора. При этом контроллер при приеме очередного байта данных
делает паузу в восьми периодах тактового сигнала приемника RCLK перед
включением этого байта в расчет контрольной суммы BCS. В течение приема
следующего байта пользователь может установить бит RBCS = 0 в регистре
PSMR, и тогда предыдущий принятый байт будет исключен из расчета
контрольной суммы BCS. Если же бит RBCS = 1, то принятый байт будет
включен в подсчет контрольной суммы.
Если выбран подсчет LRC контрольной суммы, то бит RPM определяет тип
контроля по четности/нечетности (табл. 5.86) для приемника.
Таблица 5.86
Тип контроля в сети
Бит RPM Тип контроля
00 На нечетность
01 Бит контроля должен быть равен "0"
10 На четность
11 Бит контроля должен быть равен "1"
Когда буфер приема будет полностью заполнен, контроллер сбрасывает бит
пустого буфера Е := 0, и если установлен бит I = 1, то генерирует
маскируемое прерывание к центральному процессору. Если размер принимаемых
данных больше, чем установленная длина буфера приема, то контроллер
проверяет бит незанятости следующего буфера в таблице RxBD, и если этот
бит равен Е = 1, то продолжает прием данных в новый буфер.
Когда принимается поле BCS, BISYNC-контроллер сравнивает подсчитанное
значение контрольной суммы блока с содержимым этого поля и записывает его
в буфер. Поскольку это было последнее поле кадра, контроллер
устанавливает в слове состояния буфера бит последнего буфера кадра L = 1,
записывает биты статуса принятого кадра и сбрасывает бит Е := 0. Затем
контроллер генерирует маскируемое прерывание к центральному процессору,
уведомляя его, что блок данных принят и находится в памяти.
Пользователь может управлять работой приемника BISYNC-контроллера при
помощи команд INIT RX PARAMETERS, ENTER HUNT MODE, CLOSE RX BD, RESET BCS
CALCULATION. Команда RESET BCS CALCULATION обычно передается контроллеру
после того, как получен и проанализирован контрольный символ начала
блока, например символы STX или SOH, чтобы для последующих данных нового
блока данных провести независимый подсчет контрольной суммы.
При приеме кадра данных контролируются ошибки переполнения, ошибки
проверки бита контроля, ошибки проверки контрольной суммы и ошибки потери
сигнала CD .
657
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
Ошибка переполнения overrun возникает, когда RISC-процессор не успевает
освобождать ячейки буфера FIFO приемника, и BISYNC-контроллер вынужден
записывать новые данные поверх старых, в результате старые данные
теряются. При возникновении этой ошибки канал прекращает прием данных,
закрывает буфер приема, устанавливает бит ошибки OV := 1 в слове
состояния буферного дескриптора и бит RX := 1 в регистре событий, вызывая
запрос на прерывание.
В контроллере МРС860 размер ячейки буфера FIFO приемника должен быть
установлен равным 8 битам (бит RFW = 1 в регистре GSMR_H). При этом
размер буфера FIFO будет установлен равным 8 байтам для канала SCC1 и 4
Предыдущая << 1 .. 371 372 373 374 375 376 < 377 > 378 379 380 381 382 383 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed