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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 331 332 333 334 335 336 < 337 > 338 339 340 341 342 343 .. 528 >> Следующая

возникновение ошибки переполнения (overrun), когда ячейки FIFO все
заняты, а из сети получены новые данные. В этом случае: новые данные
запишутся поверх старых символов в FIFO-буфер, буфер приема в памяти
закроется, установится бит переполнения OV := 1 в слове состояния BD и
будет сгенерировано прерывание RX через регистр событий (если оно
разрешено). В автоматическом многоточечном режиме работы канал переходит
в режим "охоты".
596
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
При приеме UART-контроллер может использовать вход CD для автоматического
контроля наличия передачи в сети. Если сигнал со равен единице при приеме
символа, то возникает ошибка (CD lost) "потери CD-сигнала". Прием символа
прекращается, буфер закрывается, устанавливается бит CD := 1 в слове
состояния BD и генерируется прерывание RX через регистр событий (если оно
разрешено). В автоматическом многоточечном режиме работы канал переходит
в режим "охоты".
В режим "охоты" перевести канал может и пользователь, если передаст через
RISC-контроллер каналу команду ENTER HUNT MODE. Если при этом канал
принимал сообщение, то оно будет потеряно. Находясь в режиме "охоты",
приемник принимает BREAK-символы, увеличивает счетчик BRKEC, генерирует
BRK-прерывание через регистр событий. Переход в рабочий режим возможен,
если придет IDLE-символ или кадр с установленным битом адреса в
многоточечной сети. Таким образом, в режиме "охоты" канал прекращает
текущий прием кадра, закрывает старый буфер, подготавливает новый буфер и
ждет нового кадра.
Если при приеме символов в режиме UART-протокола коммуникационный
процессор получит команду CLOSE Rx BD, то он останавливает прием в
текущий буфер, закрывает текущий BD, генерирует маскируемое прерывание и
начинает прием в новый буфер.
Прием служебных символов. В ходе своей работы приемник может быть
запрограммирован на выявление во входном битовом потоке кадров, которые
содержат служебные символы. Служебным называется символ, при приеме
которого может генерироваться прерывание. При обработке этого прерывания
пользователь может анализировать процесс приема символов в сети. Формат
служебных символов задает сам пользователь в регистрах CHAR1-CHAR8.
Регистры управления служебными символами имеют следующий формат (рис.
5.107).
Каждый служебный символ имеет размер 8 бит. Принимая новый кадр данных,
приемник начинает последовательно сравнивать его содержимое со служебными
символами в таблице. Пользователь может управлять размером таблицы
служебных символов с помощью бита Е (конец таблицы). Если у символа CHARi
бит Е = 1, то это последний символ в таблице, и приемник прекращает
проверку служебных символов. Если необходимо иметь таблицу из восьми
символов, то у всех ячеек Е = 0.
Если служебный символ принят и совпал с шаблоном из таблицы, то он может
быть сохранен в буфере, если бит R = 0 в ячейке шаблона, или может быть
сохранен во временном регистре RCCR, если бит R = 1. Если бит R = 0, то
после передачи символа в буфер буфер закрывается, новый буфер открывается
для приема следующих данных и генерируется прерывание, если бит I = 1 в
слове состояния BD. Если бит R = 1, то операции с текущим буфером не
производится, но прерывание генерируется.
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CHAR 1 Е R Служебный символ
1
CHAR2 Е R Служебный символ 2
CHAR3 Е R - Служебный символ 3
CHAR4 Е R Служебный символ 4
CHAR5 Е R Служебный символ 5
CHAR6 Е R Служебный символ 6
CHAR7 Е R - Служебный символ 7
CHAR8 Е R Служебный символ 8
RCCM 1 1 Регистр маски
служебных символов
Рис. 5.107. Формат ячеек служебных символов ''
591
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
Пользователь может запретить проверку сравнения некоторых служебных
символов с помощью регистра маски RCCM (рис. 5.107). В младших восьми
битах этого регистра хранятся признаки проверки символов. Если i-разряд
равен нулю, то проверка на сравнение принятого символа и служебного
символа CHARi не производится. Если i-разряд равен единице, то символ
CHARi принимает участие в сравнении. В старших разрядах (15-й и 14-й
биты) ячейки RCCM хранятся, для того чтобы избежать ошибок при обработке
битов Е и R в таблице служебных символов.
Если служебный символ был сохранен в буфере, то в слове состояния BD
устанавливается бит С := 1, который сообщает пользователю, что последний
байт в буфере - это служебный символ.
Кроме служебных символов UART-контроллер может контролировать прием
символов BREAK. Символ BREAK - это от 9 до 13 "0" без стоп-битов. Если
контроллер получил последовательность BREAK-символов, то он увеличивает
счетчик BRKEC и закрывает текущий буфер приема, устанавливает в его слове
состояния бит BR := 1 и генерирует Rx-прерывание через регистр событий,
если оно разрешено. В СРМ-процессоре контроллер также контролирует длину
BREAK-последовательности.
При приеме первого BREAK-символа контроллер устанавливает бит начала
Предыдущая << 1 .. 331 332 333 334 335 336 < 337 > 338 339 340 341 342 343 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed