2 Архитектура avr-микроконтроллеров
AVR-микроконтроллеры содержат на кристалле следующие аппаратные средства: 8-разрядное процессорное ядро, память программ, оперативную память данных, энергонезависимую память данных, регистры ввода-вывода, схему прерываний, схему программирования, а также периферийные устройства (рисунок 2) [17].
Процессорное ядро (Central Processing Unit – CPU) AVR-микроконтроллеров содержит арифметико-логическое устройство (АЛУ), регистры общего назначения (РОН), программный счётчик, указатель стека, регистр состояния, регистр команд, дешифратор команд, схему управления выполнением команд.
В АЛУ выполняются все вычислительные операции. Операции производятся только над содержимым РОН. На выборку содержимого регистров, выполнение операции и запись результата обратно в РОН затрачивается один машинный такт (один период тактовой частоты).
Регистры общего назначения представляют собой 8-разрядные ячейки памяти с быстрым доступом, непосредственно доступные АЛУ. В AVR-микроконтроллерах имеется 32 РОН.
Программный счётчик (Program Counter – PC) содержит адрес следующей выполняемой команды.
Указатель стека (Stack Pointer – SP) служит для хранения адреса вершины стека.
Регистр состояния (Status Register – SREG) содержит слово состояния процессора.
Рисунок 2 – Архитектура микроконтроллеров семейства AVR
Регистр команд, дешифратор команд и схема управления выполнением команд обеспечивают выборку из памяти программ команды, адрес которой содержится в программном счётчике, её декодирование, определение способа доступа к указанным в команде аргументам и собственно выполнение команды. Для ускорения выполнения команд используется механизм конвейеризации, который заключается в том, что во время исполнения текущей команды программный код следующей выбирается из памяти и декодируется.
Память AVR-микроконтроллеров организована по схеме Гарвардского типа – адресные пространства памяти программ и памяти данных разделены.
Память программ представляет собой перепрограммируемое ПЗУ типа FLASH и выполнена в виде последовательности 16-разрядных ячеек, так как большинство команд AVR-микроконтроллера являются 16-разрядными словами. Гарантируется не менее 10 000 циклов перезаписи. Память программ имеет размер от 2 до 256 Kбайт (от 1 до 128 Kслов).
Оперативная память данных представляет собой статическое ОЗУ (SRAM – Static Random-Access Memory) и организована как последовательность 8-разрядных ячеек. Оперативная память данных может быть внутренней (до 16 Kбайт) и внешней (до 64 Кбайт).
Энергонезависимая (nonvolatile) память данных организована как последовательность 8-разрядных ячеек и представляет собой перепрограммируемое ПЗУ с электрическим стиранием (РПЗУ-ЭС, или EEPROM – Electrically Erasable Programmable Read-only Memory). Энергонезависимая память данных имеет размер до 64 Кбайт.
Регистры ввода-вывода предназначены для управления процессорным ядром и периферийными устройствами AVR-микроконтроллера.
Схема прерываний обеспечивает возможность асинхронного прерывания процесса выполнения программы при определённых условиях.
К периферийным устройствам AVR-микроконтроллера относятся порты ввода-вывода, таймеры, счётчики, сторожевой таймер, аналоговый компаратор, аналого-цифровой преобразователь, универсальный асинхронный (синхронно-асинхронный) приёмопередатчик – УАПП (УСАПП), последовательный периферийный интерфейс SPI, интерфейс JTAG и др. Набором периферийных устройств определяются функциональные возможности микроконтроллера.
Обмен информацией между устройствами AVR-микроконтроллера осуществляется посредством внутренней 8-разрядной шины данных.
- 2 Архитектура avr-микроконтроллеров
- 3 Программная модель avr-микроконтроллеров
- 4 Система команд avr-микроконтроллеров
- 5 Программирование микроконтроллеров
- 6 Работа в среде avr Studio
- Информация в сети интернет
- Приложение 1 – Основные характеристики микроконтроллеров групп Tiny avr, Mega avr и lcd avr