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

Коммуникационные микроконтроллеры и системы на их основе

сбросе в него записывается содержимое ячейки MAXJDL, если счетчик IDLC досчитал до 0, то возникает ошибка приема «IDLE sequence». Текущий буфер закрывается, в нем устанавливается бит ID := 1 (закрыто из-за IDLE-переполнения) и генерируется RX-npe-рывание в регистре событий, если оно разрешено. Если не был открыт буфер для при­ема, то прерывание не генерируется.

Для работы в сетях, где присутствуют более двух станций, в состав кадра UART-npo-токола введен бит адреса. Если бит адреса равен единице, то в кадре данных передает­ся адрес получателя всех следующих кадров данных до кадра, в котором снова будет установлен бит адреса равный единице. UART-контроллер при обработке кадра с адре­сом может работать в двух режимах.

  1. Неавтоматический режим. В этом режиме канал принимает пакет с адресом как обычные данные, закрывает текущий буфер и записывает адрес в новый буфер. В слове состояния этого буфера устанавливается бит, показывающий, что буфер содержит ад­ рес. Дальнейшую обработку адреса должен выполнять центральный процессор.

  2. Автоматический режим. В этом режиме канал сам анализирует принятый адрес. Он сравнивает принятый адрес с двумя возможными, которые записаны в ячейки UADRR1 и UADRR2. В ячейках хранятся 8-битные разрешенные адреса для данного канала. Если хотя бы один адрес совпал, то данные из следующих кадров данных будут приниматься в буфер канала. При этом в первом буфере, в который будут записываться данные, в слове состояния устанавливается бит А := 1, показывающий, что это первый буфер с данными из последовательности, и бит AM, показывающий, какой адрес совпал. Если AM = 0 - совпал адрес ADRR2, если AM = 1 - то совпал адрес ADRR1.

Если при приеме кадра данных обнаружена ошибка контроля по четности/нечетности (parity error), то канал записывает принятый байт в буфер, закрывает буфер, устанавли­вает бит ошибки PR := 1 в слове состояния BD и генерирует RX-прерывание через ре­гистр событий (если оно разрешено). Также увеличивается на единицу счетчик ошибок четности в счетчике PAREC. В автоматическом многоточечном режиме работы канал пе­реходит в режим «охоты».

При приеме в асинхронном режиме UART-контроллер три раза опрашивает значение бита на битовом интервале (oversampling). Если эти значения не равны, то возникает ошибка шума (noise error). При этом канал увеличивает на единицу счетчик ошибок шума в ячейке NOSEC, записывает принятый символ в буфер и продолжает нормальную работу.

При приеме UART-контроллер выделяет кадр данных из битового потока по старт-биту в начале и стоп-битам в конце кадра. Если в кадре не обнаружены «1» стоп-битов, то возни­кает ошибка формата (frame error). Канал записывает принятый символ в буфер, закрывает буфер и устанавливает в его слове состояния бит FR := 1, увеличивает на единицу счетчик ошибок формата FRMEC и генерирует прерывание RX через регистр событий (если оно разрешено). Если произошла ошибка формата, контроль по четности не производится. В автоматическом многоточечном режиме работы канал переходит в режим «охоты».

Если UART-контроллер работает в синхронном режиме с нулевыми стоп-битами (бит RZS = 1 в регистре PSMR настройки UART-режима), ошибка формата обнаруживается, но пользователь может не реагировать на нее.

При приеме данные записываются в FIFO выбранного канала, далее они под управле­нием RISC-контроллера по SDMA-каналам пересылаются в память. Если скорость работы SDMA-каналов и сети не согласована, возможно возникновение ошибки переполнения (overrun), когда ячейки FIFO все заняты, а из сети получены новые данные. В этом случае: новые данные запишутся поверх старых символов в FIFO-буфер, буфер приема в памяти закроется, установится бит переполнения OV := 1 в слове состояния BD и будет сгенериро­вано прерывание RX через регистр событий (если оно разрешено). В автоматическом мно­готочечном режиме работы канал переходит в режим «охоты».

596