Основные особенности микроконтроллеров семейства Mega

Общие сведения

Как и все микроконтроллеры AVR фирмы Atmel, микроконтроллеры семейства Mega являются 8-битными микроконтроллерами, предназначенными для использования во встраиваемых приложениях. Они изготавливаются по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наилучшего соотношения стоимость/быстродействие/энергопотребление. Микроконтроллеры описываемого семейства являются наиболее развитыми представителями микроконтроллеров AVR общего применения.

Отличительные особенности

К особенностям микроконтроллеров AVR семейства Mega можно отнести:

• FLASH-память программ объемом от 8 до 256 Кбайт (число циклов стирания/записи не менее;

• оперативная память (статическое ОЗУ) объемом от 512 байт до 8 Кбайт;

• память данных на основе ЭСППЗУ (EEPROM) объемом от 256 байт до 4 Кбайт (число циклов стирания/записи не менее ;

• возможность защиты от чтения и модификации памяти программ и данных;

• возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;

• возможность самопрограммирования;

• возможность внутрисхемной отладки в соответствии со стандартом IEEE 1149.1 (JTAG), а также наличие собственного однопроводного интерфейса внутрисхемной отладки debugWire;

• разнообразные способы синхронизации: встроенный RС-генератор с внутренней или внешней времязадающей RС-цепочкой, встроенный генератор с внешним кварцевым или пьезокерамическим резонатором, внешний сигнал синхронизации;

НЕ нашли? Не то? Что вы ищете?

• наличие нескольких режимов пониженного энергопотребления;

• наличие детектора пониженного напряжения питания (Brown-Out Detector-BOD);

• возможность программного снижения частоты тактового генератора.

Характеристики процессора

Основными характеристиками процессора микроконтроллеров AVR семейства Mega являются:

• полностью статическая архитектура, минимальная тактовая частота равна нулю;

• арифметико-логическое устройство (АЛУ) подключено непосредственно к регистрам общего назначения C2 регистра);

• большинство команд выполняются за один период тактового сигнала;

• векторная система прерываний, поддержка очереди прерываний;

• большое число источников прерываний (до 45 внутренних и до 32 внешних);

• наличие аппаратного умножителя.

Характеристики подсистемы ввода/вывода

Подсистема ввода/вывода микроконтроллеров AVR семейства Mega имеет следующие особенности:

• программное конфигурирование и выбор портов ввода/вывода;

• выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;

• входные буферы с триггером Шмитта на всех выводах;

• имеется возможность полного отключения цифрового порта ввода/вывода от физического вывода микросхемы;

• на всех входах имеются индивидуально отключаемые внутренние подтягивающие резисторы сопротивлением 20...50 кОм.

Периферийные устройства

Микроконтроллеры семейства Mega имеют богатый набор периферийных устройств (ПУ):

• один или два 8-битных таймера/счетчика. Во всех моделях с двумя 8-битными таймерами/счетчиками один из них может работать в качестве часов реального времени (в асинхронном режиме);

• от одного до четырех 16-битных таймеров/счетчиков;

• сторожевой таймер;

• одно - и двухканальные генераторы 8-битного ШИМ-сигнала (один

из режимов работы 8-битных таймеров/счетчиков);

• двух - и трехканальные генераторы ШИМ-сигнала регулируемой разрядности (один из режимов работы 16-битных таймеров/счетчиков). Разрешение формируемого сигнала может составлять от 1 до 16 бит;

• аналоговый компаратор;

• многоканальный 10-битный АЦП последовательного приближения, имеющий как несимметричные, так и дифференциальные входы;

• последовательный синхронный интерфейс SPI;

• последовательный двухпроводный интерфейс TWI (полный аналог интерфейса I2С);

• от одного до четырех полнодуплексных универсальных синхронных/асинхронных приемо-передатчиков (USART). В ряде моделей эти приемо-передатчики могут использоваться в качестве ведущего устройства шины SPI;

• универсальный последовательный интерфейс USI, который может использоваться в качестве интерфейса SPI или I2С. Кроме того, USI может использоваться в качестве полудуплексного UART или 4/12-битного счетчика.

Архитектура ядра

Ядро микроконтроллеров AVR семейства Mega выполнено по усовершенствованной RISC-архитектуре (enhanced RISC) (Рис. 1.1), в которой используется ряд решений, направленных на повышение быстродействия микроконтроллеров.

Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32 рабочим регистрам, объединенным в регистровый файл. Благодаря этому, АЛУ может выполнять одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за такт. Кроме того, практически каждая из команд (за исключением команд, у которых одним из операндов является 16-битный адрес) занимает одну ячейку памяти программ.

Рис. 1. Архитектура ядра микроконтроллеров AVR

В микроконтроллерах AVR реализована Гарвардская архитектура, характеризующаяся раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение информационных шин позволяет использовать для каждого типа памяти шины различной разрядности, причем способы адресации и доступа к каждому типу памяти также различаются. В сочетании с двухуровневым конвейером команд такая архитектура позволяет достичь производительности в 1 MIPS на каждый МГц тактовой частоты.

Цоколевка и описание выводов

В семейство Mega на сегодняшний день входит в общей сложности 24 модели микроконтроллеров, которые делятся на 4 группы.

1. Микроконтроллеры в 32-выводных корпусах типа TQFP и MLF (также выпускаются в 28-выводных корпусах типа DIP) с максимальным числом контактов ввода/вывода, равным 23:

• ATmega8, ATmega8L (Рис. 1.2) — имеют FLASH-память программ объемом 8 Кбайт, ОЗУ объемом 1 Кбайт и EEPROM-память данных объемом 512 байт. Эти модели полностью (по цоколевке и функционально) обратно совместимы со снятыми с производства микроконтроллерами семейства Classic AT90S4433 и могут использоваться для их замены в новых разработках;

• ATmega48, ATmega48V (Рис. 1.3) — имеют FLASH-память программ объемом 4 Кбайт, ОЗУ объемом 512 байт и EEPROM-память данных объемом 256 байт;

• ATmega88, ATmega88V (Рис. 1.3) — имеют FLASH-память программ объемом 8 Кбайт, ОЗУ объемом 1 Кбайт и EEPROM-память данных объемом 512 байт;

• ATmegal68, ATmegal68V (Рис. 1.3) — имеют FLASH-память программ объемом 16 Кбайт, ОЗУ объемом 1 Кбайт и EEPROM-память данных объемом 512 байт.

2. Микроконтроллеры в 44-выводных корпусах типа TQFP и МLF (также выпускаются в 40-выводных корпусах типа DIP) с максимальным числом контактов ввода/вывода, равным 35 (модели с возможностью подключения внешнего ОЗУ) или 32 (остальные модели):

• ATmega8515, ATmega8515L (Рис. 1.4) — имеют FLASH-память программ объемом 8 Кбайт, ОЗУ объемом 512 байт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-память данных объемом 512 байт. Выпускаются также в 44-выводном корпусе типа PLCC. Эти модели по цоколевке полностью совместимы со снятыми с производства микроконтроллерами семейства Classic AT90S4414/8515. Кроме того, в них предусмотрен режим совместимости с моделями AT90S4414/8515 (в этом режиме обеспечивается их полная функциональная совместимость);

• ATmega8535, ATmega8535L (Рис. 1.5) — имеют FLASH-память программ объемом 8 Кбайт, ОЗУ объемом 512 байт и EEPROM-память данных объемом 512 байт. Выпускаются также в 44-выводном корпусе типа PLCC. Эти модели по цоколевке полностью совместимы со снятыми с производства микроконтроллерами семейства Classic AT90S8535. Кроме того, в них предусмотрен режим совместимости с моделями AT90S8535 (в этом режиме обеспечивается их полная функциональная совместимость);

• ATmegal6, ATmegal6L (Рис. 1.6) — имеют FLASH-память программ объемом 16 Кбайт, ОЗУ объемом 1 Кбайт и EEPROM-память данных объемом 512 байт. Максимальное число контактов ввода/вывода равно 32. Эти модели полностью (по цоколевке и функционально) обратно совместимы со снятыми с производства микроконтроллерами семейства ATMegal63(L) и могут использоваться для их замены в новых разработках;

• ATmegal62, ATmegal62V (Рис. 1.7) — имеют FLASH-память программ объемом 16 Кбайт, ОЗУ объемом 1 Кбайт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-память данных объемом 512 байт. Максимальное число контактов ввода/вывода равно 32. Эти модели по цоколевке полностью совместимы со снятыми с производства микроконтроллерами ATmegal61(L). Кроме того, в них предусмотрен режим совместимости с моделями ATmegal61x (в этом режиме обеспечивается их полная функциональная совместимость);

• ATmegal64, ATmegal64V (Рис. 1.8) — имеют FLASH-память программ объемом 16 Кбайт, ОЗУ объемом 1 Кбайт и EEPROM-память данных объемом 512 байт;

• ATmega32, ATmega32L (Рис. 1.6) — имеют FLASH-память программ объемом 32 Кбайт, ОЗУ объемом 2 Кбайт и EEPROM-память данных объемом 1 Кбайт. Эти модели полностью (функционально и по цоколевке) обратно совместимы с микроконтроллерами ATmega323(L) и могут использоваться для их замены в новых разработках;

• ATmega324, ATmega324V (Рис. 1.8) — имеют FLASH-память программ объемом 32 Кбайт, ОЗУ объемом 2 Кбайт и EEPROM-память данных объемом 1 Кбайт;

• ATmega644, ATmega644V (Рис. 1.9) — имеют FLASH-память программ объемом 32 Кбайт, ОЗУ объемом 4 Кбайт и EEPROM-память данных объемом 2 Кбайт.

Микроконтроллеры в 64-выводных корпусах типа TQFP и MLF:

• ATmegal65, ATmegal65V (Рис. 1.10) — имеют FLASH-память программ объемом 16 Кбайт, ОЗУ объемом 1 Кбайт и EEPROM-память данных объемом 512 байт. Максимальное число контактов ввода/вывода равно 53;

• ATmega325, ATmega325V (Рис. 1.11) — имеют FLASH-память программ объемом 32 Кбайт, ОЗУ объемом 2 Кбайт и EEPROM-память данных объемом 1 Кбайт. Максимальное число контактов ввода/вывода равно 53;

• ATmega645, ATmega645V (Рис. 1.11) — имеют FLASH-память программ объемом 16 Кбайт, ОЗУ объемом 4 Кбайт и EEPROM-память данных объемом 2 Кбайт. Максимальное число контактов ввода/вывода равно 53;

• ATmega64, ATmega64L (Рис. 1.12) — имеют FLASH-память программ объемом 64 Кбайт, ОЗУ объемом 4 Кбайт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-память данных объемом 2 Кбайт. Максимальное число контактов ввода/вывода равно 53;

• ATmega128, ATmega128L (Рис. 1.12) — имеют FLASH-память программ объемом 128 Кбайт, ОЗУ объемом 4 Кбайт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-пaмять данных объемом 4 Кбайт. Максимальное число контактов ввода/вывода равно 53;

• ATmega1281, ATmega1281V(Рис. 1.13) — имеют FLASH-память программ объемом 128 Кбайт, ОЗУ объемом 8 Кбайт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-пaмять данных объемом 4 Кбайт. Максимальное число контактов ввода/вывода равно 54;

• ATmega2561, ATmega2561V (Рис. 1.13) — имеют FLASH-память программ объемом 256 Кбайт, ОЗУ объемом 8 Кбайт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-пaмять данных объемом 4 Кбайт. Максимальное число контактов ввода/вывода равно 54.

4. Микроконтроллеры в 100-выводных корпусах типа TQFP:

• ATmega3250, ATmega3250V (Рис. 1.14) — имеют FLASH-память программ объемом 32 Кбайт, ОЗУ объемом 2 Кбайт и EEPROM-память данных объемом 1 Кбайт. Максимальное число контактов ввода/вывода равно 68;

• ATmega6450, ATmega6450V (Рис. 1.14) — имеют FLASH-память программ объемом 64 Кбайт, ОЗУ объемом 4 Кбайт и EEPROM-память данных объемом 2 Кбайт. Максимальное число контактов ввода/вывода равно 68;

• ATmega640, ATmega640V (Рис. 1.15) — имеют FLASH-память программ объемом 64 Кбайт, ОЗУ объемом 8 Кбайт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-память данных объемом 4 Кбайт. Максимальное число контактов ввода/вывода равно 86;

• ATmegal280, ATmegal280V (Рис. 1.15) — имеют FLASH-память программ объемом 128 Кбайт, ОЗУ объемом 8 Кбайт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-память данных объемом 4 Кбайт. Максимальное число контактов ввода/вывода равно 86;

• ATmega2560, ATmega2560V (Рис. 1.15) — имеют FLASH-память программ объемом 128 Кбайт, ОЗУ объемом 8 Кбайт (с возможностью подключения внешнего ОЗУ объемом до 64 Кбайт) и EEPROM-память данных объемом 4 Кбайт. Максимальное число контактов ввода/вывода равно 86.

Основные параметры всех микроконтроллеров семейства, такие как объем памяти (программ и данных), число контактов ввода/вывода, тип корпуса, диапазон рабочих частот и напряжения питания, приведены в Табл. 1.1.

Таблица 1. Основные параметры микроконтроллеров AVR семейства Mega

Дополнительно следует отметить, что одни модели микроконтроллеров семейства выпускаются как в коммерческом (диапазон рабочих температур 0. +70°С), так и в промышленном (диапазон рабочих температур —40 . +85°С) исполнении, а другие — только в промышленном.

Описание выводов микроконтроллера ATmega128

Рис. Расположение выводов (вид сверху)

Таблица. Описание выводов

XTAL1 Вход тактового генератора

XTAL2 Выход тактового генератора

RESET Вход сброса

(PA7:0) 8-битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами. При подключении внешнего ОЗУ выполняет функцию мультиплексированной ША/ШД (AD7:0).

8-битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами

РВО (SS) 0-й бит порта В

Выбор Slave-устройства на шине SPI

РВ1 (SCK) 1-й бит порта В

Выход (Master) или вход (Slave) тактового сигнала модуля SPI

РВ2 (MOSI) 2-й бит порта В

Выход (Master) или вход (Slave) данных модуля SPI

РВЗ (MISO) 3-й бит порта В

Вход (Master) или выход (Slave) данных модуля SPI

РВ4(ОС0) 4-й бит порта В

Выход таймера/счетчика ТО

РВ5 (ОС1А) 5-й бит порта В

Выход А таймера/счетчика Т1

РВ6(ОС1В) 6-й бит порта В

Выход В таймера/счетчика Т1

РВ7(ОС2/ОС1С) 7-й бит порта В

Выход таймера/счетчика Т2

Выход С таймера/счетчика Т1

8-битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами. При подключении внешнего ОЗУ выполняет функцию шины адреса (A15:8)

Порт D. 8-битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами

PD0(SCL/INT0) 0-й бит порта D

Вход/выход тактового сигнала модуля TWI

Вход внешнего прерывания

PD1 (SDA/INT1) 1-й бит порта D

Вход/выход данных модуля TWI

Вход внешнего прерывания

PD2(RXD1/INT2) 2-й бит порта D

Вход USART1

Вход внешнего прерывания

PD3(TXD1/INT3) 3-й бит порта D

Выход USART1

Вход внешнего прерывания

PD4(ICP1) 4-й бит порта D

Вход захвата таймера/счетчика Т1

PD5(XCK1) 5-й бит порта D

Вход/выход внешнего тактового сигнала USART1

PD6(T1) 6-й бит порта D

Вход внешнего тактового сигнала таймера/счетчика Т1

PD7 (Т2) 7-й бит порта D

Вход внешнего тактового сигнала таймера/счетчика Т2

Обозначение

PD7 (Т2)

Номер

вывода

32

Тип

вывода

I/O

Описание

7-й бит порта D

Вход внешнего тактового сигнала таймера/счетчика Т2

8-битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами

РЕО (PDI/RXD0) 0-й бит порта Е

Вход данных для программирования по последовательному каналу

Вход USART0

РЕ1 (PDO/TXD0) 1-й бит порта Е

Выход данных для программирования по последовательному каналу

Выход USART0

РЕ2 (AIN0/XCK0) 2-й бит порта Е

Неинвертируюший вход компаратора

Вход/выход внешнего тактового сигнала USART0

PE3(AIN1/0C3A) 3-й бит порта Е

Инвертирующий вход компаратора

Выход А таймера/счетчика ТЗ

РЕ4 (OC3B/INT4) 4-й бит порта Е

Выход В таймера/счетчика ТЗ

Вход внешнего прерывания

РЕ5 (OC3C/INT5) 5-й бит порта Е

Выход С таймера/счетчика ТЗ

Вход внешнего прерывания

РЕ6 (T3/INT6) 6-й бит порта Е

Вход внешнего тактового сигнала таймера/счетчика ТЗ

Вход внешнего прерывания

РЕ7 (ICP3/INT7) 7-й бит порта Е

Вход захвата таймера/счетчика ТЗ

Вход внешнего прерывания

Порт F. 8-битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами

PFO (ADC0) 0-й бит порта F

Вход АЦП

PF1 (ADC1) 1-й бит порта F

Вход АЦП

PF2(ADC2) 2-й бит порта F

Вход АЦП

PF3 (ADC3) 3-й бит порта F

Вход АЦП

PF4(ADC4/TCK) 4-й бит порта F

Вход АЦП

Тактовый сигнал JTAG

PF5 (ADC5/TMS) 5-й бит порта F

Вход АЦП

Выбор режима JTAG

PF6 (ADC6/TDO) 6-й бит порта F

Вход АЦП

Выход данных JTAG

PF7 (ADC7/TDI) 7-й бит порта F

Вход АЦП

Вход данных JTAG

Порт G. 5-битный двунаправленный порт ввода/вывода с внутренними подтягивающими резисторами

PGO(WR) 0-й бит порта G

Строб записи во внешнее ОЗУ

PG1(RD) 1-й бит порта G

Строб чтения из внешнего ОЗУ

PG2 (ALE) 2-й бит порта G

Строб адреса внешнего ОЗУ

PG3 (TOSC2) 3-й бит порта G

Вывод для подключения резонатора к таймеру/счетчику Т2

PG4(TOSC1) 4-й бит порта G

Вывод для подключения резонатора к таймеру/счетчику Т2

PEN Разрешение программирования

AREF Вход опорного напряжения для АЦП

AVCC Вывод источника питания АЦП

VCC Вывод источника питания

GND Общий вывод

Общие сведения

Микроконтроллеры AVR семейства Mega являются 8-битными микроконтроллерами с RISC-архитектурой. Они имеют в своем составе электрически стираемую память программ (FLASH) и данных (EEPROM), а также разнообразные периферийные устройства. Cостав периферийных устройств от модели к модели практически не меняется (меняется только количество однотипных модулей и их функциональные возможности).

В любой модели имеется хотя бы по одному 8- и 16-битному таймеру/счетчику, хотя бы по одному интерфейсному модулю USART и SPI, аналоговый компаратор, сторожевой таймер и, конечно, порты ввода/вывода. К устройствам, присутствующим не во всех моделях семейства, относятся АЦП, модуль двухпроводного интерфейса TWI (Two Wire Interface, аналог шины I2С), а также модули интерфейсов JTAG и debugWire.

Структурная схема микроконтроллеров ATmega64x/128x приведена на

Рис. 2.3. Их особенности:

• 7 портов ввода/вывода (порты A...F — 8-битные, порт G —

5-битный);

• возможность подключения внешнего ОЗУ;

• два 8-битных (ТО, Т2) и два 16-битных (Tl, T3) таймера/счетчика;

• 8 каналов Ш ИМ;

• два модуля USART и по одному модулю SPI и TWI;

• 8-канальный 10-битный АЦП;

• интерфейс JTAG.

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

Организация памяти

В микроконтроллерах AVR семейства Mega реализована Гарвардская архитектура, в соответствии с которой разделены не только адресные пространства памяти программ и памяти данных, но также и шины доступа к ним. Способы адресации и доступа к этим областям памяти также различны. Такая структура позволяет центральному процессору работать одновременно как с памятью программ, так и с памятью данных, что существенно увеличивает производительность. Каждая из областей памяти данных (ОЗУ и EEPROM) также расположена в своем адресном пространстве.

Обобщенная карта памяти микроконтроллеров AVR семейства Mega приведена на Рис. 2.12.

Обратите внимание на следующее. Поскольку микроконтроллеры AVR

имеют 16-битную систему команд, объем памяти программ на рисунке

указан не в байтах, а в 16-битных словах.

Рис. Карта памяти микроконтроллеров семейства Mega

Рис. Карта памяти микроконтроллера ATmega128

Память программ

Память программ предназначена для хранения команд,

управляющих работой микроконтроллера. Память программ также часто

используется для хранения таблиц констант, не меняющихся во время работы

программы.

Как было сказано выше, память программ представляет собой

электрически стираемое ППЗУ (FLASH-ПЗУ). В связи с тем, что длина всех

команд кратна одному слову A6 бит), память программ имеет 16-битную

организацию. Соответственно, объем памяти микроконтроллеров семейства

составляет от 4К Dx1024) до 64К F4x10битных слов. В

подавляющем большинстве моделей микроконтроллеров семейства Mega память

программ логически разделена на две неравные части: область прикладной

программы и область загрузчика. В последней может располагаться

специальная программа (загрузчик), позволяющая микроконтроллеру

самостоятельно управлять загрузкой и выгрузкой прикладных программ. Подробно

использование этой области и реализация программы-загрузчика будут

рассмотрены в главе 14. Если же возможность самопрограммирования

микроконтроллера не используется, прикладная программа может

располагаться и в области загрузчика.

Для адресации памяти программ используется счетчик команд

(Program Counter — PC). Размер счетчика команд составляет от И до

17 бит, в зависимости от объема адресуемой памяти.

По адресу $0000 памяти программ находится вектор сброса. После

инициализации (сброса) микроконтроллера выполнение программы

начинается с этого адреса (по этому адресу должна размещаться команда

перехода к инициализационной части программы). Начиная с адреса $001

(модели с памятью программ 8 Кбайт и меньше) или $0002 (остальные

модели) памяти программ располагается таблица векторов прерываний.

Размер этой области зависит от модели микроконтроллера (подробнее о

распределении области векторов прерывания см. раздел 5.2).

При возникновении прерывания после сохранения в стеке текущего

значения счетчика команд происходит выполнение команды, расположенной

по адресу соответствующего вектора. Поэтому по данным адресам

располагаются команды перехода к подпрограммам обработки прерываний. В

моделях с памятью программ небольшого объема (8 Кбайт и менее) в таблицах

векторов прерываний используются команды относительного перехода

(RJMP), а в остальных моделях — команды абсолютного перехода (JMP).

В большинстве микроконтроллеров семейства Mega положение

вектора сброса и/или таблицы векторов прерываний может быть изменено. Они

могут располагаться не только в начале памяти программ, как описано

выше, но и в начале области загрузчика. Подробнее об этом будет сказано в

Если в программе прерывания не используются либо таблица векторов

прерываний располагается в области загрузчика, то основная программа

может начинаться непосредственно с адреса $0001.

В заключение следует отметить, что FLASH-ПЗУ, используемое в

микроконтроллерах AVR, рассчитано, как минимум, нациклов

стирания/записи (типовое значение — циклов).

2.2.2. Память данных

Память данных микроконтроллеров семейства Mega разделена на три

части: регистровая память, оперативная память (статическое ОЗУ) и

энергонезависимое ЭСППЗУ (EEPROM).

Регистровая память включает 32 регистра общего назначения (РОН),

объединенных в файл, и служебные регистры ввода/вывода (РВВ). В

сложных моделях с развитой периферией имеется также область

дополнительных (extended) регистров ввода/вывода (ДРВВ). Под РВВ в памяти

микроконтроллера отводится 64 байта, а под ДРВВ — 160 или 416 байт (в

зависимости от модели).

В обеих областях регистров ввода/вывода располагаются различные

служебные регистры (регистр управления микроконтроллера, регистр

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

устройствами, входящими в состав микроконтроллера. Общее количество РВВ и

ДРВВ зависит от конкретной модели микроконтроллера.

Для хранения переменных помимо регистров общего назначения

также используется статическое ОЗУ объемом от 512 байт до 8 Кбайт. Ряд

микроконтроллеров семейства, кроме того, имеют возможность

подключения внешнего статического ОЗУ объемом до 64 Кбайт.

Для долговременного хранения различной информации, которая

может изменяться в процессе функционирования готовой системы

(калибровочные константы, серийные номера, ключи и т. п.), в микроконтроллерах

семейства может использоваться встроенная EEPROM-память. Ее объем

составляет для различных моделей от 256 байт до 4 Кбайт. Эта память

расположена в отдельном адресном пространстве, а доступ к ней

осуществляется с помощью определенных РВВ.

Статическое ОЗУ

Прежде всего, следует сказать, что в микроконтроллерах AVR

семейства Mega используется линейная организация памяти. Объем статического

ОЗУ для различных моделей семейства составляет от 512 байт до 8 Кбайт

(см. Табл. 1.1).

В адресном пространстве ОЗУ также расположены все регистры

микроконтроллеров, под них отведены младшие 96 B56) адресов (см.

Рис. 2.15). Остальные адреса отведены под 512/1К/2К/4К...64К ячеек

статического ОЗУ

Рис. Организация статического ОЗУ