8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 154 155 156 157 158 159 160 ... 195

13.2. Использование модулей USART

Упрощенная структурная схема одного модуля USART приведена на Рис. 13.1.

±

UBRR(H:L) -I-

Блок тактирования

OSC

Контроллер скорости передачи

Синхронизатор

Интерфейс

±

Передатчик

-4Н

UDR (передача)

Сдвиговый регистр ( ► передатчика

Формирователь бита четности

Схема управления

tH

Интерфейс

Сдвиговый регистр > приемника

-UDR (прием)-

Блок восстановления тактового сигнала

Блок восстановления данных

Блок контроля четности

Приемник

Схема управления

Интерфейс

UCSRA

I

UCSRB

I

UCSRC

Т

ХСК

TxD

RxD

Рис. 13.1. Структурная схема модуля USART

Как показано на рисунке, модуль состоит из трех основных частей: блока тактирования, блока передатчика и блока приемника. Блок тактирования модулей USART содержит схему синхронизации, которая используется при работе в синхронном режиме, и контроллер скорости передачи.

Блок передатчика включает одноуровневый буфер, сдвиговый регистр, схему формирования бита четности и схему управления. Блок приемника, в свою очередь, содержит схемы восстановления тактового сигнала и дан-


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

Буферные регистры приемника и передатчика располагаются по одному адресу пространства ввода/вывода и обозначаются как регистр данных UDR (UDR/?). В этом регистре хранятся младшие 8 битов принимаемых и передаваемых данных. При чтении регистра UDR выполняется обращение к буферному регистру приемника, при записи — к буферному регистру передатчика. Размещение регистров данных UDR для различных моделей микроконтроллеров приведено в Табл. 13.3.

Таблица 13.3. Размещение регистров данных модулей USART

Регистр

Адрес

ATmega8515x/8535x

ATmega8x/16x/32x

ATmega64x/128x

ATmega48x/88x/168x

ATmegal62x

ATmegal64x/324x/644x

ATmega 165x,

ATmega325x/3250x,

ATmega645x/6450x

ATmega640x/1280x/2560x

ATmegal281x/2561x

Описание

UDR

$0С ДОС)

Регистр данных USART

($С6)

UDR0

$ос

ДОС)

Регистр данных USARTO

($С6)

UDR1

$03 ($23)

Регистр данных USART 1

($9С)

($СЕ)

UDR2

($D6)

Регистр дан ных USART2

UDR3

($136)

Регистр данных USART3

В модулях USART буфер приемника является двухуровневым (FIFO-буфер), изменение состояния которого происходит при любом обращении к регистру UDR. В связи с этим не следует использовать регистр UDR в качестве операндов команд типа «чтение/модификация/запись» (SBI и CBI) Кроме того, следует быть очень аккуратными при использо-


вании команд проверки SBIChSBIS, поскольку они также изменяют состояние буфера приемника.

Для управления модулями USART используются три регистра: UCSRA (UCSRM), UCSRB (UCSR/jB) и UCSRC (UCSR/jC). Адреса этих регистров указаны в Табл. 13.4.

Таблица 13.4. Регистры управления и состояния модулей USART

Регистр

Адрес

ATmega8515x/8535x

ATmega8x/16x/32x

ATmega64x/128x

ATmega48x/88x/168x

ATmega 162x

ATmegal64x/324x/644x

ATmega 165x,

ATmega325x/3250x,

ATmega645x/6450x

ATmega640x/1280x/2560x

ATmegal281x/2561x

Описание

UCSRA

$0В ($2В)

Регистр управления A

UCSRB

$0А ($2А)

Регистр управления В

UCSRC

$20 ($40)

Регистр управления С

UCSR0A

$0В ($2В)

Регистр А

управления

USARTO

($С0)

UCSR0B

$0А ($2А)

Регистр В

управления

USARTO

($С1)

UCSR0C

$20 ($40)

Регистр С

управления

USARTO

($95)

($С2)

UCSR1A

$02 ($22)

Регистр А

управления

USART1

($9В)

($С8)

UCSR1B

$01 ($21)

Регистр В

управления

USART1

($9А)

($С9)



0 ... 154 155 156 157 158 159 160 ... 195