Общее устройство микроконтроллеров AVR

Общее устройство микроконтроллеров ATmega и ATtiny

CPU — процессорное устройство
Память
Периферийные устройства
Последовательные порты

Фирма ATMEL была создана в 1984 году, полное название – Advanced Technologi Memory and Logic.
Первый МК фирма выпустила в 1993 году.
В 1995 году была придумана новая архитектура процессорного ядра для МК, так называемое RISС-ядро. Новую архитектуру МК назвали AVR. Идея новой архитектуры ядра оказалась очень удачной, и уже с 1997 года ATMEL начала серийный выпуск МК на основе RISC-ядра. В настоящее время ATMEL выпускает в год несколько миллиардов МК разнообразных типов. Из всего этого множества выделяется два семейств восьмиразрядных МК: tinyAVR и megaAVR.
Семейство Tiny – более простые, менее навороченные и, соответственно, более дешевые.
Семейство Mega – более навороченные, но и стоят дороже.
В каждом семействе большое разнообразие различных МК, что позволяет нам выбрать для создаваемой конструкции наиболее оптимальный вариант МК как по его возможностям, так и по цене.

Общее устройство микроконтроллеров AVR


Краткие характеристики микроконтроллеров AVR семейства Mega и Tiny:

тактовая частота от 0 герц до 20 мегагерц
объем памяти программ 1-16 килобайт для семейства Tiny и 8-256 килобайт для семейства Mega
напряжение питания от 1,8 до 5,5 вольт (для разных типов микроконтроллеров диапазон питающих напряжений разный, также встречается и от 0,7 вольт, и до 6 вольт)
ток потребления микроконтроллером — в среднем около 5 миллиампер и сильно зависит от питающего напряжения и тактовой частоты, чем выше эти значения — тем больший ток потребления


А теперь давайте посмотрим на рисунок, где показаны все основные компоненты микроконтроллера, а потом бегло ознакомимся с каждым из них:
В этой статье мы не будем глубоко вникать в назначение и устройство каждого компонента микроконтроллера, этим мы займемся в следующих статьях по устройству микроконтроллеров AVR. Сегодня мы рассмотрим только общее устройство микроконтроллера.


CPU — процессор микроконтроллера

Его задача сформировать адрес очередной команды, выбрать команду из памяти и организовать ее выполнение.
Основные устройства CPU:
— АЛУ — арифметико-логическое устройство
— блок регистров общего назначения (РОН)

АЛУ — устройство, которое выполняет арифметические и логические операции над данными, которые поступают из регистров общего назначения.
РОН — регистры общего назначения (всего 32 РОН, от R0 до R31), основная задача которых — обмен данными между АЛУ и ячейками памяти.


Память микроконтроллера

Микроконтроллеры AVR имеют три разновидности памяти:
FLASH
SRAM
EEPROM

FLASH-память — постоянное запоминающее устройство, она-же память программ. Предназначена для хранения кодов программ и констант
SRAM-память — оперативное запоминающее устройство, она-же память данных. Предназначена для хранения данных, получаемых в процессе выполнения программы (при выключении питания — данные теряются)
EEPROM-память — постоянное запоминающее устройство, она-же энергонезависимая память данных. Предназначена для хранения констант и данных, получаемых в процессе выполнения программы (при выключении питания — данные не теряются)


Периферийные устройства

«Периферийными»  в микроконтроллерах называют все устройства, внешние по отношению к CPU и памяти

Порты ввода-вывода
Параллельный восьмиразрядный порт ввода-вывода предназначен для ввода и вывода данных. Количество портов — от 1 до 7 (зависит от модели микроконтроллера)и обозначаются они буквами A, B,C, D … .

Аналоговый компаратор
Присутствует во всех моделях МК
Аналоговый компаратор – устройство сравнения. Основная задача компаратора – это сравнение двух напряжений: одно из них – образцовое (с чем сравниваем), а второе – измеряемое (сравниваемое). Если сравниваемое напряжение больше образцового – компаратор вырабатывает сигнал логической единицы. Если сравниваемое напряжение меньше образцового – компаратор формирует на своем выходе логический ноль.
С помощью компаратора можно, к примеру, контролировать напряжение на заряжаемом аккумуляторе. Пока напряжение не достигнет нужного уровня, на выходе компаратора – логический ноль, как только напряжение аккумулятора достигло уровня нужного нам, компаратор вырабатывает логическую единицу, и значит можно завершить зарядку аккумулятора.

АЦП – аналого-цифровой преобразователь
Имеют не все МК
АЦП – преобразователь аналогового напряжения в цифровую форму.
Аналоговое напряжение – это напряжение которое изменяется по напряжению во времени. Например – синусоидальный сигнал с выхода генератора частоты, напряжение в бытовой розетке, звуковой сигнал на колонках.
АЦП постоянно анализирует на своем входе величину напряжения и выдает на своем выходе цифровой код, соответствующий входному напряжению.
Примеры применения:
– цифровой вольтметр или амперметр
– процессорный стабилизатор напряжения
МК, которые имеют АЦП, также имеют раздельное питание для цифровой и для аналоговой частей.

Таймер/счетчик
Присутствует во всех моделях МК, но в разных количествах – от 1 до 4, и с разными возможностями
Таймер/счетчик – это как бы два устройства в одном флаконе: таймер + счетчик.
Таймер – устройство, которое позволяет формировать временные интервалы. Таймер представляет собой цифровой счетчик который считает импульсы или от внутреннего генератора частоты, или от внешнего источника сигнала.
С помощью таймера/счетчика можно:
– отсчитывать и измерять временные интервалы
– подсчитывать количество внешних импульсов
– формировать ШИМ-сигналы
К примеру, мы хотим создать прибор позволяющий измерять частоту входного сигнала (частотомер). В этом случае мы можем использовать два счетчика/таймера. Первый будет отсчитывать временные интервалы равные 1 секунде, а второй будет считать количество импульсов за промежуток времени в 1 секунду которые отсчитывает первый таймер. Количество импульсов подсчитанное вторым таймером/счетчиком за 1 секунду будет равно частоте входного сигнала.
ШИМ— широтно-импульсный модулятор, предназначен для управления средним значением напряжения на нагрузке.
ШИМ – один из вариантов работы таймера/счетчика, позволяющий генерировать на выходе МК прямоугольное импульсное напряжение с регулируемой длительностью между импульсами (скважностью), которое применяется в различных устройствах:
– регулирование частоты вращения электродвигателя
– осветительные приборы
– нагревательные элементы

Сторожевой таймер
Есть во всех моделях МК. Может быть включен или выключен по усмотрению программиста
У сторожевого таймера только одна задача – производить сброс (перезапускать программу) МК через определенный промежуток времени.
При работе МК могут возникать различные ситуации при которых его нормальная работа будет нарушена (внешние помехи, дурацкая программа, за которую надо голову оторвать программисту). В таких случаях говорят, что МК «завис».
При нормальной работе МК и включенном сторожевом таймере, программа должна периодически производить сброс сторожевого таймера (а периодический сброс мы должны сами предусмотреть в программе) еще до того, как он должен сработать и перезапустить МК. Если программа «зависла», то сброса сторожевого таймера не будет, и через определенный промежуток времени он перезапустит МК.

Модуль прерываний
Прерывание – сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей программы приостанавливается и управление передается обработчику прерывания, который реагирует на событие и обслуживает его (выполняется программа, которую должен выполнить МК при наступлении соответствующего события – прерывания), после чего возвращается в прерванную программу.
Прерывания бывают внутренние и внешние.
Внутренние прерывания могут возникать при работе периферийных устройств МК (АЦП, компаратор, таймер и т.д.)
Внешнее прерывание – событие, которое возникает при наличии сигнала на одном из специальных входов МК (таких специальных входов для внешних прерываний у МК может быть несколько).
Пример:
Внутреннее прерывание. Собрали на МК устройство, которое еще обладает и функцией зарядки резервного источника питания. МК выполняет свою основную программу, аналоговый компаратор в это время проверяет напряжение на аккумуляторе. Как только напряжение аккумулятора снизится ниже допустимого, компаратор вырабатывает сигнал процессору – прерывание, процессор останавливает выполнение основной программы и переходит к выполнению программы прерывания, вызванного компаратором – к примеру, включает схему зарядки аккумулятора, а затем возвращается к выполнению прерванной программы.
Внешнее прерывание. Работа МК происходит также, как и при внутреннем прерывании, но вызываться оно может любым устройством, подключенным к специальному входу МК.


Последовательные порты

Последовательный периферийный интерфейс SPI
Имеется во всех моделях МК
Мы его в большинстве случаях применяем для программирования МК.
Кроме программирования МК, интерфейс SPI позволяет:
– обмениваться данными между МК и внешними устройствами
– обмениваться данными нескольким МК между собой

Универсальный приемопередатчик UART
Имеют все модели МК, но разных типов:
– USART
– UART
Предназначены для обмена данными по последовательному каналу по двухпроводным линиям связи. Прием и передача могут вестись одновременно.

Последовательный двухпроводный интерфейс TWI (I2C)
Встречается только в серии Mega.
Предназначен для обмена данными по двухпроводной линии. Всего к такой линии можно подключить до 128 устройств.
TWI является полным аналогом интерфейса I2C.


Примечание: к этой записи прикреплена форма для оценки. Чтобы оценить её, зайдите на сайт.
Общее устройство микроконтроллеров AVR семейства megaAVR и tinyAVR
Published by: Мир контроллеров
Date Published: 05/03/2015

4 ответа к “Общее устройство микроконтроллеров AVR”

Спасибо за такую статью. С помощью неё разбирался с назначением компонентов ATmega32. Правда не хватает детального рассмотра компонентов процессора.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *