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

AVR

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

История

Разработка (1996–1997)

Архитектура AVR была создана в 1996 году группой разработчиков из Норвежского университета естественных и технических наук (NTNU) и компании Atmel Norway. Ключевыми фигурами стали Альф-Эгиль Боген (Alf-Egil Bogen) и Вегард Воллен (Vegard Wollan), в честь инициалов которых (Alf and Vegard’s RISC processor) и названа архитектура. Первые образцы микроконтроллеров серии AT90S1200 были выпущены в 1997 году.

Коммерциализация (1998–2005)

В 1998 году Atmel представила серию AT90S, которая включала модели с флеш-памятью программ до 8 КБ. В 2002 году вышло обновлённое семейство ATmega (например, ATmega8, ATmega16), отличавшееся увеличенным объёмом памяти, расширенной периферией и поддержкой внутрисхемного программирования (ISP). К 2005 году AVR стали одними из самых популярных 8-битных микроконтроллеров благодаря низкой цене и простоте использования.

Эра Arduino (2005–2010)

В 2005 году итальянские разработчики Массимо Банци и Дэвид Куартильес выбрали микроконтроллер ATmega8 для создания платформы Arduino. Это решение привело к массовому распространению AVR среди любителей и студентов. В 2008 году Atmel выпустила 32-битные микроконтроллеры AVR32 (архитектура AVR32A, AVR32B), ориентированные на встраиваемые системы с высокими требованиями к производительности.

Поглощение Microchip (2016)

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

Архитектура

Гарвардская модель

AVR использует раздельные шины для памяти программ (флеш) и памяти данных (SRAM). Это позволяет одновременно выполнять выборку команды и операции с данными, повышая производительность. Объём флеш-памяти варьируется от 1 КБ (ATtiny10) до 512 КБ (ATmega2560), SRAM — от 32 байт до 32 КБ.

RISC-ядро

Набор команд AVR включает 130–140 инструкций, большинство из которых выполняются за один тактовый цикл. Регистровый файл состоит из 32 8-битных регистров общего назначения (R0–R31), которые напрямую подключены к арифметико-логическому устройству (АЛУ). Это минимизирует задержки при обработке данных.

Энергопотребление

AVR поддерживает несколько режимов пониженного энергопотребления: Idle (отключение ядра, периферия активна), Power-down (остановка генератора, сохранение данных в SRAM), Power-save (асинхронный таймер работает). В режиме Power-down потребление тока может составлять менее 1 мкА при напряжении 1,8 В.

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

8-битные микроконтроллеры

Основные семейства 8-битных AVR:

  • ATtiny — компактные модели с малым числом выводов (6–20), объёмом флеш до 16 КБ. Примеры: ATtiny13, ATtiny85, ATtiny2313. Применяются в простых датчиках, игрушках, светодиодных контроллерах.
  • ATmega — полнофункциональные модели с 28–100 выводами, флеш до 256 КБ. Примеры: ATmega8, ATmega328P, ATmega2560. Используются в Arduino Uno, промышленных контроллерах, 3D-принтерах.
  • AT90USB — модели с поддержкой USB (например, AT90USB1287). Применяются в клавиатурах, геймпадах, USB-адаптерах.

32-битные микроконтроллеры (AVR32)

Семейство AVR32 (например, AT32UC3A, AT32UC3B) основано на 32-битном RISC-ядре с поддержкой DSP-инструкций и аппаратного умножения. Тактовая частота достигает 66 МГц, объём флеш — до 512 КБ. Применяются в аудиоустройствах, цифровых фильтрах, системах управления двигателями.

Периферия

Цифровые модули

  • Порты ввода-вывода (GPIO) — до 86 линий, с возможностью настройки на вход, выход, подтяжку резисторами.
  • Таймеры/счётчики — 8-битные и 16-битные таймеры с режимами ШИМ, захвата, сравнения.
  • Интерфейсы связиUART (USART), SPI, I²C (TWI). В старших моделях — CAN, USB, Ethernet.
  • Аналоговые модули — АЦП (10–12 бит, до 16 каналов), компараторы, ЦАП (в сериях AVR-DA, AVR-DB).

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

  • Внутренний генератор — RC-генератор с точностью 1–3% (калибруется заводом).
  • Сторожевой таймер (WDT) — сбрасывает микроконтроллер при зависании.
  • Энергонезависимая память (EEPROM) — от 64 байт до 4 КБ, для хранения настроек.

Программирование

Среды разработки

  • Atmel Studio (позднее Microchip Studio) — официальная IDE на базе Visual Studio, поддерживает AVR GCC, отладку через JTAG/ISP.
  • Arduino IDE — упрощённая среда с библиотеками Wiring, ориентирована на ATmega328P и ATmega2560.
  • AVR-GCCкомпилятор C/C++ для AVR, входит в состав WinAVR, CrossPack.

Языки программирования

Основной язык — C (AVR-GCC). Для низкоуровневого доступа используется ассемблер AVR (инструкции типа ADD, SUB, MOV, JMP). В среде Arduino применяется упрощённый синтаксис C++.

Протоколы программирования

  • ISP (In-System Programming) — последовательный интерфейс (SPI) для прошивки микроконтроллера без извлечения из схемы.
  • JTAG — стандартный интерфейс для отладки и программирования (доступен в моделях ATmega с 40+ выводами).
  • Bootloader — загрузчик, записанный в отдельный сектор флеш, позволяет обновлять прошивку через UART или USB.

Применение

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

AVR используются в контроллерах температуры, таймерах, счётчиках импульсов, системах управления конвейерами. Например, ATmega128 применяется в программируемых логических контроллерах (ПЛК) малой мощности.

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

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

Робототехника и хобби

Благодаря платформе Arduino, AVR стали стандартом для любительских проектов: роботов-манипуляторов, квадрокоптеров, метеостанций, систем «умный дом». ATmega328P используется в Arduino Uno — самой популярной плате для обучения.

Образование

AVR изучают в курсах микропроцессорной техники в вузах и колледжах России (например, МГТУ им. Баумана, МИФИ). Простота архитектуры и доступность документации делают её идеальной для освоения основ встраиваемых систем.

Критика

Ограничения 8-битной архитектуры

К 2020-м годам 8-битные AVR уступают по производительности 32-битным ARM-микроконтроллерам (например, STM32) при решении задач, требующих интенсивных вычислений (обработка сигналов, машинное зрение). Объём флеш-памяти (до 256 КБ) также ограничивает сложность прошивок.

Ценовая политика

После поглощения Microchip цены на некоторые модели AVR (например, ATmega328P) выросли на 20–30% по сравнению с аналогами от STMicroelectronics или NXP. Это привело к частичному переходу производителей на альтернативные платформы.

Экосистема

Среда разработки Microchip Studio (ранее Atmel Studio) критикуется за громоздкость и частые сбои при работе с отладчиками. В то же время Arduino IDE, несмотря на простоту, не поддерживает продвинутые функции (например, многозадачность, отладку пошагово).

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

  • Название «AVR» не является официальной аббревиатурой; расшифровка «Alf and Vegard’s RISC processor» была предложена самими разработчиками.
  • Микроконтроллер ATmega328P, установленный на Arduino Uno, содержит около 32 КБ флеш-памяти, что позволяет хранить до 32 000 инструкций.
  • В 2010 году AVR-микроконтроллеры были использованы в системе управления марсоходом NASA «Curiosity» для вспомогательных функций (датчики температуры, напряжения).
  • В России AVR применяются в учебных стендах «Эврика» и «МикроЛаб», разработанных для школьных уроков информатики.

Источники

  • Atmel Corporation. «AVR Instruction Set Manual» (2008).
  • Microchip Technology. «AVR Architecture Overview» (2020).
  • Бейктал Дж. «Конструируем роботов на Arduino» (2015).
  • Статья «AVR микроконтроллеры: история и применение» в журнале «Компоненты и технологии» (2019, № 4).
  • Официальная документация Arduino: «Arduino Uno Rev3 Datasheet» (2022).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →