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

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

закрывает буфер и устанавливает бит ошибки проверки CRC суммы CR := 1 в слове состояния буферного дескриптора и бит RXF := 1 в регистре событий, вызывая маски­руемое прерывание центрального процессора. Далее контроллер переходит в режим поиска нового кадра данных.

Ошибка приема BREAK-последовательности. Эту ошибку обнаруживает UART-при-емник при приеме break-символа, состоящего из одних нулевых битов. При обнаруже­нии этой ошибки открытый буфер приема закрывается, в его слове состояния уста­навливается бит ошибки BRK := 1 и генерирует, если разрешено, прерывание RXF через регистр событий. При этом для прерванного кадра CRC контроль не выполняет­ся. Событие начала приема BREAK-последовательности регистрируется в бите BRKs регистра событий, а окончание BREAK-последовательности при получении первого единичного бита регистрируется в бите BRKe регистра событий.

Ошибки шума, характерные для UART-протокола в асинхронном режиме, не регист­рируются. Появление ошибок такого типа должно обнаруживаться при проверке конт­рольной суммы.

UART-контроллер. Основные режимы работы UART-контроллера. Протокол UART (Universal Asynchronous Receiver Transmitter) используется для организации низкоскоро­стного канала связи между двумя станциями в сети. Термин асинхронный означает, что между станциями передаются только данные и не передаются тактовые сигналы. Прото­кол UART-это символьно-ориентированный протокол, т. е. минимальная единица пере­даваемой информации - это символ, и при передаче могут встречаться только символы строго определенного формата. Если принят символ, который не входит в установлен­ный протоколом набор символов, то принятый пакет игнорируется и генерируется сооб­щение об ошибке. Ряд символов из установленного набора используются для управле­ния передачей и не являются информационными. Наиболее часто асинхронный канал связи применяется для соединения терминалов и компьютеров или для подключения отладочного оборудования.

Генераторы тактовых сигналов приемника и передатчика работают независимо и асин­хронно, но с близкими частотами синхронизации. Для связи двух станций достаточно всего двух линий (одна - для передачи данных TxD, другая - для приема данных RxD). Признаком начала кадра является появление старт-бита на линии данных. Приемник измеряет длину старт-бита, измеряет частоту передачи данных и внутри приемника уве­личивает ее в 8, 16, 32 раза. Затем приемник опрашивает 8, 16, 32 раза значение бита на битовом интервале. Обычно используется увеличение частоты в 16 раз и опрос значе­ния бита производится тоже 16 раз. Выбрав из проведенных 16 опросов три опроса в центре битового интервала (обычно это опросы 7, 8, 9), приемник анализирует их зна­чение и за значение бита на битовом интервале выбирается значение по максимально­му совпадению результатов этих трех опросов. Этот процесс определения значения бита при асинхронной передаче носит название oversampling.

Когда в UART сети нет передачи информации, передатчик посылает в канал последо­вательность битов «1», которая называется IDLE-последовательность. Так как старт-бит в кадре всегда равен 0, то приемник может всегда легко выделить начало кадра в канале связи. UART-протокол также использует последовательность из всех «О», которая назы­вается BREAK-последовательностью и служит для прерывания передач в канале.

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

590

ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ

UART TXD

Г

Старт-бит

5, 6, 7, 8 битов данных (LSB-бит передается первым)

Бит адреса

Бит контроля

От 9/1 6 до 2 стоп-битов

UART

CLK

8x, 16x, 32x

Рис. 5.104. Формат кадра UART-протокола (тактовая частота показана не масштабированной)

Любой SCC может быть запрограммирован на работу в UART-протоколе. В СРМ дополнительно SMC-каналы могут работать с упрощенной версией UART-протокола. Программирование каналов осуществляется в регистре GSMR в СРМ.

При работе UART-контроллер поддерживает режим multidrop для работы в сетях master/slave (рис. 5.105). Для обеспечения работы в сетях с многоточечной (multipoint) конфигурацией в состав кадра данных введен дополнительный «адресный» бит.

При работе с UART-протоколом, но в режиме NMSI, каждый SCC-канал получает дос­туп к семи внешним контактам: передаваемые данные TXD, принимаемые данные RXD, синхронизация приема RCLK, синхронизация передачи TCLK, запрос передачи RTS , разрешение приема стз и индикатор передачи cd . Другие модемные сигналы - DSR (готовность данных) и готовность терминала DTR - могут быть реализованы через контак­ты параллельных портов ввода/вывода. Таким образом, каналы, работающие с UART-протоколом, могут обмениваться данными с любыми внешними устройствами, поддер­живающими стык RS-232.

Формат кадра. В любом режиме работы формат кадра UART-протокола состоит из следующих элементов:

  • старт-бита «О»;

  • битов данных (LSB-бит передается первым);

  • необязательного адресного бита;

  • необязательного бита контроля по четности/нечетности;

  • одного или двух стоп-битов «1».

Пользователь может сам определить формат кадра, программируя регистр настрой­ки UART-режима PSMR (рис. 5.106) в контроллере МРС860.

A+U

МС68302

QUICC

PowerQUICC

1

TxD RxD

TxD RxD

TxD RxD

'

MASTER

SLAVE

SLAVE

A +U

TxD RxD

TxD RxD

TxD RxD

A

i

I Y"

<

I t

т

Рис. 5.105. Два способа включения UART-контроллера в конфигурации multidrop

591

КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ

FLC SL

CL

им

8 9

10 11

FRZ RZS SYN DRT — PEN

12

RPM

13 14

ТРМ

15

Рис. 5.106. Формат регистра режима PSMR для UART-контроллера Биты CL определяют длину передаваемых данных (табл. 5.68).

Таблица 5.68 Длина передаваемых данных

бито.

Размер поля данных, бит

00

5

01

6

10

7

11

8

Биты SL определяют длину стоп-битов: 0 - один стоп-бит, 1 - два стоп-бита. Для того чтобы правильно распознать конец кадра, приемник должен получить хотя бы один стоп-бит. Стоп-бит - это логическая «1». Для асинхронного UART передатчик может быть зап­рограммирован на использование дробных стоп-битов. Дробным может быть только пос­ледний стоп-бит, т. е. если используются два стоп-бита, то первый передается в полном формате, а второй - в дробном. Символы IDLE всегда передаются с полными стоп-бита-ми. При программировании дробных стоп-битов (табл. 5.69) используются биты FSB в регистре синхронизации SCC-канала DSR. Эти биты доступны пользователю и могут быть модифицированы в любое время.

Таблица 5.69