Что такое avr микроконтроллер: Что такое AVR микроконтроллер?

Содержание

Что такое AVR микроконтроллер?

AVR микроконтроллеры – это тип устройств, разработанный компанией Atmel, которые имеют определенное преимущество перед обычными микросхемами, но, сначала, давайте разберемся, что такое микроконтроллер?

Самый простой способ понять это – сравнить микроконтроллер с вашим компьютером, в котором установлена материнская плата. На этой плате стоит микропроцессор (на чипе Intel или AMD), который обеспечивает устройство вычислений, память RAM и EEPROM, и интерфейсы остальных систем, например, серийные порты (в настоящее время в основном USB), жесткие диски и графические интерфейсы. В микроконтроллере все эти возможности встроены в один чип, а это значит, что отсутствует потребность в материнской плате и многих других компонентах, например, светодиод может быть подключен напрямую к AVR. В микропроцессорах нет такой возможности!

AVR микроконтроллеры выпускаются в нескольких корпусах, некоторые предназначены для монтажа в отверстия, некоторые для поверхностного. AVR бывают 8-ми и 100-пиновыми, хотя все, что выше 64-х пинов только для монтажа в отверстия. Большинство людей начинают с DIL (Сдвоенный в линию) 28—х пинового чипа, например, ATmega328 или 40-ка пинового ATmega16 или ATmega32.

Компьютерные микропроцессоры бывают минимум 32-х битными, а теперь чаще 64-х битные. Это означает, что они могут обрабатывать данные 32-х битными или 64-х битными блоками, если они подключены к шине. AVR гораздо проще и работает с 8-ми битными блоками, пропускная ширина потока 8 бит, хотя сейчас стали появляться AVR32 с 32-х битной шиной.

На компьютере установлена операционная система (Windows или Linux), и именно в ней запускаются программы, такие, как Word, InternetExplorer или Chrome. На 8-ми битном микроконтроллере, например, на таком, как AVR обычно нет установленной операционной системы, хотя, при необходимости, она может быть установлена. Вместо этого реализована возможность запуска одной программы.

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

Так что же это за программа? Она состоит из серии инструкций, очень простых, и направленных на обработку данных. В большинстве приложений, которые вы будете использовать с AVR, например, в контроллере промышленного оборудования, необходимо, чтобы считывалась информация со входов, проводилась проверка состояния и, соответственно, происходило переключение на выходы. Иногда вам нужно менять данные, управлять ими, или передавать их на другое устройство, например, на ЖК дисплей или на серийный порт. Чтобы выполнять эти простые задачи, используется серия простых бинарных инструкций, каждая из которых соответствует команде на ассемблере, понятной пользователю. Самый простой способ написать программу для AVR – использовать ассемблер (хотя, если хотите оставаться педантичным, можете записывать двоичные числа).

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

Чтобы этого избежать, для написания программ для AVR были использованы языки программирования более высокого уровня, основным считается Cи, а также, можно использовать Basic и Java. Высокий уровень означает, что каждая строка Cи (или Basic, или Java) кода может переводиться в множество строк ассемблера. Компилятор также разбирается со структурой программы и управлением памятью, так что все становится гораздо проще. Наиболее часто используемые процессы, например, задержки или вычисления, могут храниться в библиотеках, и доступ к ним очень простой.

Мне кажется, что написание программ на Си для AVR сравнимо с управлением автомобилем. Да, вы очень легко можете это делать, но, если что-то идет не так, то вы понятия не имеете, как быть, и как справиться со сложной ситуацией, например, со скользкой дорогой. Написание простейших программ на ассемблере дает вам понять, что происходит «под капотом», как это работает, и что с этим можно сделать. Потом вы переходите на Си, но, к этому моменту, вы уже знаете, как функционирует AVR, и знаете его ограничения.

Также, как у вашей программы есть в памяти код, также у AVR есть вторая память, которая называется EEPROM, где вы можете хранить данные, например, серийные номера, данные калибровок и другую, необходимую под рукой, информацию. Доступ туда осуществляется по инструкциям в вашей программе.

У AVR также есть I/O, которое используется, чтобы контролировать аппаратные средства микроконтроллера. К аппаратным средствам относятся порты, АЦП (ADC), коммуникационные интерфейсы, например, I2C (2—х проводной интерфейс), SPI и UART (серийный порт), таймеры и система watchdog, которая восстанавливает систему после сбоя. Все эти периферийные устройства контролируется из-под программы, используя специальные инструкции. Большая часть кода программирования AVR посвящена тому, как устанавливать и контролировать эти аппаратные интерфейсы.

 


Примеры работ
Услуги
Контакты

Время выполнения запроса: 0,00430202484131 секунд.

Всё о микроконтроллерах AVR

Микроконтроллер — микросхема, предназначенная для управления электронными устройствами.

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

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

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

  1. AVR 8-bit.
  2. AVR 32-bit.
  3. AVR xMega

Самым популярным уже более десятка лет является именно 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, Ch440, PL2303 и CP2102.

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

  • ATmega8U2;
  • ATmega16U2;
  • ATmega32U2.

Одно лишь «но» – в память микроконтроллера предварительно нужно загрузить 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

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

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

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

  • Ардуино может программироваться стандартным языком – «C AVR»;
  • своим собственным – wiring;
  • стандартная среда для разработки – Arduino IDE;
  • для соединения с компьютером достаточно лишь подключить USB шнур к гнезду micro-USB на плате ардуино нано, установить драйвера (скорее всего это произойдет автоматически, кроме случаев, когда преобразователь на Ch440, у меня на Win 8.1 драйвера не стали, пришлось скачивать, но это не заняло много времени.) после чего можно заливать ваши «скетчи»;
  • «Скетчи» – это название программ для ардуино.

Выводы

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

Ранее ЭлектроВести писали, что в аэропорту «Борисполь» запустили первое электрозарядное устройство на два паркоместа. Об этом сообщил на своей странице в Facebook заместитель гендиректора аэропорта Георгий Зубко.

По материалам: electrik.info.

Что такое микроконтроллер, семейства и корпуса AVR микроконтроллеров

Попробуем разобраться что же представляет из себя AVR микроконтроллер, что это такое и из чего состоит. Узнаем какие есть семейства микроконтроллеров от фирмы ATMEL и в каких корпусах выпускаются микро-чипы от данного производителя. Сделаем выбор корпуса микросхемы, наиболее пригодного для знакомства с AVR микроконтроллерами.

Содержание:

  1. Контроллеры и микроконтроллеры
  2. Что такое AVR микроконтроллер
  3. Корпуса для AVR микросхем
  4. Заключение

Контроллеры и микроконтроллеры

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

Чем отличается микроконтроллер от контроллера? — под контроллером подразумевается определенная схема или плата с различными компонентами для контроля и выполнения поставленных задач, а микроконтроллер — это схема универсального контроллера, которая размещена на маленьком кристаллике микросхемы и которая способна работать по четко заданной программе.

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

Что такое AVR микроконтроллер

AVR микроконтроллеры, производимые фирмой ATMEL — это семейство 8-битных и более новых 32-битных микроконтроллеров с архитектурой RISC, которые совмещают в себе вычислительное ядро, Flash-память и разнообразную периферию (аналоговые и цифровые входы и выходы, интерфейсы и т.п.) на одном кристале. Это маленькие и очень универсальные по функционалу микросхемки, которые могут выполнять контроль и управлять различными устройствами, взаимодействовать между собою потребляя при этом очень мало энергии.

Данное RISC-ядро было разработано двумя студентами из города Тронхейма (третий по населению город Норвегии, расположен в устье реки Нидельвы) — Альф Боген (Alf-Egil Bogen) и Вегард Воллен (Vegard Wollen). В 1995м году данные персоны сделали предложение корпорации ATMEL на выпуск новых 8-битных микроконтроллеров, с тех пор AVR микроконтроллеры заполучили большую популярность и широкое применение.

Что обозначает аббревиатура AVR? — здесь наиболее вероятны два варианта:

  1. Advanced Virtual RISC;
  2. Alf Egil Bogen Vegard Wollan RISC, в честь создателей — Альфа и Вегарда .

Весь класс микроконтроллеров поделен на семейства:

  • tinyAVR (например:ATtiny13, ATtiny88б ATtiny167) — начальный класс, миниатюрные чипы, мало памяти и портов, базовая периферия;
  • megaAVR (например: ATmega8, ATmega48, ATmega2561) — средний класс, больше памяти и портов, более разнообразная периферия;
  • XMEGA AVR (например: ATxmega256A3U, ATxmega256A3B) — старший класс, много ресурсов, хорошая производительность, поддержка USB, улучшенная безопасность;
  • 32-bit AVR UC3 (например: AT32UC3L016, ATUC256L4U) — новые высокопроизводительные 32-битные микроконтроллеры поддерживающие много технологий и интерфейсов среди которых USB, Ethernet MAC, SDRAM, NAND Flash и другие.

Микроконтроллеры AVR имеют обширную систему команд, которая насчитывает от 90 до 133 команд в зависимости от модели микроконтроллера. Для сравнения: PIC-микроконтроллеры содержат от 35 до 83 команд, в зависимости от семейства.

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

Корпуса для AVR микросхем

Микроконтроллеры AVR выпускаются в корпусах DIP, SOIC, TQFP, PLCC, MLF, CBGA и других. Примеры некоторых корпусов приведены на рисунке ниже.

Рис. 1. Корпуса микросхем для микроконтроллеров AVR — DIP, SOIC, TQFP, PLCC.

Как видим, корпуса для AVR микроконтроллеров есть на любой вкус и потребности. Можно выбрать недорогой чип в корпусе DIP8 и смастерить миниатюрную игрушку или же какое-то простое устройство, а можно купить более функциональный и дорогой микроконтроллер в корпусе TQFP64 и подключить к нему разнообразные датчики, индикаторы и исполнительные устройства для выполнения более серьезных задач.

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

 

Рис. 2. AVR микроконтроллеры ATmega8 и ATtiny13 в корпусе DIP на макетной панели (Breadboard).

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

Заключение

В следующей статье рассмотрим варианты применения AVR микроконтроллеров, где они уже используются и для чего. Постараюсь дать ответ на вопрос «зачем мне изучать программирование AVR микроконтроллеров?».

Начало цикла статей: Программирование AVR микроконтроллеров в Linux на языках Asembler и C.

AVR микроконтроллер и его применение в компьютере

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

Содержание статьи

Что такое микроконтроллер

Прежде всего, разберемся с самим понятием  «микроконтроллер». Микроконтроллер можно определить как миниатюрный компьютер на базе одного-единственного чипа,  включающий, помимо процессора ряд вспомогательных элементов, таких, как ОЗУ, ППЗУ, таймер, и.т.д. Микроконтроллер предназначен для выполнения каких-либо заранее определенных заданий.

Проще всего сравнить микроконтроллер с персональным компьютером. Как и ПК, микроконтроллер имеет процессор, оперативную и постоянную память. Однако, в отличие от ПК, все эти элементы расположены на одном-единственном чипе.

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

Существует несколько популярных семейств микроконтроллеров, которые используются для различных целей. Наиболее распространенными из них являются  семейства микроконтроллеров 8051, PIC и AVR. И о последнем семействе мы и собираемся вам рассказать подробнее.

История семейства

Семейство микроконтроллеров AVR было создано в 1996 г. корпорацией Atmel, а разработчиками архитектуры микроконтроллеров являются Alf-Egil Bogen и Vegard Wollan. Отсюда и происходит название семейства – от первых букв имен разработчиков – A и V, и первой буквы аббревиатуры RISC – типа архитектуры, на которой базируется архитектура микроконтроллера. Также эту аббревиатуру часто расшифровывают как Advanced Virtual RISC (модернизированный эффективный RISC).

Первым микроконтроллером в серии был AT90S8515, однако первым микроконтроллером, выпущенным на рынок, стал AT90S1200. Это случилось в 1997 г.

На сегодняшний день доступны 3 линейки микроконтроллеров:

  • TinyAVR – небольшой объем памяти, небольшие размеры, подходит для самых простых задач.

Внешний вид микроконтроллера TinyAVR

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

Внешний вид микроконтроллера MegaAVR

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

Пример микроконтроллера XmegaAVR

Сравнительные характеристики различных линеек:

Название серии Число контактов Объем флэш-памяти Особенность
TinyAVR 6-32 0,5 – 8 КБ Небольшой размер
MegaAVR 28-100 4-256 КБ Периферийные устройства
XmegaAVR 44-100 16-384 КБ Система прерываний, поддержка DMA

Особенности семейства

Прежде всего, микроконтроллеры этой серии являются быстрыми. Большинство инструкций процессор микроконтроллера выполняет за один цикл. Микроконтроллеры AVR примерно в 4 раза быстрее, чем PIC. Кроме того, они потребляют немного энергии и могут работать в 4 режимах экономии энергии.

Большинство контроллеров AVR являются 8-разрядными, хотя сейчас существует и 32-разрядная разновидность  контроллеров AVR32. Кроме того, как уже упоминалось выше, AVR принадлежат к типу RISC-микроконтроллеров. Архитектура RISC (Complex Instruction Set Computers) означает, что набор инструкций, которые может выполнять процессор устройства, является ограниченным, но, в то же время, подобная архитектура дает преимущество в скорости.  Противоположностью архитектуры RISC является архитектура CISC (Complex Instruction Set Computers).

32-разрядная разновидность контроллеров AVR32

8-битность контроллера означает, что он способен передавать и принимать 8-битные данные. Доступные регистры ввода/вывода также являются 8-битными.

Архитектура контроллера основана на регистрах. Это означает, что для хранения исходных данных операции и ее результата в контроллере используются регистры.

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

Архитектура контроллера

Всего  контроллер AVR имеет 32 8-битных регистра общего назначения.  В течение цикла процессор берет данные из двух регистров и помещает их в арифметико-логическое устройство (АЛУ), которое производит операцию над данными и помещает их в произвольный регистр. АЛУ может выполнять как арифметические, так и логические действия над операндами. Также АЛУ может выполнять и действия с одним операндом (регистром). При этом контроллер не имеет регистра-аккумулятора, в отличие от контроллеров семейства 8051 – для операций могут использоваться любые регистры, и результат операции также может быть помещен в любой регистр.

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

Котроллер способен выполнять одну инструкцию за цикл. Отсюда следует, что если тактовая частота контроллера составляет 1 МГц, то его производительность составит 1 млн. оп./c. Чем выше тактовая частота контроллера, тем выше будет его скорость. Однако при выборе тактовой частоты контроллера следует соблюдать разумный компромисс между его скоростью и энергопотреблением.

Помимо флэш-памяти и процессора контроллер имеет такие устройства, как порты ввода-вывода, аналого-цифровой преобразователь, таймеры, коммуникационные интерфейсы – I2C, SPI и последовательный порт UART. Все эти устройства могут контролироваться программно.

Типовая архитектура микроконтроллеров AVR

Программы для микроконтроллера

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

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

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

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

Заключение

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

Порекомендуйте Друзьям статью:

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

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

AVR проекты

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

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

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

Интересно. Для прошивки нужен программатор, один из самых распространённых – это AVRISP MKII, который вы легко можете сделать из своей Arduino.

Популярность семейства АВР поддерживается на высоком уровне уже много лет, в последние 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 и Ch440, а его схема представлена ниже.

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

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

  • ATmega8U2;
  • ATmega16U2;
  • ATmega32U2.

Такое решение нашло применение для реализации связи компьютера и 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 микроконтроллеры.

Новые микроконтроллеры AVR от Microchip – преемники Mega

29 декабря 2020

Александр Белов (КОМПЭЛ)

В начале года Microchip анонсировал выход новой линейки 8-битных микроконтроллеров AVR, которая придет на смену контроллерам высокой и средний производительности ATmega. На данный момент в линейку входят серии AVR-DA, AVR-DB и AVR-DD. В статье разобраны отличия новой линейки от ее предшественницы, рассмотрены характеристики новых серий и проведено их сравнение между собой.

Семейство 8-битных микроконтроллеров AVR было создано компанией Atmel в 1996 году. Данные МК имеют гарвардскую архитектуру, то есть исполняемый код и данные находятся в разных адресных пространствах, и систему команд, близкую к идеологии RISC.

В 2016 году компания Microchip – американский производитель электроники, — приобрела компанию Atmel и пополнила свое портфолио 8-битных микроконтроллеров, представленное устройствами с ядром PIC, микроконтроллерами с архитектурой AVR.

Исторически микроконтроллеры с архитектурой AVR делились на три линейки:

ATtiny – это контроллеры начального уровня с небольшим объемом памяти программ – до 32 кбайт в компактных корпусах (до 32-х выводов).

ATmega – контроллеры средней и высокой производительности с объем памяти до 256 кбайт в корпусах до 100 выводов. Последним пополнением этой линейки стала серия ATmega-0 (ее флагман – ATmega4809), выпущенная в 2018 году. Обновление линейки не планируется, дальнейшим развитием линейки ATmega стала новая линейка AVR, с одноименной архитектурой.

ATxmega – устройства с максимальной производительность, до 384 кбайт памяти программ. Последней выпущенной серией стала E5, увидевшая свет в 2013 году. Развитие этой линейки остановлено, поскольку нишу производительных контроллеров заняли 32-битные микроконтроллеры на базе ядер группы ARM Cortex-M.

В начале 2020 года Microchip анонсировал три серии микроконтроллеров, принадлежащих к новой линейке AVR:

Вместе с названием линейки изменилось и обозначение устройств. Маркировка теперь имеет вид «AVRXXYYZZ», где:

  • XX – объем памяти в килобайтах;
  • YY – семейство;
  • ZZ – количество выводов корпуса.

Серия AVR-DA

Серия AVR-DA состоит из 11 устройств с вариантами выбора объема памяти от 32 до 128 кбайт в корпусах 28…64 вывода. Эта серия была выпущена первой, все ее представители уже доступны для заказа. В таблице 1 указан состав серии и параметры микроконтроллеров.

Таблица 1. Состав и характеристики серии AVR-DA

Наименование Частота ядра, МГц Flash, кбайт SRAM, кбайт EEPROM, байт Вы-
воды
12 бит АЦП 10 бит ЦАП Компара-
торы
PTC ZCD USART/SPI/I2C Таймеры  Корпуса
AVR128DA28 24 128 16 512 28 1 1 3 1 1 3/2/1 5 SPDIP, SOIC, SSOP
AVR128DA32 24 128 16 512 32 1 1 3 1 1 3/2/2 5 TQFP, VQFN
AVR128DA48 24 128 16 512 48 1 1 3 1 2 5/2/2 7 TQFP, VQFN
AVR128DA64 24 128 16 512 64 1 1 3 1 3 6/2/2 8 TQFP, VQFN
AVR64DA28 24 64 8 512 28 1 1 3 1 1 3/2/1 5 SPDIP, SOIC, SSOP
AVR64DA32 24 64 8 512 32 1 1 3 1 1 3/2/2 5 TQFP, VQFN
AVR64DA48 24 64 8 512 48 1 1 3 1 2 5/2/2 7 TQFP, VQFN
AVR64DA64 24 64 8 512 64 1 1 3 1 3 6/2/2 8 TQFP, VQFN
AVR32DA28 24 32 4 512 28 1 1 3 1 1 3/2/1 5 SPDIP, SOIC, SSOP
AVR32DA32 24 32 4 512 32 1 1 3 1 1 3/2/2 5 TQFP, VQFN
AVR32DA48 24 32 512 4 48 1 1 3 1 2 5/2/2 6 TQFP, VQFN

Изменения коснулись ядра и его системы питания: ядро может функционировать на увеличенной максимальной частоте 24 МГц во всем диапазоне питающего напряжения 1,8…5,5 В.

Впервые в устройствах AVR появился модуль Zero Cross Detector – детектор пересечения переменным током нулевого уровня. Раньше это была периферия, свойственная только PIC-контроллерам.

АЦП было обновлено: новая версия обеспечивает оцифровку аналогового напряжения с частотой до 130 Гц и разрешением 12-бит с возможностью включения дифференциального режима работы. Аккумулятор был увеличен до 128 семплов. Как и в предыдущей версии, поддерживаются следующие режимы работы:

  • единичное преобразование;
  • режим непрерывного преобразования;
  • режим накопления;
  • режим сравнения с порогом;
  • режим запуска по событию;
  • режим измерения температуры (от встроенного датчика температуры).

В устройствах новой линейки появился модуль ЦАП. Напомним, что контроллеры Mega такового не имели. Преобразователь работает на скорости 140 ksps и имеет разрешение 10 бит.

По сравнению с линейкой ATmega, было увеличено количество следующих модулей периферии:

  • количество модулей USART увеличено до шести;
  • количество аналоговых компараторов увеличено до трех.

Обратим внимание на наличие специфической периферии – Peripheral Touch Controller, сенсорного контроллера, позволяющего реализовать емкостные сенсорные элементы управления – кнопки, слайдеры, спиннеры и 2D-поверхности. Благодаря библиотеке QTouch Library настройка этого модуля сводится к нескольким кликам мыши.

Структурная схема устройств серии AVR-DA изображена на рисунке 1.

Рис. 1. Блок-схема устройств семейства AVR-DA

Для оценки возможностей новой серии и быстрого прототипирования устройств на ее базе компания Microchip выпустила отладочную плату AVR128DA48 Curiosity Nano Evaluation kit, которая изображена на рисунке 2.

Линейка отладочных плат Curiosity Nano – это самые простые отладочные платы производства Microchip. Платы линейки Curiosity Nano содержат стандартный набор компонентов:

  • одну пользовательскую кнопку;
  • один пользовательский светодиод;
  • встроенный программатор/дебаггер с USB-портом.

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

Рис. 2. Отладочная плата AVR128DA48 Curiosity Nano Evaluation kit

Платы Curiosity Nano могут подключаться в качестве процессорного модуля в базовую плату Curiosity Nano Base, которая содержит три порта расширения microBUS, используемые для подключения модулей расширения Click Boards производства MikroElektronika, и один порт расширения Xplained Pro для подключения одноименных модулей расширения Microchip. Базовая плата изображена на рисунке 3.

Рис. 3. Плата Curiosity Nano Base

Серия AVR-DB

Серия AVR-DB состоит из 11 устройств с объемом памяти 32…128 кбайт в корпусах, имеющих 28…64 вывода. На момент написания статьи эта серия выпущена частично. Для заказа доступны устройства с 128 кбайт Flash-памяти. Состав серии и основные характеристики указаны в таблице 2.

Таблица 2. Состав и характеристики серии AVR-DB

Наименование Частота ядра, МГц Flash, кбайт SRAM, кбайт EEPROM, байт Вы-
воды
12 бит АЦП 10 бит ЦАП Компа-раторы Опер. усил-ли Вы-
воды MVIO
ZCD USART/SPI/I2C Таймеры Корпуса
AVR128DB28 24 128 16 512 28 1 1 3 2 8 1 3/2/1 5 SPDIP, SOIC, SSOP
AVR128DB32 24 128 16 512 32 1 1 3 2 8 1 3/2/2 5 TQFP, VQFN
AVR128DB48 24 128 16 512 48 1 1 3 3 8 2 5/2/2 7 TQFP, VQFN
AVR128DB64 24 128 16 512 64 1 1 3 3 8 3 6/2/2 8 TQFP, VQFN
AVR64DB28 24 64 8 512 28 1 1 3 2 8 1 3/2/1 5 SPDIP, SOIC, SSOP
AVR64DB32 24 64 8 512 32 1 1 3 2 8 1 3/2/2 5 TQFP, VQFN
AVR64DB48 24 64 8 512 48 1 1 3 3 8 2 5/2/2 7 TQFP, VQFN
AVR64DB64 24 64 8 512 64 1 1 3 3 8 3 6/2/2 8 TQFP, VQFN
AVR32DB28 24 32 4 512 28 1 1 3 2 8 1 3/2/1 5 SPDIP, SOIC, SSOP
AVR32DB32 24 32 4 512 32 1 1 3 2 8 1 3/2/2 5 TQFP, VQFN
AVR32DB48 24 32 4 512 48 1 (18) 1 (1) 3 3 8 2 5/2/2 5 TQFP, VQFN

Серия DB очень похожа на уже рассмотренную серию: те же объемы памяти и корпуса, частота ядра и напряжение питания, схожий набор периферии. Однако есть и различия.

В наборе периферии произошла замена – Peripheral Touch Controller серии DA заменили на операционные усилители. Каждый операционный усилитель имеет в петле обратной связи резистивный делитель с настраиваемым соотношением сопротивлений, позволяющий настроить коэффициент усиления без использования внешних элементов. Для повышения коэффициента усиления операционные усилители могут соединяться каскадом.

Следующее отличие от серии DA – поддержка инновационной технологии MVIO, суть которой заключается в том, что Port C получил независимое питание VDDIO2, что позволяет последовательным интерфейсам, выведенным на этот порт, коммуницировать со внешними устройствами, запитанными от напряжения, отличного от питания микроконтроллера. Структурная схема питания изображена на рисунке 4.

Рис. 4. Домены питания в AVR-DB

Модификации подвергся Clock Controller, поддерживающий не только внешний часовой кварц, но и высокочастотные кварцевые резонаторы с частотой до 32 МГц. Обобщенная структурная схема контроллера тактовой частоты изображена на рисунке 5.

Рис. 5. Блок-схема генератора частоты

Для серии ABR-DB доступна отладочная плата AVR128DB48 Curiosity Nano Evaluation kit. На плату добавили кварц 16 МГц и нераспаянный разъем для подключения отдельного питания для Port C. Общий вид платы изображен на рисунке 6.

Рис. 6. Отладочная плата AVR128DB48 Curiosity Nano Evaluation kit

Серия AVR-DD

Данная серия включает в себя 12 устройств с объемами памяти 16…64 кбайт в корпусах с 14….32 выводами. Выпуск серии запланирован на второй квартал 2021 года. Характеристики устройств, входящих в серию, указаны в таблице 3.

Таблица 3. Состав и характеристики серии AVR-DD

Наименование Частота ядра, МГц Flash, кбайт SRAM, кбайт EEPROM, байт Вы-
воды
12 бит АЦП 10 бит ЦАП Компара-
торы
Выводы MVIO ZCD USART/SPI/I2C Таймеры  Корпуса
AVR64DD14 24 64 8 256 14 1 1 1 8 1 2/1/1 4 SOIC
AVR64DD20 24 64 8 256 20 1 1 1 8 1 2/1/1 4 SOIC, VQFN
AVR64DD28 24 64 8 256 28 1 1 1 8 1 2/1/1 5 SPDIP, SOIC, SSOP
AVR64DD32 24 64 8 256 32 1 1 1 8 1 2/1/1 5 TQFP, VQFN
AVR32DD14 24 32 4 256 14 1 1 1 8 1 2/1/1 4 SOIC
AVR32DD20 24 32 4 256 20 1 1 1 8 1 2/1/1 4 SOIC, VQFN
AVR32DD28 24 32 4 256 28 1 1 1 8 1 2/1/1 5 SPDIP, SOIC, SSOP
AVR32DD32 24 32 4 256 32 1 1 1 8 1 2/1/1 5 TQFP, VQFN
AVR16DD14 24 16 2 256 14 1 1 1 8 1 2/1/1 4 SOIC
AVR16DD20 24 16 2 256 20 1 1 1 8 1 2/1/1 4 SOIC, VQFN
AVR16DD28 24 16 2 256 28 1 1 1 8 1 2/1/1 5 SPDIP, SOIC, SSOP
AVR16DD32 24 16 2 256 32 1 1 1 8 1 2/1/1 5 TQFP, VQFN

Серия AVR-DD занимает нишу более компактных устройств с уменьшенным объемом памяти. В ней набор периферии больше не содержит таких специфических модулей, как Peripheral Touch Controller или операционные усилители. В остальном качественный состав периферии не изменился, но количество модулей было уменьшено:

  • один модуль Zero Cross Detector;
  • один компаратор;
  • шесть каналов системы событий;
  • два модуля USART, один SPI и один I2C.

Серию DD c серией DB объединяет поддержка технологии MVIO на Port C и поддержка внешнего кварца высокой частоты.

Сравнение серий DA, DB и DD

Рассмотренные серии поддерживают максимальную частоту ядра 24 МГц во всем диапазоне питающего напряжения 1,8…5,5 В. Таблица 4 позволяет наглядно сравнить характеристики рассмотренных серий.

Таблица 4. Сравнение серий DA, DB и DD

Наименование AVR-DA AVR-DB AVR-DD
Максимальная частота ядра, МГц 24 24 24
Flash-память, кбайт 32… 128 32… 128 16…64
Память SRAM, кбайт 4…16 4…16 2…8
Память EEPROM, байт 512 512 256
Выводы 28…64 28…64 14…32
Выводы I/O 22…54 22…54 11…27
12 бит АЦП (каналы) 1 (10…22) 1 (9…22) 1 (7…23)
10 бит ЦАП (выходы) 1 (1) 1 (1) 1 (1)
Компараторы 3 3 1
Сенсорный контроллер (PTC) 1
Операционные усилители 2…3
Выводы MVIO 8
Детектор перенесения нуля (ZCD) 1…3 1…3 1
Система событий, каналы 8…10 8…10 6
Оконный сторожевой таймер (WWDT) 1 1 1
Конфигурируемая логика (CCL), LUT 1(4-6) 1(4-6) 1(4)
USART/SPI/I2C (3/5/6)/2/(1/2) (3/5/6)/2/(1/2) 2/1/1
Таймер 16 бит 4/6/7 4/6/7 3/4
Таймер 12 бит 1 1 1
Диапазон рабочих температур, °C I = 85, E = 125 I = 85, E = 125 I = 85, E = 125

AVR-DA и DB занимают нишу производительных 8-битных контролеров с обширным набором периферии. Основное различие в том, что серия DA имеет Peripheral Touch Controller, а серия DB — операционные усилители.

Серия DD занимает нишу более компактных, но менее производительных устройств с урезанным набором периферии. Серии DB и DD схожи в том, что имеют поддержку технологии MVIO и внешнего кварца высокой частоты.

В новых сериях применены и другие проверенные технологии Microchip, повышающие надежность, гибкость системы и уменьшающие энергопотребление:

  • Core Independent Peripherals – независимая от ядра периферия, способная продолжить работу даже при переходе контроллера в энергосберегающий режим и отключении ядра;
  • Cyclic Redundancy Check Memory Scan – модуль, позволяющий выявить повреждение кода программы, хранящейся во Flash-памяти;
  • Configurable Custom Logic – модуль настраиваемой пользовательской логики, дающий возможность реализовать несложные цифровые устройства, функционирующие без привлечения процессора;
  • Event System – система событий, позволяющая модулям периферии взаимодействовать друг с другом без участия процессора, в том числе и в спящем режиме.

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

Поддержка новых серий включена в интегрированные среды разработки от Microchip:

  • Atmel Studio (сейчас — Microchip Studio) – родная среда разработки для микроконтроллеров AVR. Поддержка новых устройств доступна после установки пакета поддержки устройств (Device Family Pack) AVR-Dx_DFP.
  • MPLAB X IDE – изначально среда разработки для микроконтроллеров PIC. В данный момент поддерживаются как PIC-микроконтроллеры, так и AVR, включая последние серии. Плагин MPLAB Code Configurator позволяет графическое конфигурирование устройства и генерацию оптимизированного кода.
  • Atmel START – облачная онлайн-среда разработки, которая, как и MPLAB Code Configurator, имеет удобные графические средства для настройки модулей периферии и системы в целом. Отметим, что данная среда не поддерживает PIC-микроконтроллеры.

Применения

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

Новые серии отмечены знаком Functional Safety Ready, что означает, что они могут применяться в приложениях, критичных к отказам: автомобильной и промышленной электронике. По запросу заказчика предоставляется отчет со статистикой отказа контроллера и руководство по обеспечению требований стандартов безопасности.

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

•••

Наши информационные каналы

AVR Знакомство с семейством AVR

&nbsp

&nbsp

&nbsp

Урок 1

 

 

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

Почему именно с этой линейки?

Ну, может кто знает, может кто-то не знает, микроконтроллер AVR – это продукт компании Atmel.

Ну почему же всё-таки именно с линейки AVR?

Во-первых, микроконтроллеры AVR – они повсеместно доступны, они есть в любых магазинах, цена их невысока.

Во-вторых, из-за наличия многочисленного программного обеспечения для их программирования и прошивки, что тоже в наше время немаловажно.

То есть, при написании программ вы не будете нарушать ни чьих авторских прав.

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

Поэтому, будем программировать мы именно под микроконтроллеры AVR.

Начнём мы с такого представителя этой линейки, как микроконтроллер Atmega 8.

ATMEGA 8A

Почему именно с него, с Atmega 8?

Потому что, во-первых, он вполне себе такой полноправный микроконтроллер и недорогой.

Имеет на своём борту три порта ввода-вывода. Мы не будем здесь вдаваться в подробности, что такое порты. Вкратце, порты – это такие шины данных, которые работают в двух направлениях – и на вывод, и на ввод.

 

 

Порт B.

У порта B, он у нас неполный, имеет 6 ножек.

0, 1 ножка, 2, 3, 4 и 5. То есть, 6 ножечек.
Порт C также у нас неполный, от нулевой до шестой ножки.
А вот порт D у нас полноправный порт, имеет все 8 ног, т.е. байт данных от 0 до 7.
Питается микроконтроллер от 5 вольт. Можно питать его также от 3,3 вольта, он также будет отлично работать. Но единственное, частота тактирования может быть выставлена только 8 мегагерц максимально. 16 мы не можем выставить при трёх вольтах, можем только при пяти вольтах. Подается питание на 7 ножку. Общий провод – восьмая.
Ну теперь давайте посмотрим, откуда мы можем взять программное обеспечение для программирования.
У компании Atmel имеется свой сайт www.atmel.com. На главной страничке, далеко ходить не нужно, в правой части страницы под главным баннером находится вот Download Atmel Studio.

Вот эту вот программку мы скачиваем, устанавливаем. Впоследствии мы будем создавать в ней свои проекты. А как создавать проекты, как писать код, мы с вами познакомимся на следующих занятиях. Так что пока, скачивайте, устанавливайте.
Прошивать контроллер мы поначалу будем вот в такой вот программе – avrdude.
Ссылка на скачивание avrdode 3.3    avrdudeprog33
Ну, на этом, с вашего позволения, я пока закончу Продолжение будет в следующих уроках.

 

Программирование МК AVR  Следующий урок

 

Смотреть ВИДЕОУРОК

 

 

Post Views: 25 210

Разница между AVR и ARM

Необходимое условие — разница между микроконтроллером (µC) и микропроцессором (µP)

Микроконтроллер представляет собой единую интегральную схему (IC), которая сравнима с маленьким автономным компьютером, и это предназначен для выполнения конкретных задач встраиваемых систем. Микроконтроллер содержит процессор, но небольшой объем памяти (ПЗУ, ОЗУ и т. Д.), Несколько портов ввода-вывода для периферийных устройств, таймер и т. Д. AVR и ARM относятся к семейству микроконтроллеров.Но ARM можно использовать как микроконтроллер, так и микропроцессор. Микроконтроллер ARM и микроконтроллер AVR отличаются друг от друга разной архитектурой и разными наборами инструкций, скоростью, приведением, памятью, потребляемой мощностью, шириной шины и т. Д. Теперь давайте подробно разберемся, чем они отличаются от друг с другом.

Вниманию читателя! Не прекращайте учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с помощью курса CS Theory Course по приемлемой для студентов цене и будьте готовы к работе в отрасли.

1. Микроконтроллер AVR:
Микроконтроллер AVR произведен корпорацией Atmel в 1996 году. Он основан на архитектуре набора команд RISC (ISA) и также называется Advanced Virtual RISC. AT90S8515 был первым микроконтроллером, принадлежащим семейству AVR. Микроконтроллер AVR — самая популярная категория контроллеров, и она недорогая. Он используется во многих роботизированных приложениях.


2. Микроконтроллер ARM:
Микроконтроллер ARM был представлен компьютерной организацией Acron и производится Apple, Nvidia, Qualcomm, Motorola, ST Microelectronics, Samsung Electronics и TI и т. Д.Он основан на архитектуре набора команд RISC (ISA) и также называется усовершенствованным микроконтроллером RISC. Это самый популярный микроконтроллер, и большинство отраслей используют его для встраиваемых систем, поскольку он предоставляет большой набор функций и позволяет производить устройства с превосходным внешним видом.


Разница между AVR и ARM:

S. AVR ARM
01. Микроконтроллер AVR относится к Advanced Virtual RISC (AVR). Микроконтроллер ARM относится к микроконтроллеру Advanced RISC (ARM).
02. Имеет ширину шины 8 или 32 бит. Он имеет ширину шины 32 бита, а также доступен в 64 бита.
03. Использует протокол связи ART, USART, SPI, I2C. Он использует протокол связи SPI, CAN, Ethernet, I2S, DSP, SAI, UART, USART.
04. Его скорость составляет 1 такт на цикл инструкции. Его скорость также составляет 1 такт на цикл команд.
05. Производитель — компания Atmel. Его производитель — Apple, Nvidia, Qualcomm, Samsung Electronics и TI и т. Д.
06. Он использует память Flash, SRAM, EEPROM. Использует память Flash, SDRAM, EEPROM.
07. В его семейство входят Tiny, Atmega, Xmega, AVR специального назначения. Его семейство включает ARMv4, 5, 6, 7 и серии.
08. Это дешево и эффективно. Обеспечивает высокую скорость работы.
09. Популярные микроконтроллеры включают Atmega8, 16, 32, Arduino Community. Популярные микроконтроллеры включают LPC2148, ARM Cortex-M0, ARM Cortex-M7 и т. Д.

Все, что вам нужно знать- (Часть 1/46)

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

Рис. 1: Блок-схема, показывающая архитектуру микроконтроллера AVR

]]>

Означает ли это, что микроконтроллер — это другое название компьютера…? Ответ — нет! Компьютер, с одной стороны, предназначен для выполнения всех задач общего назначения на одной машине, например, вы можете использовать компьютер для запуска программного обеспечения для выполнения вычислений, или вы можете использовать компьютер для хранения какого-либо мультимедийного файла или для доступа в Интернет через браузер, в то время как микроконтроллеры предназначены для выполнения только определенных задач, например, e.g., автоматическое выключение кондиционера, когда температура в помещении упадет до определенного предела, и повторное включение, когда температура поднимется выше определенного предела.

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

История АРН

AVR был разработан в 1996 году корпорацией Atmel. Архитектура AVR была разработана Альф-Эгилем Богеном и Вегардом Волланом. AVR получил свое название от своих разработчиков и означает A lf-Egil Bogen V egard Wollan R ISC микроконтроллер , также известный как A dvanced V irtual R . AT90S8515 был первым микроконтроллером, который был основан на архитектуре AVR , однако первым микроконтроллером, появившимся на коммерческом рынке, стал AT90S1200 в 1997 году.

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

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

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

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

В следующей таблице сравниваются микроконтроллеры упомянутой выше серии AVR:

Название серии

Штыри

Флэш-память

Специальная функция

TinyAVR

6-32

0,5-8 КБ

Маленький

MegaAVR

28-100

4-256 КБ

Расширенная периферия

XmegaAVR

44-100

16-384КБ

DMA, система событий включена

Важность AVR

Что особенного в АРН?

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

8051

ПИК

АВР

СКОРОСТЬ

Медленная

Умеренная

Быстро

ПАМЯТЬ

Малый

Большой

Большой

АРХИТЕКТУРА

CISC

RISC

RISC

АЦП

Отсутствует

Встроенный

Встроенный

Таймеры

Встроенный

Встроенный

Встроенный

ШИМ каналов

Отсутствует

Встроенный

Встроенный

AVR — это 8-битный микроконтроллер, принадлежащий к семейству компьютеров с сокращенным набором команд ( RISC ).В архитектуре RISC набор команд компьютера не только меньше по количеству, но также проще и быстрее в работе. Другой тип категоризации — это CISC (компьютеры со сложным набором команд). Щелкните здесь, чтобы узнать о различиях между RISC и CISC. Мы рассмотрим это подробнее, когда узнаем об архитектуре микроконтроллеров AVR в следующем разделе.

Давайте посмотрим, что все это значит. Что такое 8 бит? Это означает, что микроконтроллер может передавать и принимать 8-битные данные.Доступные регистры ввода / вывода 8-битные. Контроллеры семейства AVR имеют архитектуру на основе регистров, что означает, что оба операнда для операции хранятся в регистре, а результат операции также сохраняется в регистре. На следующем рисунке показан простой пример выполнения операции ИЛИ между двумя входными регистрами и сохранения значения в выходном регистре.

Рис. 2: Блок-схема, показывающая простой пример выполнения операции ИЛИ между двумя входными регистрами и сохранения значения в выходном регистре

]]>

CPU принимает значения из двух входных регистров INPUT-1 и INPUT-2, выполняет логическую операцию и сохраняет значение в регистре OUTPUT.Все это происходит за 1 цикл выполнения.

В нашем путешествии с AVR мы будем работать над микроконтроллером Atmega16, который представляет собой 40-контактную ИС и принадлежит к категории megaAVR семейства AVR. Некоторые из особенностей Atmega16:

· 16 КБ флэш-памяти

· 1 КБ SRAM

· 512 байт EEPROM

· Доступен в 40-контактном DIP

· 8-канальный 10-разрядный АЦП

· Два 8-битных таймера / счетчика

· Один 16-битный таймер / счетчик

· 4 канала ШИМ

· Системный программист (ISP)

· Последовательный USART

· Интерфейс SPI

· Цифро-аналоговый компаратор.

Архитектура АРН

Микроконтроллеры AVR основаны на усовершенствованной архитектуре RISC и состоят из 32 x 8-битных рабочих регистров общего назначения. В течение одного тактового цикла AVR может принимать входные данные из двух регистров общего назначения и помещать их в ALU для выполнения запрошенной операции и передавать результат обратно в произвольный регистр. ALU может выполнять как арифметические, так и логические операции

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

AVR следует формату Гарвардской архитектуры, в котором процессор оснащен отдельной памятью и шинами для информации о Программе и данных. Здесь, когда инструкция выполняется, следующая инструкция предварительно выбирается из памяти программ.

Рис. 3: Блок-схема архитектуры памяти в AVR

]]>

Поскольку AVR может выполнять выполнение за один цикл, это означает, что AVR может выполнять 1 миллион инструкций в секунду, если частота цикла составляет 1 МГц. Чем выше рабочая частота контроллера, тем выше будет скорость его обработки. Нам необходимо оптимизировать энергопотребление со скоростью обработки и, следовательно, необходимо соответствующим образом выбрать рабочую частоту.

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

1. Atmega16 : — Диапазон рабочих частот 0 — 16 МГц.

2. Atmega16L : — Диапазон рабочих частот 0-8 МГц.

Если мы используем кристалл 8 МГц = 8 x 10 6 Гц = 8 миллионов циклов, тогда AVR может выполнить 8 миллионов инструкций.

Соглашение об именах.!

AT обозначает производителя Atmel, Mega означает, что микроконтроллер принадлежит к категории MegaAVR, 16 обозначает память контроллера, которая составляет 16 КБ.

Рис. 4: Соглашение об именах микроконтроллера AVR

]]>

Схема архитектуры: Atmega16

Следующие пункты объясняют строительные блоки архитектуры Atmega16 :

· портов ввода-вывода : Atmega16 имеет четыре (PORTA, PORTB, PORTC и PORTD) 8-битных портов ввода-вывода.

· Внутренний калиброванный осциллятор : Atmega16 оснащена внутренним генератором для управления часами.По умолчанию Atmega16 настроен на работу с внутренним откалиброванным генератором с частотой 1 МГц. Максимальная частота внутреннего генератора 8 МГц. В качестве альтернативы ATmega16 может работать с использованием внешнего кварцевого генератора с максимальной частотой 16 МГц. В этом случае вам необходимо изменить биты предохранителей. (Биты-предохранители будут объяснены в отдельном руководстве).

· Рис. 5: Блок-схема , поясняющая архитектуру AVR

]]>

Интерфейс АЦП : Atmega16 оснащен 8-канальным АЦП ( аналого-цифровой преобразователь ) с разрешением 10 бит.АЦП считывает аналоговый вход, например, вход датчика, и преобразует его в цифровую информацию, понятную микроконтроллеру.

· Таймеры / счетчики : Atmega16 состоит из двух 8-битных и одного 16-битного таймера / счетчика. Таймеры полезны для создания точных действий, например, для создания временных задержек между двумя операциями.

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

· прерываний : Atmega16 состоит из 21 источника прерываний, четыре из которых являются внешними. Остальные — это внутренние прерывания, которые поддерживают периферийные устройства, такие как USART, ADC, таймеры и т. Д.

· USART : Универсальный синхронный и асинхронный интерфейс приемника и передатчика доступен для взаимодействия с внешним устройством, способным к последовательной связи (побитовая передача данных).

·

Продолжение архитектуры

Регистры общего назначения : Atmega16 оснащена 32 регистрами общего назначения, которые напрямую связаны с арифметико-логическим блоком (ALU) процессора.

· Память : Atmega16 состоит из трех разных разделов памяти:

1. Flash EEPROM : Flash EEPROM или простая флэш-память используется для хранения программы, выгруженной или записанной пользователем на микроконтроллер.Его можно легко стереть электрически как единое целое. Флэш-память энергонезависима, т. Е. Сохраняет программу даже при отключении питания. Atmega16 доступен с 16 КБ встроенной программируемой флэш-памяти EEPROM.

2. Байт-адресуемая EEPROM : Это также энергонезависимая память, используемая для хранения данных, таких как значения определенных переменных. Atmega16 имеет 512 байт EEPROM, эта память может быть полезна для хранения кода блокировки, если мы разрабатываем такое приложение, как электронный дверной замок.

3. SRAM : Статическая память с произвольным доступом, это энергозависимая память микроконтроллера, т.е. данные теряются при отключении питания. Atmega16 имеет 1 КБ внутренней SRAM. Небольшая часть SRAM предназначена для регистров общего назначения, используемых ЦП, а часть — для периферийных подсистем микроконтроллера.

· ISP : Семейство контроллеров AVR имеет программируемую в системе флэш-память , которая может быть запрограммирована без удаления ИС из схемы, ISP позволяет перепрограммировать контроллер, пока он находится в схеме приложения.

· SPI : Последовательный периферийный интерфейс , порт SPI используется для последовательной связи между двумя устройствами на общем источнике синхронизации. Скорость передачи данных SPI больше, чем у USART.

· TWI : Двухпроводной интерфейс (TWI) может использоваться для настройки сети устройств, многие устройства могут быть подключены через интерфейс TWI, образуя сеть, устройства могут одновременно передавать и принимать и иметь свои собственные уникальный адрес.

· DAC : Atmega16 также оснащена интерфейсом цифро-аналогового преобразователя (DAC), который может использоваться для обратного действия, выполняемого ADC. ЦАП можно использовать, когда необходимо преобразовать цифровой сигнал в аналоговый.

Семейство MegaAVR

Различные микроконтроллеры серии MegaAVR:

ATmega8 и Atmega32 являются другими членами контроллеров серии MegaAVR.По архитектуре они очень похожи на ATmega16. Контроллеры MegaAVR с низким энергопотреблением также доступны на рынках. В следующей таблице показано сравнение между различными членами семейства MegaAVR:

Название детали

ПЗУ

RAM

EEPROM

Контакты ввода / вывода

Таймер

Прерывания

Эксплуатация Напряжение

Рабочая частота

Упаковка

ATmega8

8 КБ

1 КБ

512B

23

3

19

4.5-5,5 В

0-16 МГц

28

ATmega8L

8 КБ

1 КБ

512B

23

3

19

2,7-5,5 В

0-8 МГц

28

ATmega16

16 КБ

1 КБ

512B

32

3

21

4.5-5,5 В

0-16 МГц

40

ATmega16L

16 КБ

1 КБ

512B

32

3

21

2,7-5,5 В

0-8 МГц

40

ATmega32

32 КБ

2 КБ

1 КБ

32

3

21

4.5-5,5 В

0-16 МГц

40

ATmega32L

32 КБ

2 КБ

1 КБ

32

3

21

2,7-5,5 В

0-8 МГц

40

]]>

]]>
В рубрике: Последние статьи
С тегами: atmega16, avr, mega avr, микроконтроллер

Почему следует выбирать микроконтроллер AVR?

Как работает микроконтроллер?

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

— это не что иное, как ЦП (центральный процессор) с такими вспомогательными компонентами, как память и периферийные устройства ввода-вывода.Если компьютер соответствует большинству этих характеристик, вы называете его «микрокомпьютером». В основном этот микроконтроллер принимает инструкции (в форме программирования и выполняет их одну за другой менее чем за миллионную долю секунды. Таким образом, посредством искусства программирования мы инструктируем микроконтроллер и используем его функции для выполнения конкретной задачи.

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

Что такое микроконтроллер AVR?

Микроконтроллер — это крошечный компьютер на одной интегральной схеме (IC). Микроконтроллеры в первую очередь различаются по разрядности внутренней шины данных: 4-разрядная, 8-разрядная, 16-разрядная, 32-разрядная. Это количество битов можно интерпретировать как длину данных, которые могут обрабатываться контроллером.

Микроконтроллеры ATmega32A Подробности Микроконтроллеры

имеют процессор, память, ввод и вывод.Эти маленькие микросхемы могут быть запрограммированы для выполнения определенной задачи, например: Взаимодействие с физическим миром с помощью управления светодиодами, кнопками, дисплеями, датчиками и т. Д. Эти микросхемы достаточно мощны, поэтому не только контакты могут быть запрограммированы для цифрового ввода и вывода, но также и большинство микроконтроллеров. со встроенными периферийными устройствами, такими как таймеры, аналого-цифровой преобразователь (АЦП), последовательный интерфейс, широтно-импульсная модуляция (ШИМ). В этой серии руководств мы сосредоточимся на ATmega32A, микросхеме микроконтроллера avr, производимой Atmel Inc

.

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

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

  • Составьте список необходимых аппаратных интерфейсов
  • Изучите архитектуру программного обеспечения
  • Выяснить потребности в памяти
  • Ограничения по стоимости и мощности
  • Наличие на рынке микросхемы микроконтроллера
  • Узнать поддерживаемый компилятор и инструменты

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

Какой микроконтроллер мне следует использовать?

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

  • Хорошие ресурсы (примеры проектов, качественная документация, поддержка)
  • Выберите экономичный или эффективный ценовой диапазон
  • Удобный дизайн и простая архитектура, позволяющая легко программировать.Например, 40 контактов (DIP) легче обрабатывать, чем 140 контактов (SMD).
  • Flash ROM: Контроллер должен иметь возможность перепрограммировать несколько раз. Скажем, не менее 1000 раз.
  • In System Programmability (ISP): вам нужен недорогой программатор и не нужна очень дорогая программирующая схема для обновления прошивки.
  • Должно быть доступно бесплатное программное обеспечение, такое как компилятор, например: утилиты GCC и Flash (для загрузки выходного файла в микроконтроллер). Выбор микроконтроллера всегда зависит от задачи.
Почему выбрать микроконтроллер AVR?

Ряд факторов делают микроконтроллер AVR хорошим выбором, особенно для новичков.

  • Easy to Code: AVR были разработаны с нуля, чтобы обеспечить простое и эффективное программирование на языках высокого уровня с особым упором на язык C
  • Простота программирования: Комбинация встроенной перепрограммируемой флэш-памяти и интерфейса внутрисистемного программирования упрощает и упрощает процесс передачи программного обеспечения в микросхему микроконтроллера.
  • Мощный и недорогой: микросхемы AVR обладают высокой производительностью (1 MIPS / МГц и тактовая частота до 16 МГц, занимают до 128 КБ флэш-памяти программ и 4K EEPROM и SRAM по невысокой цене. Большинство AVR дополнительно включает встроенные периферийные устройства, такие как UART и АЦП (аналого-цифровой преобразователь).
  • Подходит для любителей: Большинство микросхем AVR поставляется в простых в использовании 8-20-, 28- или 40-контактных двухрядных корпусах (DIP), что делает их удобными для макетирования и может быть заказано в единичных количествах у местных реселлеров или дистрибьюторов.

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

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


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

Различия между микроконтроллерами в основном заключаются в том, что такое микроконтроллер, разница между микроконтроллерами AVR, ARM, 8051 и PIC и их приложениями.

Что такое микроконтроллер?

Микроконтроллер можно сравнить с маленьким автономным компьютером; это чрезвычайно мощное устройство, способное выполнять ряд заранее запрограммированных задач и взаимодействовать с дополнительными аппаратными устройствами.Будучи упакованным в крошечную интегральную схему (ИС), размер и вес которой обычно незначительны, он становится идеальным контроллером для роботов или любых машин, требующих некоторого типа интеллектуальной автоматизации. Одного микроконтроллера может хватить для управления небольшим мобильным роботом, автоматической стиральной машиной или системой безопасности. Несколько микроконтроллеров содержат память для хранения исполняемой программы и множество линий ввода / вывода, которые можно использовать для совместной работы с другими устройствами, например для считывания состояния датчика или управления двигателем.

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

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

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

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

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

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

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

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

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

Контроллер периферийного интерфейса

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


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

Мы знаем, что микроконтроллер — это интегрированный чип, который состоит из RAM, ROM, CPU, ТАЙМЕРА и СЧЕТЧИКОВ. PIC — это микроконтроллер, который также состоит из RAM, ROM, CPU, таймера, счетчика, ADC (аналого-цифрового преобразователя), DAC (цифро-аналогового преобразователя). Микроконтроллер PIC также поддерживает такие протоколы, как CAN, SPI, UART для взаимодействия с дополнительными периферийными устройствами. PIC в основном используется для изменения архитектуры Гарварда, а также поддерживает RISC (компьютер с сокращенным набором команд) согласно вышеуказанному требованию. RISC и Гарвард, мы можем просто, что PIC быстрее, чем контроллеры на основе 8051, которые подготовлены на основе архитектуры Von-Newman.

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

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

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

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

Микроконтроллеры AVR доступны в трех категориях

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

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

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

Процессор ARM

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

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

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

Процессоры

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

Основное различие между микроконтроллерами AVR, ARM, 8051 и PIC
32-разрядная версия

8051

ПИК

АВР

АРМ

Ширина шины

8-бит для стандартного ядра 8/16/32-бит 8/32-бит в основном также доступна в 64-разрядной версии

Протоколы связи

UART, USART, SPI, I2C PIC, UART, USART, LIN, CAN, Ethernet, SPI, I2S UART, USART, SPI, I2C, (поддержка AVR специального назначения CAN, USB, Ethernet)

UART, USART, LIN, I2C, SPI, CAN, USB, Ethernet, I2S, DSP, SAI (последовательный аудиоинтерфейс), IrDA

Скорость

12 Такт / цикл команд 4 Такт / цикл команд 1 такт / цикл команд 1 такт / цикл команд

Память

ПЗУ, SRAM, Флэш-память SRAM, ВСПЫШКА Вспышка, SRAM, EEPROM Вспышка, SDRAM, EEPROM

ISA

CLSC

Некоторые особенности RISC

RISC RISC

Архитектура памяти

Архитектура Гарварда Архитектура фон Неймана Модифицированный Модифицированная архитектура Гарварда

Потребляемая мощность

Среднее значение Низкая Низкая Низкая

Семьи

8051 варианты PIC16, PIC17, PIC18, PIC24, PIC32 Tiny, Atmega, Xmega, AVR специального назначения ARMv4,5,6,7 и серия

Сообщество

Большой Очень хорошо Очень хорошо Большой

Производитель

NXP, Atmel, Silicon Labs, Даллас, Кипр, Infineon и др. Среднее значение микрочипа Атмель Apple, Nvidia, Qualcomm, Samsung Electronics и TI и т. Д.
Стоимость (по сравнению с предоставленными функциями) Очень низкий Среднее значение Среднее значение Низкая

Прочие характеристики

Известен своим стандартом дешевые Дешевая, эффективная Высокая скорость работы

Большой

Популярные микроконтроллеры

AT89C51, P89v51 и др. PIC18fXX8, PIC16f88X, PIC32MXX Atmega8, 16, 32, Сообщество Arduino LPC2148, от ARM Cortex-M0 до ARM Cortex-M7 и т. Д.

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

11 преимущества микроконтроллера AVR

Возможно, вы уже знаете о микроконтроллерах AVR, а возможно, вы только что наткнулись на них.

Если вы хотите перейти на микроконтроллер AVR, но еще не уверены в том, что с ними такого особенного, ниже приведены некоторые из многих преимуществ микроконтроллера AVR

  • Цена
  • Easy для использования
  • Доступно
  • Сообщество (учебные пособия, ресурсы, форумы и т. д.)
  • Fast
  • Различные типы плат в зависимости от ваших потребностей
  • Множество различных периферийных устройств 9109 для программирования
  • Обширные подробные таблицы данных
  • Простота настройки
  • Встроенная память

Далее в этой статье я дам более подробное объяснение каждого преимущества.

Хотя преимуществ гораздо больше, это самые заметные.

Что такое микроконтроллер AVR

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

Микроконтроллер AVR был впервые разработан в конце 90-х годов компанией, известной как Atmel . Однако в 2016 году их приобрела Microchip .

Они были первым набором микроконтроллеров, которые использовали флеш-память на кристалле для памяти программ.

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

AVR чаще всего используются для встраиваемых приложений и получили широкое распространение благодаря платам разработки Arduino (преимущественно AT Mega 8).

Это микроконтроллер от новичков до экспертов, используемый в домашних условиях и в промышленности.

Семейство AVR состоит из серии микроконтроллеров, перечисленных ниже;

Из множества вариантов, эти три являются наиболее популярными в серии используемых микроконтроллеров AVR.

11 преимуществ микроконтроллера AVR

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

Преимущество # 1 микроконтроллера AVR:

Цена

Независимо от того, что вы покупаете, вам нужно лучшее соотношение цены и качества (или, как я люблю это называть, золотое сечение )

Что я имею в виду тем, что вы не хотите тратить много денег на что-то не очень качественное.

Также было бы неплохо заплатить минимум денег за что-то отличное.

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

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

Преимущество №2 микроконтроллера AVR:

Простота использования

Я подхожу к этому преимуществу с двух точек зрения.

Один как новичок, второй как эксперт.

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

Глазами эксперта (скажем, инженера), который создает прототип проекта, в котором задействован микроконтроллер.

Тем не менее, этот инженер имеет лишь небольшие познания в использовании микроконтроллеров, он или она захотят иметь возможность использовать микроконтроллер с небольшой кривой обучения, поскольку они хотят тратить все свое время на изучение того, как использовать микроконтроллер, а скорее застряли в завершении своего проекта.

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

Преимущество № 3 микроконтроллера AVR:

Доступность

Третье преимущество микроконтроллера AVR — доступность.

Итак, мы знаем, что микроконтроллер AVR имеет разумную цену и прост в использовании, но представьте, если бы это было невозможно достать, это было бы совершенно бессмысленно.

В наши дни нам посчастливилось жить в Интернете, где вы можете покупать вещи в Интернете одним нажатием кнопки.

Однако даже тогда некоторые товары могут быть затруднены, особенно если вы живете в далеких странах.

Я живу в Новой Зеландии! Дальний уголок мира!

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

К счастью для меня, микроконтроллер AVR не входит в число таких элементов!

У меня есть доступ к нему онлайн, а также к физическим магазинам недалеко от того места, где я живу.

Преимущество №4 микроконтроллера AVR:

Сообщество

Независимо от того, какое хобби мы можем начать, мы все начинаем как любители.

Еще в те дни, когда появились микроконтроллеры, когда Интернет только зарождался, путь к обучению использованию микроконтроллеров был бы немного сложнее.

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

Если вы только начинаете учиться использовать микроконтроллеры AVR, то вы сорвали джекпот!

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

Кроме того, доступно множество ресурсов, начиная от видеоуроков, проектов, примеров кодов, теории и многих других, которые помогут вам начать работу.

Итак, если вы когда-нибудь застрянете, обратитесь к сообществу AVR, которое поможет вам решить любую проблему.

Преимущество № 5 микроконтроллера AVR:

Диапазон скоростей

Теперь мы подошли к техническим преимуществам микроконтроллера AVR.

Первая из них — скорость.

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

Чем выше скорость, тем быстрее выполняются инструкции, и наоборот.

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

Например, если у вас есть метеостанция, где данные обрабатываются только каждые 24 часа, вам не нужны высокие тактовые частоты.

Так что все зависит от приложения.

Самое замечательное в микроконтроллерах AVR заключается в том, что они имеют диапазон тактовых частот

Преимущество # 6 микроконтроллера AVR:

Диапазон опций микроконтроллера

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

Вы не ограничены одним конкретным микроконтроллером AVR определенного размера, набора периферийных устройств, скорости, количества входов / выходов и т. Д.

Микроконтроллеры AVR выпускаются в различных вариантах, которые различаются по размеру и функциональности.

Также, в зависимости от спецификаций вашего проекта / приложения, каждый микроконтроллер поставляется с уникальным набором периферийных устройств.

Ваш проект может включать только мигание светодиода (LED). В этом случае для выполнения работы не требуется высокоскоростной 40-контактный микроконтроллер.

Это было бы перебором!

К счастью, есть множество микроконтроллеров AVR на выбор.

Преимущество № 7 микроконтроллера AVR:

Широкий набор периферийных устройств

Одна из основных целей микроконтроллера — это возможность взаимодействовать с физическим миром.

Получаете ли вы информацию с датчиков, контролируете ли вы скорость двигателя, считываете нажатия кнопок, отображаете информацию на ЖК-дисплее и многое другое.

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

Ниже представлен набор общих периферийных устройств микроконтроллера AVR.

  • GPIO (входы / выходы общего назначения)
  • ADC (аналого-цифровой преобразователь)
  • DAC (цифро-аналоговый преобразователь)
  • Последовательная связь
      Два интерфейса
    • I2C )
    • SPI (последовательный периферийный интерфейс)
    • USART (универсальный последовательный асинхронный передатчик-приемник)
  • Таймеры
  • PWM (ШИМ с широкополосной модуляцией AV12) 911 периферийные устройства на выбор.

    Преимущество № 8 микроконтроллера AVR:

    Простота программирования

    Программирование микроконтроллера включает в себя ряд шагов, которые включают:

    • Запись кода в IDE (программное обеспечение для интегрированной разработки)
    • Компиляция кода в файл, который записывается на микроконтроллер (обычно файл .HEX)
    • Затем, наконец, отправка этого файла в микроконтроллер с помощью программатора AVR и IDE, способная программировать микроконтроллер.

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

    Однако AVR упростил вам, мне и всем остальным написать программу, а затем запрограммировать микроконтроллер.

    У него есть собственная выделенная среда IDE (Atmel Studio), где вы можете писать, отлаживать и программировать свой микроконтроллер.

    AVR также имеет собственного программатора, для настройки которого не требуется диплом инженера.

    Преимущество № 9 микроконтроллера AVR:

    Мало что нужно для настройки микроконтроллера

    Пока мы обсуждаем настройку, вам может быть интересно, что нужно для настройки микроконтроллера AVR.

    Не так уж много ответа.

    Последнее, на что вы хотите тратить свое время, — это настройка микроконтроллера. Вы хотите как можно скорее приступить к интересным вещам.

    Для установки микроконтроллера требуется только макетная плата, пара конденсаторов, соединительный провод и напряжение питания (которым может быть пара батареек AA).

    Обратите внимание, что эта установка применима только для временных целей. Если вам нужна более постоянная установка, вам потребуется печатная плата и ее придется паять.

    Преимущество № 10 микроконтроллера AVR:

    Встроенная память

    Память — очень важный аспект любого микроконтроллера.

    Это место, где вы храните программный код, а также временные и постоянные переменные.

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

    Это пустая трата времени и денег.

    Таким образом, наличие встроенной памяти является большим преимуществом, поскольку вам не нужно проходить весь процесс настройки внешней памяти.

    Преимущество № 11 микроконтроллера AVR:

    Подробные технические описания

    Последним и последним преимуществом микроконтроллера AVR является его техническое описание.

    Большинство (если не все) электронных устройств и компонентов поставляются с какой-либо таблицей данных или руководством, в котором есть инструкции по их использованию.

    Зато, кому мануалы читать любит!

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

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

    Итак, прежде чем обращаться за помощью к сообществу AVR, сначала проверьте таблицу данных микроконтроллера AVR.

    Различные типы микроконтроллеров AVR

    Когда дело доходит до микроконтроллеров AVR, существует три основных подгруппы семейств;

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

    Например, в семействе tinyAVR есть микроконтроллеры, в том числе AT Tiny 25 , AT Tiny 45 , AT Tiny 85 , и это лишь некоторые из них.

    Каждое семейство этих семейств AVR варьируется по размеру, памяти, набору периферийных устройств и т. Д.

    Итак, в зависимости от ваших потребностей, существует микроконтроллер AVR для решения ваших проблем.

    Какой лучший микроконтроллер AVR

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

    Но в большинстве вещей есть те, которые выделяются среди остальных.

    AVR имеет несколько микроконтроллеров, которые лучше своих аналогов (это согласно моему собственному опыту, а также исследованиям, проведенным в Интернете).

    К ним относятся:

    • AT TINY 25
    • AT MEGA 8
    • AT MEGA 32

    Для более подробного объяснения того, почему я выбрал эти три микроконтроллера, щелкните здесь.

    Понимание архитектуры микроконтроллера AVR | Вставить идею

    AVR Microcontroller — одна из популярных серий микроконтроллеров, производимых Atmel Corporation.Компания Atmel выпустила свою первую версию микроконтроллера AVR в 1996 году.

    Первой версией микроконтроллера AVR была AT90S8515 . Распиновка этого чипа такая же, как у 8051. За 7 лет Atmel поставила более 500 миллионов микроконтроллеров AVR по всему миру.

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

    AVR приобрели большую популярность в 2005 году после выпуска аппаратной платформы с открытым исходным кодом Arduino . После выпуска многие профессионалы, любители и студенты начинают рассматривать микроконтроллеры AVR в своих проектах.

    С тех пор в Интернете появилось множество ресурсов, касающихся архитектуры микроконтроллера AVR .

    Но если вы планируете подробно разбираться в микроконтроллерах AVR, то вам следует знать основы этого. Почему популярны эти контроллеры? Что внутри контроллеров?

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

    Что такое микроконтроллер AVR?

    Микроконтроллер AVR — это серия микроконтроллеров RISC от Atmel. Atmel была приобретена Microchip Technology в 2016 году. Сейчас микроконтроллеры AVR производятся Microchip .

    До AVR микроконтроллеры не имели встроенной флэш-памяти. Серия контроллеров AVR впервые представляет концепцию наличия встроенной флэш-памяти . Это значительно упрощает процесс программирования и отладки.

    Что такое полная форма AVR?

    Некоторые люди говорят, что полная форма AVR — это Advanced Virtual RISC , но если вы прочитаете историю AVR в Википедии, вы найдете кое-что еще.

    Концепция микроконтроллеров AVR была впервые разработана двумя студентами в Норвегии. Один из них — Альф-Эгиль Боген, другой — Вегард Воллан. В их названии название AVR расшифровывается как A lf’s и V egard’s R ISC Processor .Позже они продали технологию Atmel Corporation.

    Архитектура микроконтроллера AVR

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

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

    Архитектура микроконтроллера AVR
    Процессор / ЦП

    Процессорная архитектура микроконтроллера AVR основана на Гарварде и RISC. Что такое Гарвард и RISC? Позвольте мне объяснить это по порядку.

    Гарвардская архитектура

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

    РИСК

    RISC означает Компьютер с сокращенным набором команд . В RISC устранены сложности с инструкциями.

    В таких системах, как CISC (Компьютер со сложным набором команд), одна инструкция состоит из 4-5 операций в фоновом режиме. Как следствие, для одной инструкции требует 4-5 тактовых импульсов во время выполнения.

    Но в RISC с одной инструкцией задействован только один процесс .Таким образом, во время выполнения требуется только один импульс. Это называется одноцикловым исполнением .

    RISC переносит сложности с оборудования на программное обеспечение, в отличие от CISC, который делает наоборот.

    Воспоминания Микроконтроллеры

    AVR имеют 3 типа памяти. Флэш-память, EEPROM и SRAM.

    Флэш-память используется для хранения программы / инструкций. SRAM — статическая RAM, используемая для временного хранения.Он нужен ЦП при выполнении инструкций.

    EEPROM обозначает электрически стираемое программируемое ПЗУ. Это постоянная память, которая используется для хранения специальных настроек или специальных параметров, необходимых для некоторых приложений.

    Входы / выходы

    В отличие от других микроконтроллеров, микроконтроллеры серии AVR имеют 3 регистра для операций ввода и вывода. DDRx используется для настройки контактов в качестве входов или выходов. PORTx используется для записи выходных значений и PINx используется для чтения входящих значений.

    Частоты Микроконтроллеры

    AVR имеют как внутренние, так и внешние тактовые генераторы. При настройке на использование внутренних генераторов , микроконтроллер не требует кварцевого генератора .

    При настройке как внешний микроконтроллер потребует кварцевый генератор .

    Таймеры Микроконтроллеры

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

    АЦП и компаратор

    Большинство микроконтроллеров AVR имеют встроенные 10-битные аналого-цифровые преобразователи . АЦП используется для преобразования входящих аналоговых сигналов в цифровые данные.

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

    Связь Микроконтроллер

    AVR поддерживает многие методы последовательной связи, такие как USART, TWI и SPI .

    USART — Универсальный синхронный асинхронный приемник-передатчик используется для связи с использованием контактов Rx и Tx .

    TWI — Двухпроводной интерфейс аналогичен связи I2C. Для этого обмена данными требуются SDA и SCL контактов.

    SPI — Последовательный периферийный интерфейс — это 4-проводная технология связи, для которой требуются такие контакты, как MOSI, MISO, SCK и SS .

    Помимо всех этих микроконтроллеров AVR встроены векторные источники прерываний .

    Загрузите образец описания микроконтроллера AVR в формате pdf

    Характеристики микроконтроллера AVR

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

    • Будучи процессором RISC, он намного быстрее.
    • Встроенная память флэш-память , статическая RAM и EEPROM .
    • Один тактовый цикл выполнения — Большинство инструкций AVR имеют одного тактового цикла выполнения раз.
    • Встроенные средства отладки, такие как JTAG .
    • Доступны 3 различных серии ( Tiny, Mega и X-Mega ) в зависимости от количества контактов.
    • Недорогие инструменты программирования делают удобным для любителей.

    Заключение

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

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

    Если вы собираетесь начать интересный проект с микроконтроллером, вы можете использовать AVR.Вы можете приобрести недорогие микроконтроллеры AVR на этих интернет-сайтах.

    Насколько полезен был этот пост?

    Нажмите на звездочку, чтобы поставить оценку!

    Отправить рейтинг

    Средний рейтинг / 5. Подсчет голосов:

    Связанные

    Учебные руководства по программированию микроконтроллеров Atmel AVR

    Микроконтроллер AVR от Atmel (теперь Microchip) — один из наиболее широко используемых 8-битных микроконтроллеров.Arduino Uno основан на микроконтроллере AVR; это недорого и общедоступно во всем мире.

    В этой книге авторы используют пошаговый и систематический подход для демонстрации программирования микросхемы AVR. Примеры на языке ассемблера и C объясняют, как программировать многие функции AVR, такие как таймеры, последовательная связь, ADC, SPI, I2C и PWM.

    Текст состоит из двух частей:

    1. Первые шесть глав используют программирование на языке ассемблера для изучения внутренней архитектуры AVR.
    2. В главах 7-18 используется как сборка, так и C, чтобы показать периферийные устройства AVR и интерфейс ввода-вывода с реальными устройствами, такими как ЖК-дисплей, двигатель и датчик.

    В первом издании этой книги, опубликованном Pearson, использовался ATmega32. Он по-прежнему доступен для покупки на Amazon. Это новое издание основано на Atmega328 и плате Arduino Uno.

    Дополнительная информация …


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

    При этом вы приблизитесь к чипу и сможете выжать из него больше мощности и функций.

    Каждая глава этой книги посвящена проектам, которые включают эту конкретную тему микроконтроллеров. Каждый проект включает схемы, код и иллюстрации рабочего проекта.

    Дополнительная информация…


    Используя популярный и экономичный встроенный контроллер Atmel AVR в качестве платформы и приложения для обучения, Embedded C Programming и Atmel AVR являются идеальным выбором для новичков. Эта новаторская книга, содержащая множество полнофункциональных примеров приложений, позволяет пользователям применять подход «учиться на практике» по мере развития знаний и навыков, необходимых для достижения профессиональных навыков.

    После знакомства с процессорами Atmel AVR RISC читатели сразу же переходят к учебному пособию по встроенному языку C.

    Здесь они будут экспериментировать с переменными и константами, операторами и выражениями, операторами управления, указателями и массивами, типами памяти, директивами препроцессора, методами реального времени и т. Д.

    В дополнение к исчерпывающему справочнику по функциям библиотеки, целая глава, посвященная компилятору CodeVision AVR C, содержит подробные пошаговые инструкции по установке и работе IDE, смешиванию ассемблера с C и использованию генератора кода мастера кода. Использование периферийных устройств, таких как клавиатуры, ЖК-дисплеи и другие стандартные устройства, связанные со встроенными микроконтроллерами, также полностью исследуется в этом всеобъемлющем современном практическом и справочном руководстве для программистов.

    Дополнительная информация …


    STK128 + — это полноценная экономичная плата разработки для ATmega128. Он предназначен для того, чтобы дать разработчикам возможность быстро разрабатывать код для микроконтроллера ATmega128, ускоряя разработку прототипа устройств ATMega 128.

    Микросхема ATmega128 установлена ​​на плате устройства, которую можно отделить от материнской платы, что обеспечивает безопасную замену микроконтроллера. Чип ATmega128 поставляется в корпусе TQFP64 и может быть ATmega128-16AU, ATmega128L-8AU или ATmega128A-AU.

    В комплект STK128 + входит плата устройства ATmega128, дополнительная запасная плата устройства ATmega128 и набор экспериментальных фитингов.

    Дополнительная информация .

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

Ваш адрес email не будет опубликован.