AVR

AVR
Логотип AVR.
Atmel AVR ATmega8 в корпусе DIP
Atmel AVR ATmega169V в корпусе MLF

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — 1996.

Содержание

История создания архитектуры AVR

Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма (Trondheim) — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром.

Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.

Новое ядро было запатентовано и получило название AVR. Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это Advanced Virtual RISC, другие полагают, что не обошлось здесь без Alf Egil Bogen Vegard Wollan RISC.

Описание архитектуры

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

  • Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31);
  • Некоторые команды работают только с регистрами r16…r31;
  • Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.

Система команд

Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций.

Большинство команд занимает только 1 ячейку памяти (16 бит).

Большинство команд выполняется за 1 такт.

Всё множество команд микроконтроллеров AVR можно разбить на несколько групп:

  • команды логических операций;
  • команды арифметических операций и команды сдвига;
  • команды операции с битами;
  • команды пересылки данных;
  • команды передачи управления;
  • команды управления системой.

Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN/OUT.

Семейства микроконтроллеров

Стандартные семейства:

  • megaAVR (ATmegaxxx):
    • Флеш-память до 256 Кб; SRAM до 8 Кб; EEPROM до 4 Кб;
    • Число линий ввода-вывода 23-86 (общее количество выводов 28-100);
    • Аппаратный умножитель;
    • Расширенная система команд и периферийных устройств.
  • XMEGA AVR (ATxmegaxxx):
    • Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб;
    • Четырёхканальный DMA-контроллер;
    • Инновационная система обработки событий.

Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера. А именгшщн89н7но, максимальная степень двойки, следующая за префиксом обозначает объём памяти, а оставшиеся цифры определяют модификацию (апр., ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно).[источник не указан 123 дня]

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

  • со встроенными интерфейсами USB, CAN, контроллером LCD;
  • со встроенным радиоприёмопередатчиком — серии ATAхxxx, ATAMxxx;
  • для управления электродвигателями — серия AT90PWMxxxx;
  • для автомобильной электроники;
  • для осветительной техники.

Кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32, которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц).

Версии контроллеров

AT(mega/tiny)xxx — базовая версия.
ATxxxL — версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATxxxV — версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATxxxP — малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007)[1], повыводно и функционально совместимы с предыдущими версиями.
ATxxxA — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» с точки зрения программатора ничем не отличаются.[2][3]

АТxxx-PI — корпус DIP
АТxxx-PU — корпус DIP, бессвинцовый припой

АТxxx-AI — корпус TQFP
АТxxx-AU — корпус TQFP, бессвинцовый припой

(цифры 8/10/16/20/.. перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания). Файл:AT32.jpg

Устройства ввода/вывода МК

МК AVR имеют развитую периферию:

  • Многофункциональные, двунаправленные GPIO порты ввода/вывода со встроенными подтягивающими резисторами. Конфигурация портов в/в задаётся программно.
  • В качестве источника тактовых импульсов может быть выбран:
  • Внутренняя Флеш-память команд до 256 KБ (не менее 10 000 циклов перезаписи).
  • Отладка программ осуществляется с помощью интерфейсов JTAG или debugWIRE:
    • сигналы JTAG (TMS, TDI, TDO, и TCK) мультиплексированы на порт ввода/вывода. Режим работы — JTAG или порт — задаётся соответствующим битом в регистре fuses. МК AVR поставляются с включённым интерфейсом JTAG.
  • Внутреннее EEPROM данных до 4 КБ (100 000 циклов).
  • Внутренняя SRAM до 8 KБ время доступа 1 такт.
  • Внешняя память объёмом до 64 КБ (Mega8515 и Mega162).
  • Таймеры c разрядностью 8, 16 бит.
  • ШИМ-модулятор (PWM) 8-, 9-, 10-, 16-битный.
  • Аналоговые компараторы.
  • АЦП (ADC) с дифференциальными входами, разрядность 10 бит (12 для XMEGA AVR):
    • программируемый коэффициент усиления перед АЦП 1, 10 и 200;
    • опорное напряжение 2,56 В.
  • Различные последовательные интерфейсы, включая:
    • двухпроводной интерфейс TWI, совместимый с I²C;
    • универсальный синхронно/асинхронный приёмопередатчик UART/USART;
    • синхронный последовательный порт Serial Peripheral Interface (SPI).
  • USB серия AT90USBxxxx.
  • CAN серия AT90CANxxx.
  • LCD серии ATmega169 и ATmega329.
  • Датчики температуры ATtiny25, ATtiny45, ATtiny85.

Примечание: не все периферийные устройства могут быть включены программно. Бит в регистре fuses может быть изменён только программатором.

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

Свободные

  • WinAVR — программный пакет под Windows, включающий в себя компилятор, ассемблер, компоновщик и другие инструменты.
  • Algorithm Builder — разработки программного обеспечения для микроконтроллеров с архитектурой AVR.
  • Code::Blocks — кроссплатформенная среда разработки.
  • DDD — графический интерфейс к avr-gdb.
  • V-USB — программная реализация протокола USB для микроконтроллеров AVR.
  • Avrdude — средство для прошивки микроконтроллеров.
  • PonyProg — универсальный программатор через LPT-порт, COM-порт (подерживается и USB-эмулятор COM-порта).

Проприетарные

  • AVR Studio — бесплатная IDE от самой Atmel
  • IAR AVR — коммерческая среда разработки для микроконтроллеров AVR
  • Bascom-avr — среда разработки основанная на Basic-подобном языке программирования.
  • CodeVisionAVR — компилятор C и программатор — CVAVR, генератор начального кода.
  • Proteus — симулятор электрических цепей, компонентов, включая различные МК и др. периферийное оборудование.

Также архитектура AVR позволяет применять операционные системы при разработке приложений, например FreeRTOS, uOS, ChibiOS/RT.

См. также

Ссылки

Примечания


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "AVR" в других словарях:

  • AVR — may refer to: * Avon Valley Railway, a heritage railway in the United Kingdom * Atmel AVR family of microprocessors * Assiniboine Valley Railway, a minimum gauge railway in Winnipeg, Canada * Audio/Video Receiver * Aortic valve replacement *… …   Wikipedia

  • AVR — El microcontrolador AT90S2333 de Atmel Descri …   Wikipedia Español

  • Avr — Die Abkürzung AVR steht für: Allgemeines Verwaltungsrecht Arbeitgeberverband der Deutschen Volksbanken und Raiffeisenbanken Arbeitsgemeinschaft Versuchreaktor, ein Unternehmen, das für den Bau eines Kugelhaufenreaktors im Forschungszentrum Jülich …   Deutsch Wikipedia

  • AVR — Die Abkürzung AVR steht für: Allgemeines Verwaltungsrecht Arbeitgeberverband der Deutschen Volksbanken und Raiffeisenbanken Arbeitsgemeinschaft Versuchreaktor, ein Unternehmen, das für den Bau eines Kugelhaufenreaktors im Forschungszentrum Jülich …   Deutsch Wikipedia

  • AVR — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Le sigle AVR peut désigner : l académie des renseignements extérieurs de Russie ; la famille de microcontrôleur Atmel AVR. Catégories :… …   Wikipédia en Français

  • aVR — • automated volt right aVR • unipolar limb lead on the right arm in electrocardiography …   Dictionary of medical acronyms & abbreviations

  • AVR Studio — AVR Studio  интегрированная среда разработки (IDE) для разработки 8 ми и 32 х битных AVR приложений от компании Atmel, работающая в операционных системах Windows NT/2000/XP/Vista/7. AVR Studio содержит ассемблер и симулятор, позволяющий… …   Википедия

  • AVR (Jülich) — f1 AVR (Jülich) AVR Jülich Lage …   Deutsch Wikipedia

  • AVR Butterfly — The AVR Butterfly [ [http://www.atmel.com/dyn/products/tools card.asp?tool id=3146 ATMEL AVR Butterfly Product Description] ] is a self contained, battery powered demonstration board running the ATMEL AVR ATmega169PV Microcontroller. The board… …   Wikipedia

  • AVR-Caritas — Die „Richtlinien für Arbeitsverträge in den Einrichtungen des Deutschen Caritasverbandes“ (AVR Caritas) sind das Regelwerk, nach dem die hauptamtlichen Mitarbeiter der Caritasverbände und der Einrichtungen der Caritas beschäftigt und entlohnt… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»