Лекция: Универсальный синхронно-асинхронный приемопередатчик (USART)
Для передачи данных по последовательному каналу микроконтроллер ATmega8515 оснащен полнодуплексным универсальным приемопередатчиком (USART). Генератор обеспечивает любую скорость передачи информации в бодах.
Характеристики USART:
– Высокая скорость передачи при низкой частоте XTAL.
– 5– 9-разрядный форматы данных.
– Фильтрация шума.
– Обнаружение переполнения.
– Обнаружение ошибок формирования кадров.
Три отдельных прерывания:
– по завершению передачи (TX Complete),
– по пустому регистру передаваемых данных (TX Data Register Empty),
– по завершению приема (RX Complete).
Выводы МК, используемые USART:
1) PD0 (RxD) – вход USART,
2) PD1 (TxD) – выход USART,
3) PD4 (XCK) – вход-выход внешнего тактового сигнала USART.
В состав модуля USART входят три основные блока:
– тактирования,
– передатчика,
– приемника.
Рис. 23. Структура модуля USART
Блок тактирования USART включает: а) схему синхронизации, используемую для работы в синхронном режиме, б) контроллер скорости передачи.
Блок передатчика USART включает: а) одноуровневый буфер, б) сдвиговый регистр, в) схему управления.
Блок приемника USART включает: а) схемы восстановления тактового сигнала и данных, б) схему контроля четности, в) сдвиговый регистр, г) схему управления.
Буферные регистры приемника и передатчика располагаются по одному адресу пространства ввода-вывода ($0C ($2C)) и обозначаются как UDR. В этом регистре хранятся 8 младших разрядов принимаемых и передаваемых данных. При чтении выполняется обращение к буферному регистру UDR приемника, а при записи – к буферному регистру передатчика.
В модулях USART буфер приемника является двухуровневым (FIFO – буфер), изменение состояния которого происходит при любом обращении к регистру UDR.
Регистр данных USART — UDR — (USART I/O Data Register)
Таблица 18. Формат регистра UDR
Биты |
| |||||||||
$0C ($2C) |
| UDR | ||||||||
Чтение/Запись |
| |||||||||
Начальное состояние |
|
В состав USARTходят регистры управления и состояния модуля USART:
– регистр управления А: UCSRA ($0B($2B)),
–регистр управления B: UCSRB ($0A($2A)),
– регистр управления C: UCSRC ($20 ($40)).