Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Пример на Си. unsigned int USART_Receive (void)




 

unsigned int USART_Receive (void)

{

unsigned char status, resh, resl

 

/* ждать заполнения буфера приемника */

 

while(!( UCSRA & ( 1 << RXC)));

 

/* Прочитать 9-й бит данных и флаги состояния */

 

status = UCSRA;

 

resh = UCSRB;

 

/* Прочитать младший байт данных */

resl = UDR;

 

/* В случае ошибки вернуть */

 

if ( status & ( 1 << FE) | (1<<DOR) | (1<<UPE)

 

return –l;

/* Выделить 9-й бит данных */

 

resh = (resh >> l) & 0x01;

 

return ((resh << 6) | resl);

 

}

 

Собственно прием всех битов кадра осуществляется по-разному, в за­висимости от режима работы модуля. При работе модуля USART в синх­ронном режиме состояние вывода RXD (RXDn) считывается по одному из фронтов сигнала ХСК (ХСn). Если бит UCPOL (UCPOn) регистра UCSRC (UCSRnC) сброшен в 0, считывание состояния вывода происхо­дит по спадающему фронту сигнала ХСК (ХСn), если же установлен в 1 — по нарастающему фронту сигнала. Другими словами, считывание данных с вывода RXD (RXDn) и их выдача на вывод TXD (ТХDn) происходят по противоположным фронтам .

Для обеспечения приема в асинхронном режиме работы используются схемы восстановления тактового сигнала и данных. Схема восстановления тактового сигнала предназначена для синхронизации внутреннего такто­вого сигнала, формируемого контроллером скорости передачи, и кадров, поступающих на вывод RXD (RXDn) микроконтроллера. Схема восста­новлении данных осуществляет считывание и фильтрацию каждого бита принимаемого кадра.

Схема восстановления тактового сигнала осуществляет опрос входа приемника с целью определения старт-бита кадра. Частота опроса зависит от состояния бита U2X(U2Xn) регистра UCSRA (UCSRnA). В обычном ре­жиме (при U2Xn = 0) частота опроса в 16 раз превышает скорость передачи данных, а в ускоренном режиме (при U2X = 1) — в 8 раз.

Обнаружение изменения сигнала на выводе RXD (RXDn) с лог. 1 (ре­жим ожидания) на лог 0 интерпретируется как возможное появление пе­реднего фронта старт-бита. После этого в нормальном режиме проверяет­ся значение 8- й, 9-й и 10- й выборок входного сигнала, а в ускоренном ре­жиме — 4- й, 5- й и 6- й выборок. Если значение хотя бы двух выборок из указанных равно лог. 1 старт-бит считается ложным (помеха), а приемник переходит к ожиданию следующего изменения входного сиг­нала с лог. 1 на лог. 0. В противном случае считается, что обнаружен Старт-бит новой последовательности, с которым синхронизируется внут­ренний тактовый сигнал приемника. После этого начинает работать схема восстановления данных. [ 1, с.477-501 ]

 

 

Раздел

Программные средства разработки


Поделиться:

Дата добавления: 2014-12-30; просмотров: 177; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты