Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по МПСУ_the best.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.38 Mб
Скачать

59. Микроконтроллеры avr

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

Идея разработки нового RISC-ядра принадлежит двум студентам из Нирвегии — Альфу Богену и Вегарду Воллену. В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром. Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке. Новое ядро было запатентовано и получило название AVR.

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

- Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31);

- Некоторые команды работают только с регистрами r16…r31;

- Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.

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

Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций. Большинство команд занимает только 1 ячейку памяти (16 бит). Большинство команд выполняется за 1 такт.

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

  • команды логических операций;

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

  • команды операции с битами;

  • команды пересылки данных;

  • команды передачи управления;

  • команды управления системой.

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

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

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

tinyAVR (ATtinyxxx):

megaAVR (ATmegaxxx):

XMEGA AVR (ATxmegaxxx):

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

-со встроенными интерфейсами USB, CAN, контроллером LCD;

-со встроенным радиоприёмопередатчиком — серии ATAхxxx, ATAMxxx;

-для управления электродвигателями — серия AT90PWMxxxx;

-для автомобильной электроники;

-для осветительной техники.

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

Многофункциональные, двунаправленные GPIO порты ввода/вывода со встроенными подтягивающими резисторами. Конфигурация портов в/в задаётся программно.

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

Свободные

Code::Blocks — IDE;

DDD — графический интерфейс к avr-gdb;

Avrdude — популярное средство для прошивки микроконтроллеров.

V-USB — программная реализация протокола

PonyProg — универсальный программатор, подключение через COM-порт, LPT-порт

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

AVR Studio — IDE + ассемблер + отладчик. Freeware.

CodeVisionAVR — компилятор C и программатор

ICC — ImageCraft Development Tools - компилятор, простой, удобный и эффективный C + генератор начального кода.

Bascom-avr — среда разработки основанная на Basic-подобном языке программирования

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