Atmel AVR

Atmel AVR ATmega8 PDIP

Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Год разработки 1996. Процессор AVR имеет 32 8-битных регистра. В отличие от «идеального» RISC, регистры не абсолютно ортогональны.

Короткая история

Существует   версия, что основная архитектура AVR была разработана двумя студентами в Норвежском институте технологии (NTH) Альф-Эгилом Богеном и Вегардом Воланом.
Первоначально AVR MCU был основан в местном ASIC-доме в Трондхайме, Норвегия, где два основателя Atmel (Норвегия) работали как студенты. Это было известно как ?RISC (Micro RISC). Когда технологии были проданы компании Atmel, внутренняя архитектура и далее разрабатывалась Альфом и Вегардом для Atmel (Норвегия), дочерняя компания Atmel была основана двумя архитекторами.
Акроним AVR был сообщен для установки для Advanced Virtual RISC, но также было распространены слухи, что устанавливается для инициализации чипов конструкторов: Альфа и Вегарда [RISC]. Компания Atmel утверждает, что название AVR не акроним и не устанавливается ни для чего в частности.
Заметьте, что польза «AVR» в настоящей статье вообще ссылается к 8ой-разрядной серии RISC Microcontrollers Atmel AVR.
Среди первых AVR была серия AT90S8515, которая в пакете 40-pin DIP имеет такую же схема расположения выводов, как и микроконтроллер 8051, включая внешние со сложной структурой шины адреса и данных. Направленность /СБРОС вывода был противоположным (8051 имеет высокоактивный СБРОС, в то время как AVR имеет низкоактивный /СБРОС), но за исключением этого, схема расположения выводов была идентична.

Обзор прибора

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

Основные семейства

AVRs вообще классифицированы в 4 обширные группы: 

8 разрядные

  1. tinyAVR
  2. megaAVR
  3. Специальные МК AVR

32 разрядные

  1. AT32 (AVR32)

Архитектура устройства

Данные RAM

            Flash, EEPROM, и SRAM все интегрированы на отдельных микросхемах, во избежание возникновения потребности во внешней памяти (однако все еще имеющейся на некоторых приборах)

Память программы (Flash)

            Хранят инструкции по программе в энергонезависимой Flash-памяти. Однако они 8-разрядные MCU, каждая такая  инструкция занимает одно или два 16-разрядных слова.
Размер памяти программы обычно показан в самом названии устройства (например, серия ATmega64x имеет 64 кБ Flash-памяти).

Внутренняя память данных

Адресное пространство данных содержится в регистровом файле, регистре Ввода/Вывода и SRAM. Схемы AVR имеют 32 одиночно-байтных регистра и классифицируются как 8-разрядные RISC  устройства.

Внутренние регистры

В большинстве вариантов архитектур AVR, работающие регистры размещены как первые 32 адреса памяти (000016-001F16), за которыми следуют 64 регистра Ввода/Вывода (002016-005F16).
Непосредственно SRAM начинается после этих секций регистров (адрес 006016). Следует отметить, что адресное пространство регистра Ввода/Вывода может быть больше на некоторых очень больших устройствах, в случае которых память, распределенная в регистре Ввода/Вывода, также будет занимать часть адресного пространства SRAM.
Но даже тогда имеют место отдельно адресуемые схемы и оптимизированные коды операций для архива регистра и доступа к регистру Ввода/Вывода, все можно все еще адресовать и всем манипулировать, так если бы они находились в SRAM.
В случае варианта XMEGA работающий регистр не расположен в адресном пространстве данных; потому невозможно обратиться ни к одному из работающих регистров XMEGA так, как если бы они были SRAM. Регистры Ввода/Вывода напротив, расположены в адресном пространстве данных, и начинают свою работу с самого начала адресного пространства. Дополнительно, количество данных адресного пространства, предназначенное для регистров Ввода/Вывода существенно возросло до 4096 байт (000016-0FFF16). Однако, как и с предыдущими поколениями, быстрыми манипуляциями Ввода/Вывода можно только достигнуть первых 64 положения регистра Ввода/Вывода (первые 32 положения для битовых инструкций). 
После регистров Ввода/Вывода, комплекты серии XMEGA  отклоняются от ряда 4096 байт данных адресного пространства, могущие выборочно понадобиться для составления внутреннего адресного пространства данных EEPROM (100016-1FFF16). Сам SRAM размещен после этого диапазона, начиная с 200016.

Выполнение программы

AVR фирмы Atmel имеет три ступени, одноуровневую конструкцию канала. Это означает, что выбирается следующая машинная команда, по мере того как исполняется текущая. Большинство команд занимают один или два машинных цикла, делая схемы AVR гораздо более быстрыми среди 8-битных микроконтроллеров.
Семейство процессоров AVR были спроектированы с эффективным исполнением составленного С-кода и имеет несколько встроенных указателей для задачи.

MCU Скорость

Серия AVR может обычно поддерживать скорость часов (0-20 МГц), некоторые устройства достигают 32 МГц. Операции с более низкой мощностью обычно требует уменьшенной тактовой частоты. Все недавние (TINY и MEGA, но не 90S) особенности AVR микросхемы осциллятора избегают потребности во внешних часах или сетей резонатора.
В виду того, что много операций на AVR имеют одиночный цикл, AVR может достигнуть до 1MIPS в MHz.

Разработка

Схемы AVR имеют большую необходимость в разработке бесплатного и недорогого, доступного программного обеспечения, включая разумно оцененные платы и свободное развитие средств программирования. Схемы AVR продаются под различными названиями, но имеют одинаковую основную середину, но с различными периферийными устройствами и комбинациями памяти. Совместимость среди микросхем безусловно хороша.

Источник: http://en.wikipedia.org/wiki/Microcontroller