13.1 Архитектура и принципы программирования микроконтроллеров семейства AVR
Обзор семейства микроконтроллеров AVR
Микроконтроллеры семейства AVR являются одним из популярных современных средств для построения управляющих вычислителей. Семейство AVR разработано и выпускается фирмой Atmel Corp.
Компания ATMEL Corp. – один из мировых лидеров в производстве широкого спектра микросхем энергонезависимой памяти, FLASH-микроконтроллеров и микросхем программируемой логики. Первые МК AVR появились в 1997 году.
Вычислительное ядро МК AVR относится к т.н. RISC-архитектуре (RISC – Reduced Instruction Set Computer – вычислитель с ограниченной системой команд).
Основные особенности ядра AVR:
· Гарвардская архитектура с раздельной памятью программ и данных;
· 32 регистра общего назначения (регистровый файл) с именами R0…R31, каждый из которых может быть приемником результата операции из АЛУ;
· команды 16-битовой длины; количество базовых команд – 120;
· эффективная производительность 1 MIPS на каждый 1 МГц тактовой частоты;
· память программ реализована как Flash-ROM; физическое программирование выполняется через последовательный интерфейс SPI (от LPT-порта ПК);
Основные особенности периферийных устройств:
· 16-битовые таймеры-счетчики;
· встроенные аппаратные многорежимные ШИМ;
· обработка внешних сигналов прерываний;
· аналоговые компараторы;
· 8 - или 10-разрядный многоканальный АЦП;
· параллельные порты с битовым принципом доступа;
· последовательные интерфейсы UART, SPI, TWI (twisted wire interface);
· сторожевой таймер;
· интерфейс JTAG для удаленной отладки программ.
В рамках единой базовой архитектуры AVR-микроконтроллеры подразделяют на три подсемейства (группы):
Базовые отличия групп представлены в табл. 5.1.
Практически все модели семейства AVR ориентированы на построение систем с минимальной конфигурацией, т.е. не поддерживают работу с внешним адресным пространством. Некоторые модели поддерживают только внешнюю память данных.
Группа
|
Объем памятиFlash, кбайт
|
Кол-во выводов
|
Периферия на кристалле МК
|
Область применения
|
Tiny
|
1…2
|
8
|
таймеры,
АЦП малоканальный
|
Интеллектуальные датчики различного назначения (контрольные, пожарные, охранные), игрушки, зарядные устройства, различная бытовая техника. Основной критерий – предельно низкая цена
|
Classic
|
4…16
|
28 и 40
|
таймеры – 2-3,
ШИМ-генераторы,
8-канальный АЦП,
8-битовые порты – 2-3,
внешние прерывания – 5…9
|
Цифровые контроллеры технологического оборудования, системы управления и регулирования, особенно на мобильных объектах
|
Mega
|
8…128
|
40…128
|
таймеры – 3-4,
ШИМ-генераторы (массив),
8-канальный АЦП,
аналоговые компараторы,
8-битовые порты – от 3 до 6,
внешние прерывания – до 15,
интерфейс отладки JTAG
|
Оборудование для телефонии, контроллеры различного периферийного оборудования (принтеры, сканеры, современные дисковые накопители, приводы CD-ROM/DVD-ROM и т.п.), сложная офисная техника, стойки управления технологическим оборудованием (станки с ЧПУ)
|
Использование микроконтроллеров семейства AVR в разработках кафедры 301 представлено в табл. 5.2
Таблица 5.2
Разработка
|
Модель МК AVR
|
Применение
|
Учебная система УУМС-2
|
ATmega16
|
Периферийный МК (ввод аналоговых сигналов на основе АЦП, вывод аналоговых сигналов на основе ШИМ под управлением основного МК)
|
Распределенная система мониторинга параметров современного инкубатория
|
ATmega8
|
Как основа удаленных модулей сбора данных с датчиков климатических параметров. Прием сигналов с датчиков, упаковка пакетов, сетевая связь с диспетчерским ПК.
|
Универсальные исследовательские стенды лаборатории «Проектирования систем управления»
|
ATmega16
|
Цифровой контроллер, установленный в каждом из стендов. Прием аналоговых сигналов, реализация алгоритмов управления контуром на стенде, связь с ПК
|
Робот на основе автомобильной платформы
|
ATmega16
|
Анализ данных с различных датчиков, управление траекторией, слежение
|
Друхкоординатная цифровая система позиционирования
|
ATmega16
|
В контроллере использованы два МК AVR. Один МК выполняет прием и первичную обработку данных с датчиков. Второй МК реализует траекторное движение и позиционирование.
|
Система управления климатической камерой BlueStar
|
ATmega128
|
В качестве устройства сбора данных и контроллера оборудования климатической камеры. Реализация программ климатических испытаний
|
Отказоустойчивая бесплатформенная инерциальная навигационная система для ЛА куполообразной формы
|
ATmega128
|
Сбор и обработка данных с ДУСов и акселерометров. Реализация алгоритмов диагностирования датчиков и восстановления информации
|
|