Открыть сервисСервис

Микроконтроллер AVR

Микроконтроллер AVR — это семейство 8-битных и 32-битных микроконтроллеров, разработанных норвежской компанией Atmel (ныне подразделение Microchip Technology). Архитектура AVR была создана в 1996 году группой инженеров под руководством Альфа-Эгиля Богена и Вегарда Воллена. Микроконтроллеры AVR получили широкое распространение благодаря оптимальному сочетанию производительности, энергоэффективности и простоты разработки, став одной из самых популярных платформ для встраиваемых систем, образовательных проектов и любительской электроники.

История

Разработка и первые модели

Проект AVR стартовал в 1996 году в норвежском городе Тронхейм. Разработчики ставили цель создать микроконтроллер с гарвардской архитектурой, использующий RISC-набор команд (Reduced Instruction Set Computer). Первые коммерческие образцы — AT90S1200 и AT90S8515 — были выпущены в 1997 году. Название «AVR» официально не расшифровывается, однако существует версия, что это аббревиатура от фамилий создателей: Альф-Эгиль Боген (A), Вегард Воллен (V) и сотрудник по имени Риск (R).

Поглощение Atmel компанией Microchip

В 2016 году корпорация Microchip Technology завершила сделку по приобретению компании Atmel за 3,56 миллиарда долларов США. С этого момента линейка AVR перешла под управление Microchip, что обеспечило продолжение производства и развитие семейства, включая выпуск новых серий (например, AVR-DA и AVR-DB).

Архитектура

Гарвардская структура

Микроконтроллеры AVR построены по гарвардской архитектуре: память программ (Flash) и память данных (SRAM) разделены, что позволяет одновременно обращаться к обоим типам памяти. Это повышает производительность по сравнению с фон-неймановской архитектурой, где память программ и данных объединена.

RISC-ядро

AVR использует RISC-концепцию с небольшим набором команд (обычно около 130 инструкций). Большинство команд выполняются за один тактовый цикл. Ядро включает 32 8-битных регистра общего назначения (R0–R31), объединённых в регистровый файл. Некоторые регистры имеют специальные функции (например, X, Y, Z — для косвенной адресации).

Память

Периферия

Типовой набор периферийных модулей включает:

Классификация

По разрядности

  • 8-битные AVR (AVR8): наиболее распространённое семейство. Включает серии tinyAVR (малые корпуса, минимальная периферия), megaAVR (средняя производительность, богатая периферия) и AVR XMEGA (расширенные возможности, DMA-контроллеры, криптографические модули).
  • 32-битные AVR (AVR32): выпускались с 2006 года, основаны на 32-битном RISC-ядре. Использовались в некоторых промышленных и мультимедийных устройствах, но не получили массового распространения из-за конкуренции с ARM-архитектурой. Производство AVR32 в основном прекращено.

По сериям (на примере 8-битных)

СерияПримеры моделейFlash-памятьОсобенности
tinyAVRATtiny13, ATtiny851–8 КБМалые корпуса (8–20 выводов), низкое энергопотребление
megaAVRATmega8, ATmega328P8–256 КБШирокая периферия, популярны в Arduino
AVR XMEGAATxmega128A116–384 КБВысокая производительность, DMA, AES-шифрование

Применение

Промышленная автоматика

AVR используются в контроллерах систем управления, датчиках, исполнительных механизмах. Благодаря широкому диапазону напряжений питания (1,8–5,5 В) и низкому энергопотреблению они подходят для автономных устройств.

Потребительская электроника

Микроконтроллеры AVR встречаются в бытовых приборах (стиральные машины, микроволновые печи), пультах дистанционного управления, игрушках, электронных термометрах.

Образовательные проекты и хобби

Платформа Arduino (организация Arduino LLC, в РФ деятельность не запрещена, но отдельные проекты могут использовать компоненты, подпадающие под ограничения) базируется на микроконтроллерах ATmega (например, ATmega328P в Arduino Uno) и ATtiny. Благодаря открытой среде разработки Arduino IDE и большому сообществу AVR стали стандартом для обучения программированию встраиваемых систем.

Автомобильная электроника

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

Средства разработки

Программное обеспечение

  • AVR Studio (Atmel Studio) — интегрированная среда разработки (IDE) от Atmel/Microchip, основанная на Visual Studio. Поддерживает компиляторы AVR-GCC (GNU Compiler Collection) и IAR Embedded Workbench.
  • Arduino IDE — упрощённая среда, использующая библиотеки Wiring и компилятор AVR-GCC. Популярна среди начинающих.
  • AVRDUDE — утилита для прошивки микроконтроллеров через программаторы (USBasp, STK500, Atmel-ICE).

Программаторы

Для загрузки прошивки в AVR используются внутрисхемные программаторы, подключаемые по SPI или JTAG. Распространённые модели: USBasp (бюджетный, на базе ATmega8), Atmel-ICE (профессиональный, с отладкой), STK500 (оригинальный программатор Atmel).

Преимущества и недостатки

Преимущества

  • Энергоэффективность: некоторые модели (picoPower) потребляют менее 100 нА в режиме сна.
  • Простота программирования: RISC-архитектура с однотактовыми командами упрощает написание кода на ассемблере и C.
  • Широкая доступность: дешёвые и распространённые компоненты (ATmega328P стоит около 2–3 долларов США).
  • Документация: полные даташиты и application notes от производителя.

Недостатки

  • Ограниченная производительность: 8-битные AVR уступают 32-битным ARM-микроконтроллерам по тактовой частоте (до 20 МГц) и объёму памяти.
  • Устаревшая архитектура: отсутствие аппаратной поддержки некоторых современных протоколов (Ethernet, CAN FD) в базовых моделях.
  • Конкуренция: ARM Cortex-M (STM32, NXP LPC) и ESP32 (Xtensa) предлагают более высокую производительность за сопоставимую цену.

Интересные факты

  • Название «AVR» иногда шутливо расшифровывают как «Alf and Vegard’s RISC processor» (процессор RISC Альфа и Вегарда).
  • Микроконтроллер ATmega328P, используемый в Arduino Uno, является одним из самых продаваемых 8-битных микроконтроллеров в мире — по оценкам, выпущено более 100 миллионов экземпляров.
  • В 2019 году Microchip выпустила серию AVR-DA, которая поддерживает напряжение питания до 5,5 В и имеет встроенный 12-битный АЦП, что расширило применение в автомобильной и промышленной электронике.

Источники

  • Atmel Corporation. AVR Instruction Set Manual. Microchip Technology, 2020.
  • Microchip Technology. 8-bit AVR Microcontrollers: Technical Reference Manual. 2022.
  • Барретт С. Программирование микроконтроллеров AVR: от Arduino к профессиональной разработке. — СПб.: БХВ-Петербург, 2019.
  • Данные официального сайта Microchip Technology (microchip.com) по линейке AVR.
  • Статистика продаж и применения из отраслевых обзоров Embedded Systems Market (2021–2023).
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru