Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс с 524 по 631.doc
Скачиваний:
6
Добавлен:
16.04.2019
Размер:
2.54 Mб
Скачать

Поддержка протоколов в коммуникационных контроллерах

При приеме UART-контроллер может использовать вход CD для автоматического контроля наличия передачи в сети. Если сигнал 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, то операции с текущим буфером не производится, но прерывание генерируется.

CHAR1 CHAR2 CHAR3 CHAR4 CHAR5 CHAR6 CHAR7 CHAR8 RCCM

10 11 12 13 14 15

Е

R

-

-

Служебный символ 1

Е

R

-

-

-

Служебный символ 2

Е

R

-

Служебный символ 3

Е

R

-

-

Служебный символ 4

Е

R

-

Служебный символ 5

Е

R

-

-

Служебный символ 6

Е

R

-

Служебный символ 7

Е

R

Служебный символ 8

1

1

-

Регистр маски служебных символов

Рис. 5.107. Формат ячеек служебных символов

597