ÊÒÖ-ÌÊ
РЕГИСТР СТАТУСА UART - USR - (UART Status Register) |
|
|
|||||||
Áèò |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$0B ($2B) |
RXC |
TXC |
UDRE |
FE |
DOR |
- |
- |
- |
USR |
Чтение/Запись |
R |
R/W |
R |
R |
R |
R |
R |
R |
|
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр USR обеспечивает только чтение информации о состоя нии UART.
• Bit 7 - RXC: UART Receive Complete - Прием завершен
Данный бит устанавливается в состояние 1 при пересылке пр инятого символа из сдвигового регистра приема в UDR. Бит устанавливается вне за висимости от отсутствия или наличия ошибок приема кадра. При установленном в UCR бит е RXCIE и установленном бите RXC выполняется прерывание по завершен ию приема UART. Бит RXC очищается при считывании UDR. При приеме данных инициирова нном прерыванием, подпрограмма обработки прерывания по завершению приема UART должна считать UDR, с тем, чтобы очистить RXC, иначе по окончании подпрограммы о бработки прерывания произойдет новое прерывание
• Bit 6 - TXC: UART Transmit Complete - Передача завершена
Данный бит устанавливается в состояние 1 когда весь симво л (включая стоповый бит) выведен из сдвигового регистра передачи и в UDR не записаны новые данные. Этот флаг используется при полудуплексном связном интерфейс е, когда оборудование передачи должно установить режим приема и освободить ком муникационную шину сразу после завершения передачи.
При установленном в регистре UCR бите TXCIE установка TXC приведет к выполнению прерывания по завершению передачи UART. Флаг TXC очищается аппа ратно при выполнении обработки соответствующего вектора прерыван ия. Очистить бит TXC можно записью в бит логической 1.
• Bit 5 - UDRE: UART Data Register Empty - Регистр данных пуст
Данный бит устанавливается в состояние 1 когда символ, зап исанный в UDR, пересылается в сдвиговый регистр передачи. Установка этого бита означа ет, что передатчик готов к получению нового символа для передачи.
Когда бит UDRIE в UCR установлен, до тех пор пока установлен UDRE, вып олняется прерывание по завершению передачи UART. Бит UDRE очищается при з аписи в UDR. При приеме данных инициированном прерыванием, подпрогра мма обработки прерывания по пустому регистру данных UART должна считать UDR, с тем, чтобы очистить UDRE, иначе по окончании подпрограммы прерывания произойдет новое прерывание. Во время сброса бит UDRE устанавливается в состояние 1 с тем, ч тобы индицировать готовность передатчика.
• Bit 4 - FE: Framing Error - Ошибка кадра
Данный бит устанавливается в состояние 1 при обнаружении условий ошибочного приема кадра, т.е. когда стоповый бит входящего символа в со стоянии 0. Бит FE очищается при приеме стопового бита с логическим уровнем 1.
• Bit 3 - DOR: Data OverRun - Переполнение данных
Бит DOR устанавливается в состояние 1 при обнаружении услови й переполнения, т.е. когда символ, уже находящийся в регистре UDR, не считан перед пересылкой нового символа из сдвигового регистра приема. Бит DOR буферирован, что означает, что он будет оставаться установленным пока не будут считаны пра вильные данные из UDR. Бит DOR очищается (сбрасывается в 0) когда данные приняты и пе ресланы в UDR.
119
ATMEL ÊÒÖ-ÌÊ
• Bits 2..0 - Res: Reserved bits - Зарезервированные биты
Эти биты в микроконтроллерах ATmega603/103 зарезервированы и при с читывании всегда покажут состояние 0.
РЕГИСТР УПРАВЛЕНИЯ UART - UCR - (UART Control Register)
Áèò |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$0A ($2A) |
RXCIE |
TXCIE |
UDRIE |
RXEN |
TXEN |
CHR9 |
RXB8 |
TXB8 |
UCR |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
•Bit 7 - RXCIE: RX Complete Interrupt Enable - Разрешение прерывания по
завершению приема
При установленном в состояние 1 бите RXCIE и установленном раз решении глобального прерывания установка бита RXC в регистре USR приведет к выполн ению прерывания по завершению приема.
•Bit 6 - TXCIE: TX Complete Interrupt Enable - Разрешение прерывания по завершению
передачи
При установленном в состояние 1 бите TXCIE и установленном раз решении глобального прерывания установка бита
TXC в регистре USR приведет к выполнению прерывания по заверше нию передачи.
•Bit 5 - UDRIE: UART Data Register Empty Interrupt Enable - Разрешение прерывания
по пустому регистру данных
При установленном в состояние 1 бите UDRIE и установленном раз решении глобального прерывания установка бита
UDRE в регистре USR приведет к выполнению прерывания по пустому регистру данных UART.
•Bit 4 - RXEN: Receiver Enable - Разрешение приемника
Установленный в состояние 1 бит RXEN разрешает приемник UART. Есл и приемник запрещен, то флаги статуса TXC, DOR и FE установить невозможно. Ес ли эти флаги установлены, то очистка бита RXEN не приведет к очистке этих ф лагов.
• Bit 3 - TXEN: Transmitter Enable - Разрешение передатчика
Установленный в состояние 1 бит TXEN разрешает передатчик UART. П ри запрещении передатчика во время передачи символа, передатчик не буде т заблокирован прежде, чем будут полностью переданы символ в сдвиговом регистре плюс любой находящийся в UDR следующий символ.
• Bit 2 - CHR9: 9 Bit Characters - Режим 9-разрядных символов
При установленном в состояние 1 бите CHR9 передаются и приним аются 9-разрядные символы плюс стартовый и стоповый биты. Девятые биты чита ются и записываются с использованием битов RXB8 и TXB8 (соответственно) регистра UCR. Дев ятый бит данных может использоваться как дополнительный стоповый бит ил и бит контроля четности.
• Bit 1 - RXB8: Receive Data Bit 8 - Прием 8-разрядных данных
При установленном в состояние 1 бите CHR9 бит RXB8 является девят ым битом данных принятого символа.
• Bit 0 - TXB8: Transmit Data Bit 8 - Передача 8-разрядных данных
При установленном в состояние 1 бите CHR9 бит TXB8 является девят ым битом данных передаваемого символа.
120
ÊÒÖ-ÌÊ
БОД-ГЕНЕРАТОР (Baud Rate Generator)
Бод-генератор представляет собой делитель, генерирующий импульсы передачи с частотой, определяемой выражением:
BAUD= fCK
16(UBRR+1), ãäå:
• BAUD = частота в бодах.
• fCK = частота кварцевого генератора.
• UBRR = содержимое регистра UBRR (Baud Rate register = 0 - 255).
При использовании стандартных кварцевых кристаллов, наи более часто используемые скорости передачи в бодах могут быть получе ны установками UBRR, представленными в Табл. 24. При установках UBRR, указанных в таб лице, реальные скорости в бодах будут иметь отличия менее 2% от стандартны х скоростей (показано в таблице полужирным шрифтом).
Таблица 24. Установки UBRR при различных стандартных частотах кварцевы х кристаллов
Скорость |
1 MHz |
Îøèá- |
1,8432 MHz |
Îøèá- |
2 MHz |
|
Îøèá- |
2,4576 MHz |
Îøèá- |
|
(áîä) |
|
êà,% |
|
êà,% |
|
|
êà,% |
|
|
êà,% |
2400 |
UBRR= 25 |
0,2 |
UBRR= 47 |
0,0 |
UBRR= 51 |
|
0,2 |
UBRR= 63 |
0,0 |
|
4800 |
UBRR= 12 |
0,2 |
UBRR= 23 |
0,0 |
UBRR= 25 |
|
0,2 |
UBRR= 31 |
0,0 |
|
9600 |
UBRR= 6 |
7,5 |
UBRR= 11 |
0,0 |
UBRR= 12 |
|
0,2 |
UBRR= 15 |
0,0 |
|
14400 |
UBRR= 3 |
7,8 |
UBRR= 7 |
0,0 |
UBRR= 8 |
|
3,7 |
UBRR= 10 |
3,1 |
|
19200 |
UBRR= 2 |
7,8 |
UBRR= 5 |
0,0 |
UBRR= 6 |
|
7,5 |
UBRR= 7 |
0,0 |
|
28800 |
UBRR= 1 |
7,8 |
UBRR= 3 |
0,0 |
UBRR= 3 |
|
7,8 |
UBRR= 4 |
6,3 |
|
38400 |
UBRR= 1 |
22,9 |
UBRR= 2 |
0,0 |
UBRR= 2 |
|
7,8 |
UBRR= 3 |
0,0 |
|
57600 |
UBRR= 0 |
7,8 |
UBRR= 1 |
0,0 |
UBRR= 1 |
|
7,8 |
UBRR= 2 |
12,5 |
|
76800 |
UBRR= 0 |
22,9 |
UBRR= 1 |
33,3 |
UBRR= 1 |
|
22,9 |
UBRR= 1 |
0,0 |
|
115200 |
UBRR= 0 |
84,3 |
UBRR= 0 |
0,0 |
UBRR= 0 |
|
7,8 |
UBRR= 0 |
25,0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Скорость |
3,2768 |
Îøèá- |
3,6864 MHz |
Îøèá- |
4 MHz |
Îøèá- |
4,608 MHz |
|
Îøèá |
|
(áîä) |
MHz |
êà,% |
|
êà,% |
|
|
êà,% |
|
|
êà,% |
|
|
|
|
|
|
|
|
|
|
|
2400 |
UBRR= 84 |
0,4 |
UBRR= 95 |
0,0 |
UBRR= 103 |
0,2 |
UBRR= 119 |
|
0,0 |
|
4800 |
UBRR= 42 |
0,8 |
UBRR= 47 |
0,0 |
UBRR= 51 |
0,2 |
UBRR= 59 |
|
0,0 |
|
9600 |
UBRR= 20 |
1,6 |
UBRR= 23 |
0,0 |
UBRR= 25 |
0,2 |
UBRR= 29 |
|
0,0 |
|
14400 |
UBRR= 13 |
1,6 |
UBRR= 15 |
0,0 |
UBRR= 16 |
2,1 |
UBRR= 19 |
|
0,0 |
|
19200 |
UBRR= 10 |
3,1 |
UBRR= 11 |
0,0 |
UBRR= 12 |
0,2 |
UBRR= 14 |
|
0,0 |
|
28800 |
UBRR= 6 |
1,6 |
UBRR= 7 |
0,0 |
UBRR= 8 |
3,7 |
UBRR= 9 |
|
0,0 |
|
38400 |
UBRR= 4 |
6,3 |
UBRR= 5 |
0,0 |
UBRR= 6 |
7,5 |
UBRR= 7 |
|
6,7 |
|
57600 |
UBRR= 3 |
12,5 |
UBRR= 3 |
0,0 |
UBRR= 3 |
7,8 |
UBRR= 4 |
|
0,0 |
|
76800 |
UBRR= 2 |
12,5 |
UBRR= 2 |
0,0 |
UBRR= 2 |
7,8 |
UBRR= 3 |
|
6,7 |
|
115200 |
UBRR= 1 |
12,5 |
UBRR= 1 |
0,0 |
UBRR= 1 |
7,8 |
UBRR= 2 |
|
20,0 |
|
|
|
|
|
|
|
|
|
|
|
|
121
ATMEL |
|
|
|
|
|
|
|
ÊÒÖ-ÌÊ |
|
|
|
|
|
|
|
|
|
Скорость |
7,3728 |
Îøèá- |
8 MHz |
Îøèá- |
9,216 MHz |
Îøèá- |
11,059 MHz |
Îøèá |
(áîä) |
MHz |
êà,% |
|
êà % |
|
êà % |
|
êà % |
2400 |
UBRR= 191 |
0,0 |
UBRR= 207 |
0,2 |
UBRR= 239 |
0,0 |
UBRR= 287 |
- |
4800 |
UBRR= 95 |
0,0 |
UBRR= 103 |
0,2 |
UBRR= 119 |
0,0 |
UBRR= 143 |
0,0 |
9600 |
UBRR= 47 |
0,0 |
UBRR= 51 |
0,2 |
UBRR= 59 |
0,0 |
UBRR= 71 |
0,0 |
14400 |
UBRR= 31 |
0,0 |
UBRR= 34 |
0,8 |
UBRR= 39 |
0,0 |
UBRR= 47 |
0,0 |
19200 |
UBRR= 23 |
0,0 |
UBRR= 25 |
0,2 |
UBRR= 29 |
0,0 |
UBRR= 35 |
0,0 |
28800 |
UBRR= 15 |
0,0 |
UBRR= 16 |
2,1 |
UBRR= 19 |
0,0 |
UBRR= 23 |
0,0 |
38400 |
UBRR= 11 |
0,0 |
UBRR= 12 |
0,2 |
UBRR= 14 |
0,0 |
UBRR= 17 |
0,0 |
57600 |
UBRR= 7 |
0,0 |
UBRR= 8 |
3,7 |
UBRR= 9 |
0,0 |
UBRR= 11 |
0,0 |
76800 |
UBRR= 5 |
0,0 |
UBRR= 6 |
7,5 |
UBRR= 7 |
6,7 |
UBRR= 8 |
0,0 |
115200 |
UBRR= 3 |
0,0 |
UBRR= 3 |
7,8 |
UBRR= 4 |
0,0 |
UBRR= 5 |
0,0 |
|
|
|
|
|
|
|
|
|
РЕГИСТР БОД-ГЕНЕРАТОРА UARTUBRR - (UART Baud Rate Register)
Áèò |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$09 ($29) |
MSB |
|
|
|
|
|
|
LSB |
UBRR |
Чтение/Запись |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр UBRR является 8-разрядным регистром, с возможностью ч тения/записи, определяющим скорость UART в соответствии с установками Таб л. 24.
Аналоговый компаратор
Аналоговый компаратор сравнивает уровни на положительн ом выводе PE2 (AC+) и отрицательном выводе PE3 (AC-). При напряжении на положител ьном выводе PE2 (AC+) большем, чем напряжение на отрицательном выводе PE3 (AC-), вы ход аналогового компаратора ACO устанавливается в состояние 1. В ыход компаратора может быть использован для управления входом захвата тай мера/счетчика1. Кроме того, компаратор может формировать свой запрос прерывани я. Пользователь может задать формирование запроса на прерывание по нарастающе му или падающему фронту или по переключению. Блок-схема аналогового компар атора, со схемами обрамления, показана на Рис. 45.
|
|
Vcc |
|
|
ACD |
|
ACIE |
|
|
|
|
PE2 |
|
|
|
(AC+) |
|
|
Запрос прерывания |
|
+ |
|
|
|
Выбор |
по аналоговому |
|
|
- |
прерывания |
компаратору |
PE3 |
|
ACI |
|
|
|
||
(AC-) |
|
ACIS1 ACIS0 |
ACIC |
|
|
ACO |
К мультиплексору |
|
таймера/счетчика1 |
||
|
Рис. 45 Блок-схема аналогового компаратора.
122
ÊÒÖ-ÌÊ
РЕГИСТР СТАТУСА И УПРАВЛЕНИЯ АНАЛОГОВОГО КОМПАРАТОРА - ACSR - (The Analog Comparator Control and Status Register)
Áèò |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$08 ($28) |
ACD |
- |
ACO |
ACI |
ACIE |
ACIC |
ACIS1 |
ACIS0 |
ACSR |
Чтение/Запись |
R/W |
R |
R |
R/W |
R/W |
R/W |
R/W |
R/W |
|
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
• Bit 7 - ACD: Analog Comparator Disable - Запрет аналогового компаратора
При установленном в состояние 1 бите ACD аналоговый компарат ор запрещен. Для выключения аналогового компаратора установку данного б ита можно производить в любое время. Отключение аналогового компаратора позволя ет снизить потребление в активном и Idle режимах. При изменении состояния бита ACD необ ходимо запрещать прерывание по аналоговому компаратору очисткой бита ACIE в р егистре ACSR. В противном случае при изменении состояния бита ACD может про изойти прерывание.
• Bit 6 - Res: Reserved bit - Зарезервированный бит
Этот бит в микроконтроллерах ATmega603/103 зарезервирован и при сч итывании всегда покажет состояние 0.
•Bit 5 - ACO: Analog Comparator Output - Выход аналогового компаратора
Бит ACO связан непосредственно с выходом компаратора.
•Bit 4 - ACI: Analog Comparator Interrupt Flag - Флаг прерывания по аналоговому
компаратору
Данный бит устанавливается в состояние 1 в случае формиро вания компаратором прерывания, определяемого ACIS1 и ACIS0. Подпрограмма обработки п рерывания по аналоговому компаратору будет выполняться при установл енном бите ACIE и установленном бите глобального прерывания в регистре SREG. Б ит ACI очищается аппаратно при выполнении соответствующего вектора обра ботки прерывания, Бит ACI можно очистить, также, записью во флаг логической 1.
Отметим однако, что при модификации других битов регистра ACSR командами
SBI или CBI бит ACI будет очищен, если он был установлен перед этими операциями.
•Bit 3 - ACIE: Analog Comparator Interrupt Enable - Разрешение прерывания по
аналоговому компаратору
При установленном бите ACIE и установленном бите глобальног о прерывания регистра SREG активируется прерывание по аналоговому компаратору. Пр и сброшенном бите ACIE прерывание запрещено.
•Bit 2 - ACIC: Analog Comparator Input Capture enable - Разрешение входа захвата
аналогового компаратора
Установленный в состояние 1 бит ACIC разрешает срабатывание функции захвата входа таймера/счетчика1 по переключению аналогового комп аратора. В этом случае выход аналогового компаратора подсоединяется непосредс твенно ко входной цепи логики захвата входа, что обеспечивает использование фун кций подавления шума и выбора вида срабатывания прерывания по захвату входа тай мера/счетчика1. При очищенном бите ACIC соединения нет. Для запуска прерывания п о захвату входа таймера/счетчика1 бит TICIE1 в регистре масок прерываний TIMSK дол жен быть установлен в состояние 1.
•Bits 1,0 - ACIS1, ACIS0: Analog Comparator Interrupt Mode Select - Выбор режима
прерывания по аналоговому компаратору
Эти биты определяют характер события компаратора, при кот ором запускается
123