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) для обнаружения возможного переполнения.


 

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

60040. Дитячі забави 39 KB
  Вивчення нового матеріалу: Лексична сторона мовлення: Вправа на формування різних рівнів лексичних узагальнень. Вправа на формування активного словникового запасу. Вправа на розвиток лексичнох системності.
60041. Free time 69.5 KB
  Look at the blackboard. What date is it today? What day is it today? Today is the 16th of October and Thuesday. Today we continue to speak about Free Time and today we’ll take part in a detective story. Today I’m a detective and you are my Watsons.
60042. Генетика пола, Половой диморфизм 80 KB
  Сегодня на занятии мы рассмотрим генетику пола. В конце урока мы с вами будем иметь представление о хромосомном определении пола так же других вариантах определения пола и каким образом происходит наследование признаков сцепленных с полом.
60044. Роль государства в экономике 73 KB
  Цель урока: объяснить учащимся какую роль играет государство в рыночной экономике. Зачем экономике государство. Какие функции в обществе выполняет предпринимательство От чего зависит успех предпринимательской деятельности.
60047. Складання та розв’язання задач на матеріалі навколишнього світу, як засіб розвитку пізнавальних інтересів учнів 51 KB
  Дитина з малих років повинна розуміти що все досягається працею і що працювати непросто. Як правило всі діти 67 років з великим бажанням йдуть до школу їм все цікаво вони завжди хочуть відповідати руки їх постійно тягнуться вгору вони навіть...
60048. Розв’язання сюжетних задач 245.5 KB
  Мета заняття: дидактична: формувати навички розвязування текстових задач розвивати в учнів усну і письмову культуру мовлення логічне мислення заохочувати учнів до самостійної навчальної діяльності виховувати у них позитивну мотивацію...