Avr микроконтроллеры: популярное семейство

Виды и устройство микроконтроллеров AVR

AVR – это название популярного семейства микроконтроллеров, которое выпускает компания Atmel. Кроме АВР под этим брендом выпускаются микроконтроллеры и других архитектур, например, ARM и i8051.

Какими бывают AVR микроконтроллеры?

Существует три вида микроконтроллеров:

Самым популярным уже более десятка лет является именно 8-битное семейство микроконтроллеров. Многие радиолюбители начинали изучать микроконтроллеры с него. Почти все они познавали мир программируемых контроллеров делая свои простые поделки, вроде светодиодных мигалок, термометров, часов, а также простой автоматики, типа управления освещением и нагревательными приборами.

Микроконтроллеры AVR 8-bit в свою очередь делятся на два популярных семейства:

Attiny – из названия видно, что младшее (tiny – юный, молодой, младший), в основном имеют от 8 пинов и более. Объём их памяти и функционал обычно скромнее, чем в следующем;

Atmega – более продвинутые микроконтроллеры, имеют большее количество памяти, выводов и различных функциональных узлов;

Самым мощным подсемейством микроконтроллеров является xMega – эти микроконтроллеры выпускаются в корпусах с огромным количеством пинов, от 44 до 100. Столько необходимо для проектов с большим количеством датчиков и исполнительных механизмов. Кроме того, увеличенный объем памяти и скорость работы позволяют получить высокое быстродействие.

Расшифровка: Пин (англ. pin – иголка, булавка) – это вывод микроконтроллера или как говорят в народе – ножка. Отсюда же слово «распиновка» – т.е. информация о назначении каждой из ножек.

Для чего нужны и на что способны микроконтроллеры?

Микроконтроллеры применяются почти везде! Практически каждое устройство в 21 веке работает на микроконтроллере: измерительные приборы, инструменты, бытовая техника, часы, игрушки, музыкальные шкатулки и открытки, а также многое другое; одно лишь перечисление займет несколько страниц текста.

Разработчик может использовать аналоговый сигнал подовая его на вход микроконтроллера и манипулировать с данными о его значении. Эту работу выполняет аналогово-цифровой преобразователь (АЦП). Данная функция позволяет общаться пользователю с микроконтроллером, а также воспринимать различные параметры окружающего мира с помощью датчиков.

В распространенных AVR-микроконтроллерах, например, Atmega328, который на 2017 году является сердцем многих плат Arduino, но о них позже. Используется 8 канальный АЦП, с разрядностью 10 бит. Это значит вы сможете считать значение с 8 аналоговых датчиков. А к цифровым выводам подключаются цифровые датчики, что может быть очевидным. Однако цифровой сигнал может являться только 1 (единицей) или 0 (нулем), в то время как аналоговый может принимать бесконечное множество значений.

Пояснение:

Разрядность – это величина, которая характеризует качество, точность и чувствительность аналогового входа. Звучит не совсем понятно. Немного практики: 10 битный АЦП, записать аналоговую информацию с порта в 10 битах памяти, иначе говоря плавно изменяющийся цифровой сигнал микроконтроллером распознается как числовое значение от 0 до 1024.

12 битный АЦП видит тот же сигнал, но с более высокой точностью – в виде от 0 до 4096, а это значит, что измеренные значения входного сигнала будут в 4 раза точнее. Чтобы понять откуда взялись 1024 и 4096, просто возведите 2 в степени равную разрядности АЦП (2 в степени 10, для 10 разрядного и т.д.)

Чтобы управлять мощностью нагрузки к вашему распоряжению есть ШИМ-каналы, их можно задействовать, например, для регулировки яркости, температуры, или оборотов двигателя. В том же 328 контроллере их 6.

В общем структура AVR микроконтроллера изображена на схеме:

Все узлы подписаны, но всё же некоторые названия могут быть не столь очевидными. Давайте рассмотрим их обозначения.

АЛУ – арифметико-логическое устройство. Нужно для выполнения вычислении.

Регистры общего назначения (РОН) – регистры которые могут принимать данные и хранить их в то время пока микроконтроллер подключен к питанию, после перезагрузки стираются. Служат как временные ячейки для операций с данными.

Прерывания – что-то вроде события которое возникает по внутренним или внешним воздействиям на микроконтроллер – переполнение таймера, внешнее прерывание с пина МК и т.д.

JTAG – интерфейс для внутрисхемного программирования без снятия микроконтроллера с платы.

Flash, ОЗУ, EEPROM – виды памяти – программ, временных рабочих данных, долгосрочного хранения независимая от подачи питания к микроконтроллеру соответственно порядку в названиях.

Таймеры и счетчики – важнейшие узлы в микроконтроллере, в некоторых моделях их количество может быть до десятка. Нужны для того, чтобы отчитывать количество тактов, соответственно временные отрезки, а счетчики увеличивают свое значение по какому-либо из событий. Их работа и её режим зависят от программы, однако выполняются эти действия аппаратно, т.е. параллельно основному тексту программы, могут вызвать прерывание (по переполнению таймера, как вариант) на любом этапе выполнения кода, на любой его строке.

A/D (Analog/Digital) – АЦП, его назначение мы уже описали ранее.

WatchDogTime (Сторожевой таймер) – независимый от микроконтроллера и даже его тактового генератора RC-генератор, который отсчитывает определенный промежуток времени и формирует сигнал сброса МК, если тот работал, и пробуждения – если тот был в режиме сна (энергосбережния). Его работу можно запретить, установив бит WDTE в 0.

Выходы микроконтроллера довольно слабые, имеется в виду то, что ток через них обычно до 20-40 миллиампер, чего хватит для розжига светодиода и LED-индикаторов. Для более мощной нагрузки – необходимы усилители тока или напряжения, например, те же транзисторы.

Что нужно чтобы начать изучение микроконтроллеров?

Для начала нужно приобрести сам микроконтроллер. В роли первого микроконтроллера может быть любой Attiny2313, Attiny85, Atmega328 и другие. Лучше выбирать ту модель, которая описана в уроках, по которым вы будете заниматься.

Следующее что Вам нужно – программатор. Он нужен для загрузки прошивки в память МК, самым дешевым и популярным считается USBASP.

Немногим дороже, но не менее распространенный программатор AVRISP MKII, который можно сделать своими руками – из обычной платы Arduino

Другой вариант – прошивать их через USB-UART переходник, который обычно делается на одном из преобразователей: FT232RL, CH340, PL2303 и CP2102.

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

Одно лишь «но» – в память микроконтроллера предварительно нужно загрузить UART бутлоадер. Разумеется, для этого все равно нужен программатор для AVR-микроконтроллеров.

Интересно: Bootloader – это обычная программа для микроконтроллера, только с необычной задачей – после его запуска (подключения к питания) он ожидает какое-то время, что в него могут загрузить прошивку. Преимуществом такого метода – можно прошить любым USB-UART переходником, а они очень дешевы. Недостаток – долго загружается прошивка.

Для работы UART (RS-232) интерфейса в микроконтроллерах AVR выделен целый регистр UDR (UART data register). UCSRA (настройки битов приемопередатчика RX, TX), UCSRB и UCSRС – набор регистров отвечающие за настройки интерфейса в целом.

В чем можно писать программы?

Кроме программатора для написания и загрузки программы нужно IDE – среда для разработки. Можно конечно же писать код в блокноте, пропускать через компиляторы и т.д. Зачем это нужно, когда есть отличные готовые варианты. Пожалуй, один из наиболее сильных – это IAR, однако он платный.

Официальным IDE от Atmel является AVR Studio, которая на 6 версии была переименована в Atmel studio. Она поддерживает все микроконтроллеры AVR (8, 32, xMega), автоматически определяет команды и помогает ввести, подсвечивает правильный синтаксис и многое другое. С её же помощью можно прошивать МК.

Наиболее распространённым является – C AVR, поэтому найдите самоучитель по нему, есть масса русскоязычных вариантов, а один из них – Хартов В.Я. «Микроконтроллеры AVR. Практикум для начинающих».

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

Самый простой способ изучить AVR

Купите или сделайте своими руками плату Arduino. Проект ардуино разработан специально для учебных целей. Он насчитывает десятки плат различных формами и количеством контактов. Самое главное в ардуино – это то что вы покупаете не просто микроконтроллера, а полноценную отладочную плату, распаянную на качественной текстолитовой печатной плате, покрытой маской и смонтированными SMD компонентами.

Самые распространенные – это Arduino Nano и Arduino UNO, они по сути своей идентичны, разве что «Нано» меньше примерно в 3 раза чем «Уно».

Несколько фактов:

Ардуино может программироваться стандартным языком – «C AVR»;

своим собственным – wiring;

стандартная среда для разработки – Arduino IDE;

для соединения с компьютером достаточно лишь подключить USB шнур к гнезду micro-USB на плате ардуино нано, установить драйвера (скорее всего это произойдет автоматически, кроме случаев, когда преобразователь на CH340, у меня на Win 8.1 драйвера не стали, пришлось скачивать, но это не заняло много времени.) после чего можно заливать ваши «скетчи»;

«Скетчи» – это название программ для ардуино.

Выводы

Микроконтроллеры станут отличным подспорьем в вашей радиолюбительской практике, что позволит вам открыть для себя мир цифровой электроники, конструировать свои измерительные приборы и средства бытовой автоматики.

Поделитесь этой статьей с друзьями:

Вступайте в наши группы в социальных сетях:

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

Семейство AVR – включает в себя 8 битные микроконтроллеры для широкого спектра задач.

AVR проекты

Для сложных проектов с большим количеством входов/выходов вам предоставлены микроконтроллеры AVR семейства Mega и AVR xmega, которые выпускаются в корпусах от 44 до 100 выводов и имеют до 1024 кб Flash памяти, а скорость их работы – до 32 миллионов операций в секунду.

Практически все модели имеют возможность генерировать ШИМ, встроенный АЦП и ЦАП.

Миллионы радиолюбителей разрабатывают интересные проекты на AVR – это самое популярное семейство МК, о них написано очень много книг на русском и других языках мира.

Популярность семейства АВР поддерживается на высоком уровне уже много лет, в последние 10 лет интерес к ним подогревает проект Arduino – плата для простого входа в мир цифровой электроники.

Сферы применения различных Tiny, Mega

Четко описать сферу применения микроконтроллера нельзя, ведь она безгранична, однако можно классифицировать следующим образом:

  1. Tiny AVR – самые простые в техническом плане. В них мало памяти и выводов для подключения сигналов, цена соответствующая. Однако это идеальное решение для простейших проектов, начиная от автоматики управления осветительными приборами салона автомобиля, до осциллографических пробников для ремонта электроники своими руками. Они также используются в Arduino-совместимом проекте – Digispark. Это самая маленькая версия ардуины от стороннего производителя; выполнена в формате USB-флешки.
  2. Семейство MEGA долго оставалось основным у продвинутых радиолюбителей, они мощнее и имеют больший, чем в Tiny, объём памяти и количество выводов. Это позволяет реализовывать сложные проекты, однако семейство очень широко для краткого описания. Именно они использовались в первых платах Arduino, актуальные платы оснащены, в основном, ATMEGA

Выход любого МК без дополнительных усилителей потянет светодиоды или светодиодную матрицу в качестве индикаторов, например.

AVR xMega или старшие микроконтроллеры

Разработчики Atmel создали AVR xMega, как более мощный МК, при этом принадлежащий к семейству AVR. Это было нужно для того, чтобы облегчить труд разработчика при переходе к более мощному семейству.

В AVR xMega есть два направления:

  • МК с напряжением питания 1.8-2.7 вольта, работают с частотой до 12 мГц, их входа устойчивы к величине напряжения в 3.3 В;
  • МК с напряжением питания 2.7-3.6 вольта уже могут работать на более высоких частотах – до 32 мГц, а вход устойчив к 5 вольтам.

Также стоит отметить: AVR xMega отлично работают в автономных системах, потому что имеют низкое энергопотребление. Для примера: при работающих таймерах и часах реального времени RTC потребляют 2 мА тока, и готовы к работе от прерывания внешнего или по переполнению таймера, а также по времени. Для выполнения целого ряда функций применяется множество 16 разрядных таймеров.

Работа с USB портом

Начнем с того, что для программирования микроконтроллера нужно использовать последовательный порт, однако на современных компьютерах COM порт часто отсутствует. Как подключить микроконтроллер к такому компьютеру? Если использовать преобразователи USB-UART, эта проблема решается очень легко. Простейший преобразователь вы можете собрать на микросхемах FT232 и CH340, а его схема представлена ниже.

Такой преобразователь размещен на платах Arduino UNO и Aduino Nano.

Некоторые микроконтроллеры AVR имеют встроенный (аппаратный) USB:

Такое решение нашло применение для реализации связи компьютера и Arduino mega2560 по USB, в которой микроконтроллер «понимает» только UART.

Назначение ЦАП и АЦП микроконтроллеров AVR

Цифроаналоговыми преобразователями (ЦАП) называют устройства, преобразующие сигнал единиц и нолей (цифровой) в аналоговый (плавно изменяющийся). Главные характеристики – разрядность и частота дискретизации. В АЦП преобразуется аналоговый сигнал в цифровой вид.

Порты с поддержкой АЦП нужны для того, чтобы подключить к микроконтроллеру аналоговые датчики, например, резистивного типа.

ЦАП нашёл своё применение в цифровых фильтрах, где входной сигнал проходит программную обработку и вывод через ЦАП в аналоговом виде, ниже вы видите наглядные осциллограммы. Нижний график – входной сигнал, средний – этот же сигнал, но обработанный аналоговым фильтром, а верхний – цифровой фильтр на микроконтроллере Tiny45. Фильтр нужен для формирования нужного диапазона частот сигнала, а также для формирования сигнала определенной формы.

Схема осциллографа на микроконтроллере Atmega328

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

А здесь расположено подробное видео этого проекта, инструкции по сборке и советы от автора:

Какую литературу читать о микроконтроллерах AVR для начинающих?

Для обучения молодых специалистов написаны горы литературы, давайте рассмотрим некоторые из них:

  1. Евстифеев А.В. «Микроконтроллеры AVR семейства Mega». В книге подробно рассмотрена архитектура микроконтроллера. Описано назначение всех регистров и таймеров, а также их режимы работы. Изучена работа интерфейсов связи с внешним миром SPI и т. д. Система команд раскрыта для понимания радиолюбителю среднего уровня. Материал книги «Микроконтроллеры avr семейства mega: руководство пользователя» поможет изучить структуру чипа и назначение каждого из его узлов, что, безусловно, важно для любого программиста микроконтроллеров.
  2. Белов А.В. – «Микроконтроллеры AVR в радиолюбительской практике». Как видно из названия, эта книга, в большей степени, посвящена практической стороне работы с микроконтроллерами. Подробно рассмотрен ставший классическим микроконтроллер ATiny2313, а также многие схемы для сборки.
  3. Хартов В.Я. «Микроконтроллеры AVR. Практикум для начинающих». Поможет разобраться в AVR studio 4, а также стартовом наборе STK Вы научитесь работать с последовательными и параллельными интерфейсами, такими как UART, I2C и SPI. Книга «Микроконтроллеры AVR. Практикум для начинающих» написана преподавателем МГТУ им. Н.Э.Баумана и используется там для изучения этой темы.

Изучение этого семейства микроконтроллеров помогло начать работать и разрабатывать проекты многим любителям электроники. Стоит начинать именно с популярного семейства, чтобы всегда иметь доступ к морю информации.

Среди радиолюбителей начального уровня есть только один конкурент AVR – PIC микроконтроллеры.

alex-day › Блог › Микроконроллеры: краткий обзор

Перый микроконтроллер появился на свет в 1976 году, через 5 лет после создания первого микропроцессора. Это была микросхема фирмы Intel, получившая имя 8048.
Помимо центрального процессора, на кристалле находились 1 КБайт памяти программ, 64 байта памяти данных, два восьмибитных таймера, генератор часов и 27 портов ввода/вывода.
Микроконтроллеры семейства 8048 использовались в игровых консольных приставках Magnavox Odyssey, в клавиатурах первых IBM PC и в ряде других устройств.
Существует также мнение, что первым микроконтроллером был 4-х pазpядный TMS1000 от Texas Instruments, котоpый содеpжал ОЗУ (32 байта), ПЗУ (1К), часы и поддеpжку ввода-вывода, что позволяло считать его именно первым микpоконтpоллеpом. Выпущенный в 1972 году, он имел новую по тем временам возможность — добавление новых инструкций.

Следующий микроконтроллер Intel 8051, выпущенный в 1980 году, стал поистине классическим образцом устройств данного класса. Этот 8-битный чип положил начало целому семейству микроконтроллеров, которые господствовали на рынке вплоть до недавнего времени.
Аналоги 8051 выпускали советские предприятия в Минске, Киеве, Воронеже, Новосибирске, на них выросло целое поколение отечественных разработчиков.
Большинство фирм производителей микроконтроллеров и сегодня выпускают устройства, основанные на этой архитектуре. Среди них Philips, Atmel, Dallas, OKI, Siemens — можно перечислить более полутора десятков имен. Но 51-е семейство постепенно сдает свои позиции более молодым и совершенным микроконтроллерам.

Motorola и Zilog

Другими яркими представителями восьмиразрядных микроконтроллеров явились изделия компаний Motorola (68HC05, 68HC08, 68HC11) и Zilog (Z8).
Motorola длительное время не предоставляла средств, позволяющих дешево и быстро начать работать с ее контроллерами, что явно не способствовало их популярности у некорпоративных разработчиков. Однако стоит заметить, что за рубежом микроконтроллеры от Motorola занимают лидирующее положение на рынке. В нашей стране их популярность не очень высока, возможно, еще в силу отсутствия достаточного количества доступных учебных материалов и средств разработки.
Микроконтроллеры фирмы Zilog, основанной бывшими сотрудниками Intel, еще недавно казавшиеся столь многообещающими, не выдержали гонки в стремительно развивающемся секторе рынка, и сегодня система команд Z8 выглядит достаточно устаревшей.

Первые значительные перемены произошли с появлением PIC-контроллеров фирмы Microchip. Эти чипы предлагались по рекордно низким ценам, что позволило им в короткий срок захватить значительную часть рынка микроконтроллеров. К тому же кристаллы от Microchip оказались не уступающими, а нередко и превосходящими микроконтроллеры х51 по производительности и не требовали дорогостоящего программатора.
Вместе с контроллерами появились дешевые комплекты PICSTART, содержащие все, что было нужно для того, чтобы, не имея ни средств, ни навыков работы с PIC-контроллерами, быстро создать и отладить на нем продукт.
Эти микроконтроллеры имели хорошие порты, но все остальное было сделано весьма неудобно. Архитектура оставляла желать лучшего, система команд была крайне ограничена. Тем не менее, PIC-контроллеры остаются популярными в тех случаях, когда требуется создать недорогую систему, не предъявляющую высоких требований по ее управлению.
Обзор различных семейств микроконтроллеров PIC можно посмотреть здесь — ru.wikipedia.org/wiki/PIC

На волне успеха PIC-контроллеров появились очень похожие на них изделия фирмы Scinex. Они обладали уже 52-мя командами против PIC-овских 33-х. Были добавлены хорошие инструкции для работы с памятью, улучшена архитектура, каждая команда выполнялась за один такт, что при прочих равных условиях было вчетверо быстрее, чем у Microchip, и к тому же их тактовая частота достигала 100 МГц.
Столь высокая скорость контроллера позволяет его создателям отказаться от различной периферии — таймеров, счетчиков, регистров сдвига в приемопередатчиках, — все это рекомендуется реализовывать чисто программными средствами, благо быстродействия для этого хватает: внутри — лишь сверхбыстрое ядро, память да порты ввода/вывода.
В радиолюбительской практике распространения данные МК не получили.

Настоящая революция в мире микроконтроллеров произошла в 1996 году, когда корпорация Atmel представила свое семейство чипов на новом прогрессивном ядре AVR. Более продуманная архитектура AVR, быстродействие, превосходящее контроллеры Microchip, привлекательная ценовая политика способствовали оттоку симпатий многих разработчиков от недавних претендентов на звание контроллера номер 1.

Микроконтроллеры AVR имеют более развитую систему команд, насчитывающую до 133 инструкций, производительность, приближающуюся к 1 MIPS/МГц, Flash ПЗУ программ с возможностью внутрисхемного перепрограммирования. Многие чипы имеют функцию самопрограммирования. AVR-архитектура оптимизирована под язык высокого уровня Си. Кроме того, все кристаллы семейства совместимы “снизу вверх”.

Огромную роль сыграла доступность программного обеспечения и средств поддержки разработки. У Atmel много бесплатно распространяемых программных продуктов. Хорошо известно, что развитые средства поддержки разработок при освоении и знакомстве с любым микроконтроллерным семейством играют не менее значимую роль, чем сами кристаллы. Фирма Atmel уделяет этому вопросу большое внимание. Чрезвычайно удачная и совершенно бесплатная среда разработки AVR Studio, работающая под Windows.
Ведущие сторонние производители выпускают полный спектр компиляторов, программаторов, ассемблеров, отладчиков, разъемов и адаптеров.

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

• tinyAVR (ATtinyxxx):
Флеш-память до 16 Кб; SRAM до 512 б; EEPROM до 512 б;
Число линий ввода-вывода 4-18 (общее количество выводов 6-32);
Ограниченный набор периферийных устройств.

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

• XMEGA AVR (ATxmegaxxx):
Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб;
Четырёхканальный DMA-контроллер;
Инновационная система обработки событий.

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

Появились сравнительно недавно – в 2008 году и сразу пробились в тройку лидеров. Основными преимуществами является единообразие, позволяющее «перетянуть» без особых усилий проект с STM8 на STM32 в отличии от, например, AVR имеющих 3 семейства.
Также, что отличает архитектуру STM, так это наличие единого адресного пространства для кода и данных. Внутри себя процессор имеет Гарвардскую архитектуру, но с точки зрения программиста он фон-Неймановский. Это существенно облегчает использование языка C по сравнению с Atmel и 8051.
Периферия STM несколько отличается от Атмеловской. Прежде всего, не все ноги контроллера равны. Некоторые имеют допустимый ток 20 мА (high sink), некоторые нет. Один из выводов заявлен как управляющий пищалкой (BEEP). Альтернативные функции выводов переключаются специальной битовой картой, а не как у Atmel — каждый по своему. Битов конфигурирования порта на 1 больше, чем у Atmel. В результате каждый вывод может иметь следующие состояния:
• Плавающий вход
• Вход, подтянутый к + питания
• Выход с открытым коллектором
• Обычный выход
• Выход с пониженной скоростью
Из полезностей можно отметить Auto-wakeup. Это по сути аналог комбинации из пустого обработчика прерывания и команды sleep. Позволяет усыпить процессор на заданное время. Остальные интерфейсы довольно стандартны, разве что USART несколько более развесистый, чем у AVR или 8051. Кроме того, в отличии от PIC и AVR микроконтроллеры SRM имеют “на борту” ЦАП и контроллер CAN.

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Микроконтроллеры 8051, PIC, AVR и ARM: отличия и особенности

Различие между микроконтроллерами AVR, ARM, 8051 и PIC

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

Но на рынке сегодня представлено большое количество микроконтроллеров. Что они из себя представляют? И в чем их отличие друг от друга? В этой статье мы рассмотрим разницу между основными семействами микроконтроллеров: AVR, ARM, 8051 и PIC.

Микроконтроллеры 8051

Микроконтроллер 8051 – это 8-битное семейство микроконтроллеров, разработанное Intel в 1981 году. Это одно из популярных семейств микроконтроллеров, которые используются во всем мире. Кроме того, этот микроконтроллер изначально назывался «системой на кристалле», поскольку он имеет 128 байт оперативной памяти, 4 Кбайт ПЗУ, 2 таймера, 1 последовательный порт и 4 порта на одном кристалле. Процессор может обрабатывать до 8 бит данных одновременно. Если данные больше 8 бит, то они должны быть разбиты на части, чтобы процессор мог легко их обрабатывать. Большинство микроконтроллеров серии 8051 различных производителей содержат 4 Кбайт ПЗУ, хотя объем ПЗУ может быть расширен до 64 Кбайт.

Микроконтроллеры 8051 используются в огромном количестве устройств, главным образом потому, что их легко интегрироватьв проект. Ниже перечислены основные направления их применения.

Во первых, это контроль электроэнергии: эффективные системы измерения облегчают контроль использования энергии в домах и производственных помещениях. Эти измерительные системы оптимальны для возможности интеграции микроконтроллеров.

Сенсорные экраны. Большое количество поставщиков микроконтроллеров включает сенсорные функции в свои устройства. Примерами сенсорных экранов на микроконтроллерах являются портативная электроника, такая как сотовые телефоны, медиаплееры и игровые устройства.

Автомобили: микроконтроллеры 8051 находят широкое применение в автомобильных решениях. Они широко используются в гибридных транспортных средствах для обработки данных с двигателей и управления ими. Кроме того, такие функции, как круиз-контроль и анти-тормозная система, более эффективны с использованием микроконтроллеров.

Медицинские устройства: переносные медицинские устройства, такие как измерители артериального давления и мониторы глюкозы, используют микроконтроллеры для отображения данных, что обеспечивает более высокую надежность при предоставлении медицинских результатов.

Микроконтроллеры PIC

Контроллер периферийного интерфейса (PIC) – это серия микроконтроллеров, разработанная компанией Microchip. Микроконтроллер PIC быстрее и проще реализует программы, если сравнивать с другими микроконтроллерами, такими как 8051. Простота программирования и простота взаимодействия с другими периферийными устройствами делает PIC более успешным микроконтроллером.

PIC – это микроконтроллер, который также состоит из центрального процессора, ОЗУ, ПЗУ, таймеров, счетчиков, АЦП (аналого-цифровых преобразователей), ЦАП (цифроаналоговых преобразователей). Микроконтроллер PIC также поддерживает протоколы, такие как CAN, SPI, UART для взаимодействия с дополнительными периферийными устройствами. PIC в основном использует модифицированную гарвардскую архитектуру, а также поддерживает RISC (сокращенный набор команд). Благодаря этому PIC быстрее, чем контроллеры на основе ядра 8051, которые основаны на фон-неймановской архитектуре.

Микроконтроллеры AVR

Первые микроконтроллеры AVR были разработаны в 1996 году компанией Atmel (теперь часть Microchip). Проект AVR был разработан Альф-Эгилем Богеном и Вегаром Волланом, поэтому AVR аббревиатура получила две первые буквы от имен разработчиков: Alf-Egil Bogen Vegard Wollan RISC, после эта аббревиатура стала расшифровываться более официально как Advanced Virtual RISC. AT90S8515 был первым микроконтроллером в линейке AVR, хотя первым микроконтроллером, который попал на коммерческий рынок, был AT90S1200 (в 1997 году).

Микроконтроллеры AVR доступны в трех основных подсемействах:

TinyAVR: меньше памяти, небольшой размер, подходит только для более простых приложений.

MegaAVR: это популярные микроконтроллеры, в основном имеющие относительно большое количество памяти (до 256 КБ), большее количество встроенных периферийных устройств и подходят для довольно сложных приложений.

XmegaAVR: используются в коммерческих приложениях для решения сложных задач, которым требуется большая память программ и высокая скорость.

Микроконтроллеры ARM

Микроконтроллеры с ядром ARM также являются одним из семейств процессоров на базе архитектуры RISC, разработанным компанией Advanced RISC Machines (ARM).

Микроконтроллеры ARM основаны на 32-битных и 64-битных многоядерных процессорах RISC. Процессоры RISC предназначены для выполнения меньшего количества инструкций, чтобы они могли работать с большей скоростью, выполняя дополнительные миллионы инструкций в секунду (MIPS). Устраняя ненужные инструкции и оптимизируя обработку информации, RISC-процессоры обеспечивают большую производительность по сравнению с большинством рассмотренных выше микроконтроллеров.

Процессоры ARM широко используются в потребительских электронных устройствах, таких как смартфоны, планшеты, мультимедийные проигрыватели и другие мобильные устройства. Из-за сокращенного набора команд им требуется меньше транзисторов, что позволяет уменьшить размер матрицы интегральной схемы. Процессоры ARM с меньшими размерами уменьшают сложность проектирования и сокращают энергопотребление, что делает их пригодными для более миниатюрных устройств.

Источники:

http://arduinoplus.ru/avr/

http://www.drive2.ru/b/2520018/

http://digitrode.ru/computing-devices/mcu_cpu/1253-mikrokontrollery-8051-pic-avr-i-arm-otlichiya-i-osobennosti.html

http://lesson.iarduino.ru/page/bluetooth-modul-hc-06-podklyuchenie-k-arduino-upravlenie-ustroystvami-s-telefona

Ссылка на основную публикацию