AVR

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
Atmel AVR ATmega8 PDIP.
Atmel AVR ATmega169 MLF.

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

Содержание

[править] Описание архитектуры

Микроконтроллеры 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.

[править] Семейства микроконтроллеров

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

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

Примечание: здесь приведены максимальные значения объёмов памяти

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

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

[править] Устройства ввода/вывода МК

МК 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).
  • Таймеры на 8, 16 бит.
  • ШИМ-модулятор (PWM) 8-, 9-, 10-, 16-битный.
  • Аналоговые компараторы.
  • АЦП (ADC) с дифференциальными входами, разрядность 10 бит:
    • программируемый коэффициент усиления перед АЦП 1, 10 и 200;
    • опорное напряжение 2,56 В.
  • Различные последовательные интерфейсы, включая:
    • двухпроводной интерфейс TWI, совместимый с I²C;
    • универсальный синхронно/асинхронный приёмопередатчик UART/USART;
    • синхронный последовательный порт SPI(Serial Peripheral Interface).
  • USB серия AT90USBxxxx.
  • CAN серия AT90CANxxx.
  • LCD серии ATmega169 и ATmega329.
  • Датчики температуры ATtiny25, ATtiny45, ATtiny85.

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

[править] Средства разработки

Существуют следующие средства разработки для AVR:

  • VMLAB — симулятор AVR.
  • Proteus — мощнейший симулятор электрических цепей, компонентов, включая различные МК и др. периферийное оборудование.
  • E-LAB AVRco — компилятор Pascal.
  • Algorithm Builder - визуальная среда разработки программ для AVR в виде блок-схем включает также эмулятор и программатор. Используемый язык программирования - псевдоассемблер.

Кроме того существует свободные средства разработки для AVR:


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

[править] Смотрите также

[править] Ссылки

Источник — «http://ru.wikipedia.org/wiki/AVR»