
- •ATmega128, aTmega128l - 8-разрядный avr-микроконтроллер с внутрисистемно программируемой флэш-памятью емкостью 128 кбайт
- •Усапп …………………………………………………………………………………………………..168
- •Ядро центрального процессорного устройства avr
- •Интерфейс внешней памяти
- •Системная синхронизация и тактовые источники
- •Внешняя синхронизация
- •Управление энергопотреблением и режимы сна
- •Режим холостого хода (Idle)
- •Режим уменьшения шумов ацп (adc Noise Reduction)
- •Режим выключения (Power-down)
- •Экономичный режим (Power-save)
- •Дежурный режим (Standby)
- •Расширенный дежурный режим (Extended Standby)
- •Минимизация потребляемой мощности
- •Системное управление и сброс
- •Прерывания
- •Векторы прерываний в aTmega128
- •Порты ввода-вывода
- •Порты в качестве универсального цифрового ввода-вывода
- •Альтернативные функции порта
- •Int0/scl – порт d, разряд 0
- •Описание регистров портов ввода-вывода
- •Внешние прерывания
- •Аналоговый компаратор
- •Введение
- •Доступ к 16-разр. Регистрам
- •Тактовые источники таймера-счетчика 1/3
- •Блок счетчика
- •Блок захвата
- •Блоки сравнения
- •Блок формирования выходного сигнала
- •Режимы работы
- •Временные диаграммы 16-разр. Таймеров-счетчиков
- •Описание регистров 16-разр. Таймеров-счетчиков
- •Предделители таймеров-счетчиков 1, 2 и 3
- •Аналогово-цифровой преобразователь
- •Интерфейс jtag и встроенная отладочная система
- •Модулятор выходов таймеров (ocm1c2)
- •Последовательный периферийный интерфейс - spi
- •Функционирование вывода ss
- •Блок формирования выходного сигнала
- •Временные диаграммы таймера-счетчика 0
- •Описание регистров 8-разрядного таймера-счетчика 0
- •Асинхронная работа таймера-счетчика 0
- •Предделитель таймера-счетчика 0
- •Генерация тактовых импульсов
- •Форматы посылки
- •Инициализация усапп
- •Передача данных - Передатчик усапп
- •Прием данных - Приемник усапп
- •Асинхронный прием данных
- •Многопроцессорный режим связи
- •Описание регистров усапп
- •Примеры установок скоростей связи
- •Двухпроводной последовательный интерфейс twi
- •Формат посылки и передаваемых данных
- •Системы многомастерных шин, арбитраж и синхронизация
- •Обзор модуля twi
- •Описание регистров twi
- •Рекомендации по использованию twi
- •Режимы передачи
- •Программирование памяти
- •Параллельное программирование
- •Последовательное программирование
- •Программирование через интерфейс jtag
- •Электрические характеристики
- •Требования к характеристикам внешнего тактового сигнала
- •Характеристики двухпроводного последовательного интерфейса
- •Характеристики временной диаграммы spi
- •Предварительные данные по характеристикам ацп
- •Временная диаграмма внешней памяти данных
- •Типовые характеристики aTmega128: предварительные данные
- •Типовые характеристики aTmega128: предварительные данные (продолжение)
- •Типовые характеристики aTmega128: предварительные данные (продолжение)
- •Сводная таблица регистров
- •Набор инструкций
- •Информация для заказа
Int0/scl – порт d, разряд 0
INT0 – источник внешнего прерывания 0. Вывод PD0 может использоваться как источник внешнего прерывания микроконтроллера.
SCL – синхронизация двухпроводного последовательного интерфейса. Если установлен бит TWEN в регистре TWCR, то разрешается работа двухпроводного последовательного интерфейса, вывод PD0 отключается от порта и становится входом/выходом синхронизации последовательной связи двухпроводного последовательного интерфейса. В этом режиме на входе активизируется помехоподавляющий фильтр, который не реагирует на входные импульсы длительностью менее 50 нс, а передача организована драйвером с открытым стоком и ограниченной скоростью изменения сигнала.
Таблицы 37 и 38 показывают связь между альтернативными функциями выводов порта D и отключающими сигналами, показанными на рисунке 33.
Таблица 37 – Отключающие сигналы для разрешения альтернативных функций на PD7..PD4
Наименование сигнала |
PD7/T2 |
PD6/T1 |
PD5/XCK1 |
PD4/IC1 |
PUOE |
0 |
0 |
0 |
0 |
PUOV |
0 |
0 |
0 |
0 |
DDOE |
0 |
0 |
0 |
0 |
DDOV |
0 |
0 |
0 |
0 |
PVOE |
0 |
0 |
UMSEL1 |
0 |
PVOV |
0 |
0 |
XCK1 OUTPUT |
0 |
DIEOE |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
T2 INPUT |
T1 INPUT |
XCK1 INPUT |
IC1 INPUT |
AIO |
- |
- |
- |
- |
Таблица 38 – Отключающие сигналы для разрешения альтернативных функций на PD3..PD0
Наименование сигнала |
PD3/INT3/TXD1 |
PD2/INT2/RXD1 |
PD1/INT1/SDA |
PD0/INT0/SCL |
PUOE |
TXEN1 |
RXEN1 |
TWEN |
TWEN |
PUOV |
0 |
PORTD2•PUD |
PORTD1•PUD |
PORTB0•PUD |
DDOE |
SPE • MSTR |
SPE•MSTR |
SPE•MSTR |
SPE•MSTR |
DDOV |
TXEN1 |
RXEN1 |
TWEN |
TWEN |
PVOE |
1 |
0 |
SDA_OUT |
SCL_OUT |
PVOV |
TXEN1 |
0 |
TWEN |
TWEN |
DIEOE |
INT3 ENABLE |
INT2 ENABLE |
INT1 ENABLE |
INT0 ENABLE |
DIEOV |
1 |
1 |
1 |
1 |
DI |
INT3 INPUT |
INT2 INPUT/RXD1 |
INT1 INPUT |
INT0 INPUT |
AIO |
- |
- |
SDA INPUT |
SCL INPUT |
Прим. 1: После разрешения работы TWI активизируется схема управления скоростью изменения выходных сигналов на выводах PD0 и PD1. Данная функция не учтена в таблице. Кроме того, помехоподавляющие фильтры подключены между выходами AIO (см. рисунок 33) и цифровой логикой модуля TWI.
Альтернативные функции порта E
Альтернативные функции порта Е представлены в таблице 39.
Таблица 39 – Альтернативные функции выводов порта Е
Вывод порта |
Альтернативная функция |
PE7 |
INT7/IC3(1) (вход внешнего прерывания 7 или вход триггера захвата фронта таймера-счетчика 3) |
PE6 |
INT6/ T3(1) (вход внешнего прерывания 6 или вход синхронизации таймера-счетчика 3) |
PE5 |
INT5/OC3C(1) (вход внешнего прерывания 5 или выход С компаратора и ШИМ таймера-счетчика 3) |
PE4 |
INT4/OC3B(1) (вход внешнего прерывания 4 или выход B компаратора и ШИМ таймера-счетчика 3) |
PE3 |
AIN1/OC3A (1) (инвертирующий вход аналогового компаратора или выход A компаратора и ШИМ таймера-счетчика 3) |
PE2 |
AIN0/XCK0(1) (неинвертирующий вход аналогового компаратора или вход/выход внешний синхронизации УСАПП0) |
PE1 |
PDO/TXD0 (вывод программируемых данных или вывод передачи УАПП0) |
PE0 |
PDI/RXD0 (ввод программируемых данных или вывод приема УАПП0) |
Прим.: 1. IC3, T3, OC3C, OC3B, OC3B, OC3A и XCK0 отсутствуют в режиме совместимости с ATmega103.
INT7/IC3 – Порт E, разряд 7
INT7 – Источник внешнего прерывания 7. Вывод PE7 может выполнять функцию источника внешнего прерывания микроконтроллера.
IC3 – вход захвата фронтов таймера-счетчика 3.
INT6/T3 – Порт E, разряд 6
INT6 – Источник внешнего прерывания 6. Вывод PE6 может выполнять функцию источника внешнего прерывания микроконтроллера.
T3 – Счетный вход таймера-счетчика 3.
INT5/OC3C – Порт E, разряд 5
INT5 – Источник внешнего прерывания 5. Вывод PE5 может выполнять функцию источника внешнего прерывания микроконтроллера.
OC3C – выход компаратора С таймера-счетчика 3. Для выполнения данной функции вывод должен быть настроен как выход (DDE5 =1). Вывод OC3С также выполняет функцию выхода, когда таймер переведен в режим ШИМ.
INT4/OC3B – Порт E, разряд 4
INT4 – Источник внешнего прерывания 4. Вывод PE4 может выполнять функцию источника внешнего прерывания микроконтроллера.
OC3B – выход компаратора B таймера-счетчика 3. Для выполнения данной функции вывод должен быть настроен как выход (DDE4 =1). Вывод OC3B также выполняет функцию выхода, когда таймер переведен в режим ШИМ.
AIN1/OC3A – Порт E, разряд 3
AIN1 – инвертирующий вход аналогового компаратора. Данный вывод непосредственно подключен к инвертирующему входу аналогового компаратора.
OC3A – выход компаратора A таймера-счетчика 3. Для выполнения данной функции вывод должен быть настроен как выход (DDE3 =1). Вывод OC3A также выполняет функцию выхода, когда таймер переведен в режим ШИМ.
AIN0/XCK0 – Порт E, разряд 2
AIN0 – неинвертирующий вход аналогового компаратора. Данный вывод непосредственно подключен к неинвертирующему входу аналогового компаратора.
XCK0, USART0 – внешняя синхронизация. Регистр направления данных (DDE2) задает, является ли синхронизация выходной (DDE2=1) или входной (DDE2=0). Вывод XCK0 активен только тогда, когда УСАПП0 работает в синхронном режиме.
PDO/TXD0 – Порт E, разряд 1
PDO – вывод последовательно программируемых через SPI данных. В процессе последовательного программирования данный вывод используется как линия вывода данных из ATmega128.
TXD0 – вывод передачи УАПП0.
PDI/RXD0 – Порт E, разряд 0
PDI – ввод последовательно программируемых через SPI данных. В процессе последовательного программирования данный вывод используется как линия ввода данных в ATmega128.
RXD0 – Вывод приема данных УСАПП0. Если разрешена работа приемника УСАПП0, то данный вывод настраивается как вход независимо от состояния DDRE0. После того, как УСАПП0 настроит данный вывод как вход, запись лог. 1 в PORTE0 включит подтягивающий резистор на данном выводе.
В таблицах 40 и 41 описывается связь альтернативных функций выводов порта Е и отключающих сигналов, представленных на рисунке 33.
Таблица 40 – Отключающие сигналы для разрешения альтернативных функций на PE7..PE4
Наименование сигнала |
PE7/INT7/IC3 |
PE6/INT6/T3 |
PE5/INT5/OC3C |
PE4/INT4/OC3B |
PUOE |
0 |
0 |
0 |
0 |
PUOV |
0 |
0 |
0 |
0 |
DDOE |
0 |
0 |
0 |
0 |
DDOV |
0 |
0 |
0 |
0 |
PVOE |
0 |
0 |
OC3C ENABLE |
OC3B ENABLE |
PVOV |
0 |
0 |
OC3C |
OC3B |
DIEOE |
INT7 ENABLE |
INT6 ENABLE |
INT5 ENABLE |
INT4 ENABLE |
DIEOV |
1 |
1 |
1 |
1 |
DI |
INT7 INPUT/IC3 INPUT |
INT7 INPUT/T3 INPUT |
INT5 INPUT |
INT4 INPUT |
AIO |
- |
- |
- |
- |
Таблица 41 – Отключающие сигналы для разрешения альтернативных функций на PE3..PE0
Наименование сигнала |
PE3/AIN1/OC3A |
PE2/AIN0/XCK0 |
PE1/PDO/TXD0 |
PE0/PDI/RXD0 |
PUOE |
0 |
0 |
TXEN0 |
RXEN0 |
PUOV |
0 |
0 |
0 |
PORTD1•PUD |
DDOE |
0 |
0 |
TXEN0 |
RXEN0 |
DDOV |
0 |
0 |
1 |
0 |
PVOE |
OC3B ENABLE |
UMSEL0 |
TXEN0 |
0 |
PVOV |
OC3C |
XCK0 OUTPUT |
TXD0 |
0 |
DIEOE |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
0 |
RXD0 |
- |
RXD0 |
AIO |
AIN1 INPUT |
AIN0 INPUT |
- |
- |
Альтернативные функции порта F
Альтернативной функцией порта F является аналоговый ввод к АЦП (см. табл. 42).
Если некоторые выводы порта F используются как выходы, то необходимо следить, чтобы во время преобразования АЦП не происходило их переключение. Иначе, результат преобразования может быть некорректным. В режиме совместимости с ATmega103 порт F работает только на ввод. Если разрешена работа интерфейса JTAG, то подтягивающие резисторы на выводах PF7(TDI), PF5(TMS) и PF4(TCK) остаются подключенными, даже если микроконтроллер переведен в состояние сброса.
Таблица 42 – Альтернативные функции выводов порта F
Вывод порта |
Альтернативная функция |
PF7 |
ADC7/TDI (Вход канала 7 АЦП или ввод данных при JTAG тестировании) |
PF6 |
ADC6/TDO (Вход канала 6 АЦП или вывод данных при JTAG тестировании) |
PF5 |
ADC5/TMS (Вход канала 5 АЦП или выбор режима JTAG тестирования) |
PF4 |
ADC4/TCK (Вход канала 4 АЦП или синхронизация JTAG тестирования) |
PF3 |
ADC3 (Вход канала 3 АЦП) |
PF2 |
ADC2 (Вход канала 2 АЦП) |
PF1 |
ADC1 (Вход канала 1 АЦП) |
PF0 |
ADC0 (Вход канала 0 АЦП) |
TDI, ADC7 – Порт F, разряд 7
ADC7 – Аналогово-цифровой преобразователь, канал 7.
TDI – Ввод данных при JTAG-тестировании. Последовательный ввод данных происходит в регистр инструкций или регистр данных (сканируемые звенья). После разрешения работы JTAG-интерфейса данный вывод не может использоваться в качестве линии ввода-вывода.
TDO, ADC6 – Порт F, разряд 6
ADC6 – Аналогово-цифровой преобразователь, канал 6.
TDO – вывод данных при JTAG-тестировании. Последовательный вывод данных из регистра инструкции или регистра данных. После разрешения работы JTAG-интерфейса данный вывод не может использоваться в качестве линии ввода-вывода. Вывод TDO становится тристабильным, если введено состояние TAP, при котором происходит сдвиг выводимых данных.
TMS, ADC5 – Порт F, разряд 5
ADC5 – Аналогово-цифровой преобразователь, канал 5.
TMS – Выбор режима JTAG тестирования. Данный вывод используется для управления цифровым автоматом TAP-контроллера. После разрешения работы JTAG-интерфейса данный вывод не может использоваться в качестве линии ввода-вывода.
TCK, ADC4 – Порт F, разряд 4
ADC4 – Аналогово-цифровой преобразователь, канал 4.
TCK – синхронизация JTAG-тестирования. Работа интерфейса JTAG синхронизирована с TCK. После разрешения работы JTAG-интерфейса данный вывод не может использоваться в качестве линии ввода-вывода.
ADC3 – ADC0 – Порт F, разряды 3..0
ADC7 – Аналогово-цифровой преобразователь, каналы 3…0.
Таблица 43 – Отключающие сигналы для разрешения альтернативных функций на PF7..PF4
Наименование сигнала |
PF7/ADC7/TDI |
PF6/ADC6/TDO |
PF5/ADC5/TMS |
PF4/ADC4/TCK |
PUOE |
JTAGEN |
JTAGEN |
JTAGEN |
JTAGEN |
PUOV |
1 |
0 |
1 |
1 |
DDOE |
JTAGEN |
JTAGEN |
JTAGEN |
JTAGEN |
DDOV |
0 |
SHIFT_IR + SHIFT_DR |
0 |
0 |
PVOE |
0 |
JTAGEN |
0 |
0 |
PVOV |
0 |
TDO |
0 |
0 |
DIEOE |
JTAGEN |
JTAGEN |
JTAGEN |
JTAGEN |
DIEOV |
0 |
0 |
0 |
0 |
DI |
- |
- |
- |
- |
AIO |
TDI/ADC7 INPUT |
ADC6 INPUT |
TMS/ADC5 INPUT |
TCK/ADC4 INPUT |
Таблица 44 – Отключающие сигналы для разрешения альтернативных функций на PF3..PF0
Наименование сигнала |
PF3/ADC3 |
PF2/ADC2 |
PF1/ADC1 |
PF0/ADC0 |
PUOE |
0 |
0 |
0 |
0 |
PUOV |
0 |
0 |
0 |
0 |
DDOE |
0 |
0 |
0 |
0 |
DDOV |
0 |
0 |
0 |
0 |
PVOE |
0 |
0 |
0 |
0 |
PVOV |
0 |
0 |
0 |
0 |
DIEOE |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
- |
- |
- |
- |
AIO |
ADC3 INPUT |
ADC2 INPUT |
ADC1 INPUT |
ADC0 INPUT |
Альтернативные функции порта G
В режиме совместимости с ATmega103 могут использоваться только альтернативные функции порта G, а функция универсального цифрового ввода-вывода не доступна. В таблице 45 приведены альтернативные функции порта G.
Таблица 45 – Альтернативные функции выводов порта G
Вывод порта |
Альтернативная функция |
PG4 |
TOSC1 (Генератор часов реального времени таймера-счетчика 0) |
PG3 |
TOSC2 (Генератор часов реального времени таймера-счетчика 0) |
PG2 |
(Разрешение фиксации адреса внешней памяти) |
PG1 |
RD (Строб чтения внешней памяти) |
PG0 |
WR (Строб записи внешней памяти) |
TOSC1 – Порт G, разряд 4
TOSC1 – 1-ый вывод генератора таймера. После установки бита AS0 в регистре ASSR разрешается работа асинхронного тактирования таймера-счетчика 0, а вывод PG4 отключается от порта и становится входом инвертирующего усилителя генератора. В этом режиме кварцевый резонатор подключен к выводу PG4, который теперь не может использоваться как линия ввода-вывода.
TOSC2 – Порт G, разряд 3
TOSC2 – 2-ой вывод генератора таймера. После установки бита AS0 в регистре ASSR разрешается работа асинхронного тактирования таймера-счетчика 0, а вывод PG3 отключается от порта и становится инвертированным выходом усилителя генератора. В этом режиме кварцевый резонатор подключен к выводу PG3, который теперь не может использоваться как линия ввода-вывода.
ALE – Порт G, разряд 2
ALE – сигнал разрешения фиксации адреса внешней памяти.
RD – Порт G, разряд 1
RD – строб управления чтением данных внешней памяти.
WR – Порт G, разряд 0
WR – строб управления записью во внешнюю память.
В таблицах 46 и 47 представлена связь альтернативных функций порта G и отключающих сигналов, представленных на рисунке 33.
Таблица 46 – Отключающие сигналы для разрешения альтернативных функций на PG4..PG1
Наименование сигнала |
PG4/TOSC1 |
PG3/TOSC2 |
PG2/ALE |
PG1/RD |
PUOE |
AS0 |
AS0 |
SRE |
SRE |
PUOV |
0 |
0 |
0 |
0 |
DDOE |
AS0 |
AS0 |
SRE |
SRE |
DDOV |
0 |
0 |
1 |
1 |
PVOE |
0 |
0 |
SRE |
SRE |
PVOV |
0 |
0 |
ALE |
RD |
DIEOE |
AS0 |
AS0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
- |
- |
- |
- |
AIO |
T/C0 OSC INPUT |
T/C0 OSC OUTPUT |
- |
- |
Таблица 47 – Отключающий сигнал для разрешения альтернативной функции на PG0
Наименование сигнала |
PG0/WR |
PUOE |
SRE |
PUOV |
0 |
DDOE |
SRE |
DDOV |
1 |
PVOE |
SRE |
PVOV |
WR |
DIEOE |
0 |
DIEOV |
0 |
DI |
– |
AIO |
– |