33367

Универсальный асинхронный приемопередатчик ОМК АТ90S8515

Доклад

Коммуникация, связь, радиоэлектроника и цифровые приборы

Управление работой приемопередатчика осуществляется с помощью регистра управления UCR. Текущее состояние приемопередатчика определяется с помощью регистра состояния USR. При чтении регистра UDR выполняется обращение к регистру приемника при записи к регистру передатчика. Работа передатчика разрешается установкой в 1 разряда TXEN регистра UCR UCSRB.

Русский

2013-09-05

38.5 KB

7 чел.

Универсальный асинхронный приемопередатчик ОМК АТ90S8515

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

Скорость передачи данных может варьироваться в широких пределах, причем высокие скорости передачи могут быть достигнуты даже при относительно низкой тактовой частоте микроконтроллера.

Модуль UART может обнаруживать и сигнализировать о следующих внештатных ситуациях: переполнение, ошибка кадрирования, неверный старт-бит. Для уменьшения вероятности сбоев в модуле реализована функция фильтрации помех.

Для взаимодействия с программой в модуле предусмотрены  3 раздельных прерывания, запрос на которые генерируется при наступлении следующих событий: «передача завершена», «регистр данных передатчика пуст» и «прием завершен».

Выводы микроконтроллера, используемые модулем UART, являются линиями порта D. В качестве входа приемника (RXD) используется вывод PD0, а в качестве передатчика (TXD) - вывод PD1.

Управление работой приемопередатчика осуществляется с помощью регистра управления UCR. Текущее состояние приемопередатчика определяется с помощью регистра состояния USR. Принимаемые и передаваемые данные (младшие 8 разрядов) хранятся в регистре данных UDR. Физически регистр UDR состоит из двух отдельных регистров, один из которых используется для передачи данных, другой - для приема. При чтении регистра UDR выполняется обращение к регистру приемника, при записи - к регистру передатчика. Основой передатчика и приёмника UART являются сдвиговые регистры, используемые в передатчике для преобразования параллельного кода в последовательный, а в приёмнике - последовательного кода в параллельный.

Работа передатчика разрешается установкой в «1» разряда TXEN регистра UCR (UCSRB). Если этот разряд сброшен (передатчик выключен), вывод PD1 (TXD) может использоваться как контакт ввода/вывода общего назначения. При установке разряда TXEN этот вывод подключается к передатчику UART и начинает функционировать как выход независимо от состояния разряда DDRD1 регистра DDRD.

Передача инициируется записью передаваемых данных в регистр данных UART - UDR. После этого данные пересылаются из регистра UDR в сдвиговый регистр передатчика. При этом возможны два варианта:

• новое значение записывается в регистр UDR после того, как был передан стоп-бит предыдущего слова. В этом случае данные пересылаются в сдвиговый регистр сразу же после записи в регистр UDR;

• новое значение записывается в регистр UDR во время передачи. В этом случае данные пересылаются в сдвиговый регистр после передачи стоп-бита текущего слова.

После пересылки содержимого регистра UDR в сдвиговый регистр флаг UDRE регистра USR (UCSRA) устанавливается в «1», что означает готовность передатчика к получению нового значения. В этом состоянии флаг остается до новой записи в регистр UDR. Одновременно с пересылкой формируется служебная информация: 0-й разряд сдвигового регистра сбрасывается в «0» (старт-бит), а 9-й (10-й) разряд устанавливается в «1» (стоп-бит). После загрузки сдвигового регистра его содержимое начинает сдвигаться вправо и поступать на вывод TXD в следующем порядке: старт-бит, данные (начиная с младшего разряда), стоп-бит. Сдвиг осуществляется по тактовому сигналу, вырабатываемому контроллером скорости передачи. Если во время передачи в регистр UDR было записано новое значение, то после передачи стоп-бита оно пересылается в сдвиговый регистр. Если же к моменту окончания передачи стоп-бита такой записи выполнено не было, устанавливается флаг завершения передачи ТХС регистра USR (UCSRA).

Прием данных разрешается установкой разряда RXEN регистра UCR (UCSRB). Если этот разряд сброшен (приемник выключен), вывод PD0 (RXD) может использоваться как контакт ввода/вывода общего назначения. При установке разряда RXEN этот вывод подключается к приемнику UART  и начинает функционировать как вход независимо от состояния разряда DDRD0 регистра DDRD.

Работает приемник следующим образом. Схема предварительной обработки опрашивает вход приемника с частотой, в 16 раз превышающей скорость передачи данных (для обработки одного разряда принимаемой последовательности производится 16 выборок входного сигнала). Обнаружение лог. «0» в режиме ожидания интерпретируется как появление переднего (спадающего) фронта старт-бита. После этого проверяется значение 8-, 9- и десятой выборок входного сигнала. Если значение хотя бы двух выборок из указанных равно лог. «1», старт-бит считается ложным (помеха), а приемник переходит к ожиданию следующего изменения входного сигнала с лог. «1» на лог. «0». В противном случае считается, что обнаружен старт-бит новой последовательности.

     После обнаружения старт-бита начинается обработка разрядов слова данных. Решение о значении принятого разряда принимается также по результатам 8-, 9- и десятой выборок входного сигнала. Состоянием разряда считается логическое значение, которое было получено по меньшей мере в двух из трех выборок. По мере распознавания разрядов принимаемой последовательности они помещаются, сдвигаясь влево, в сдвиговый регистр приемника.

Распознавание стоп-бита производится также по трем выборкам входного сигнала. Стоп-бит считается принятым, если значение хотя бы двух из трех выборок входного сигнала равно лог. «1». В противном случае фиксируется ошибка кадрирования и флаг FE регистра USR (UCSRA) устанавливается «1». Перед чтением регистра данных UDR следует всегда проверять состояние этого флага.

Независимо от того был или не был обнаружен стоп-бит в конце принимаемой посылки, принятое слово пересылается в регистр данных и устанавливается флаг RXC  регистра USR (UCSRA).

Если новое слово будет принято до того, как из регистра UDR будут считаны предыдущие данные, возникает переполнение. Об этом сигнализирует флаг OR регистра USR (UCSRA), который в этом случае устанавливается в «1». Установка этого флага означает, что принятые данные не могут быть пересланы из сдвигового регистра в регистр данных и, соответственно, являются потерянными. Сбрасывается указанный флаг только после обращения к регистру данных. Поэтому при высоких скоростях передачи либо при большой загрузке процессора пользователь после каждого чтения содержимого регистра UDR должен проверять состояние флага OR регистра USR (UCSRA) для обнаружения возможного переполнения.


 

А также другие работы, которые могут Вас заинтересовать

68078. Schulleben. Der erste Schultag 29.5 KB
  Обговорення прислів’я «Wie der Anfang so das Ende» та прислів’я «Guter Anfang ist halbe Arbeit». Was bedeutet dieses Sprichwort? Könnt ihr ein ukrainisches Äquivalent geben? Seid ihr mit dieses Sprichwort einverstanden?
68079. В гості до товариша 48.5 KB
  Любиш у гостях бувати люби й гостей приймати. Теми для обговорення: а У Оксани день народження Діти накривають святковий стіл запрошують гостей б У гості з подарунком Що дарувати і як приймати подарунки в У передпокої Як господар вітає і зустрічає гостей г Скупий і непривітний хазяїн Господар сідає...
68080. Kleidung und Mode (Одяг і мода) 47.5 KB
  Wir begrüßen Sie hier in diesem Saal. Heute haben wir einen ungewöhnlichen Abend zum Thema «Kleidung und Mode». In den Deutschstunden haben wir viel über die Kleidung gelesen, gesprochen, und verschiedene Übungen gemacht. Mode ist ein Teil unseres Lebens. Es gibt Mode auf alles: auf Kleidung, auf Handys, auf Musik usw.
68081. Методична розробка «З Перемогою!» 89 KB
  Цілі: Знайомство з героїчними сторінками історії нашої країни. Формування уявлень про військовий обов,язок і вірність Батьківщині, формування досвіду моральної поведінки особистості, спонукання інтересу до історії своєї країни. Підвищення інформаційної культури учнів
68083. Планування дій. Алгоритм 473.5 KB
  Навчальна: Розкрити зміст поняття алгоритм. Формувати в учнів уміння складати алгоритм здійснення того чи іншого процесу. Формувати в учнів уміння передбачати певний результат. Розвивальна: Розвивати вміння узагальнювати. Розвивати вміння працювати колективно.
68085. Прогулянка до лісу. Диференціація звуків л-р-л’-р’ 35.5 KB
  Мета: вчити дітей розрізняти звуки (л-р-л′-р′), автоматизувати ці звуки у зв’язному мовленні; розвивати у дітей слухову увагу, пам'ять; розвивати дрібну моторику; розвивати міміку дітей; удосконалювати мовну моторику, фонематичний слух, фонематичне сприймання, фонематичний аналіз та синтез.