Что такое микроконтроллеры AVR. Какие бывают семейства AVR-микроконтроллеров. Как программировать AVR и в каких областях их применяют. Преимущества AVR перед другими микроконтроллерами.
Что представляют собой микроконтроллеры AVR
Микроконтроллеры AVR — это семейство 8-битных и 32-битных микроконтроллеров, разработанных компанией Atmel (ныне принадлежит Microchip Technology). AVR расшифровывается как Advanced Virtual RISC или Alf-Egil Bogen Vegard Wollan RISC — по именам разработчиков архитектуры.
Основные особенности микроконтроллеров AVR:
- Гарвардская архитектура — раздельная память для программ и данных
- RISC-архитектура с оптимизированным набором из 130+ инструкций
- 32 8-битных регистра общего назначения
- Высокая производительность — до 20 MIPS при тактовой частоте 20 МГц
- Встроенная Flash-память программ объемом до 256 КБ
- EEPROM и SRAM для хранения данных
- Встроенная периферия — таймеры, АЦП, ШИМ, UART и др.
Благодаря этим особенностям микроконтроллеры AVR обеспечивают высокую производительность при низком энергопотреблении, что делает их отличным выбором для встраиваемых систем.
Семейства микроконтроллеров AVR
Микроконтроллеры AVR выпускаются в нескольких основных семействах:
tinyAVR
Малогабаритные микроконтроллеры с базовой периферией для простых приложений. Имеют от 0.5 до 16 КБ Flash-памяти и от 6 до 32 выводов.
megaAVR
Универсальные микроконтроллеры среднего уровня. Объем Flash-памяти от 4 до 256 КБ, 28-100 выводов. Имеют расширенный набор периферии.
XMEGA AVR
Высокопроизводительные микроконтроллеры для сложных приложений. До 384 КБ Flash-памяти, улучшенная периферия, поддержка DMA, криптографические сопроцессоры.
AVR32
32-битные микроконтроллеры с расширенными возможностями. Поддерживают работу с внешней памятью, имеют встроенный контроллер Ethernet, USB и др.
Выбор конкретного семейства зависит от требований к производительности, объему памяти и набору периферии в конкретном приложении.
Применение микроконтроллеров AVR
Микроконтроллеры AVR нашли широкое применение в различных областях электроники и автоматики:
- Бытовая техника — стиральные машины, холодильники, микроволновые печи
- Системы «умный дом» — управление освещением, климатом, безопасностью
- Автомобильная электроника — панели приборов, системы управления двигателем
- Промышленная автоматика — ПЛК, системы сбора данных, управление приводами
- Измерительное оборудование — мультиметры, осциллографы, анализаторы
- Медицинская техника — глюкометры, тонометры, кардиографы
- Портативные устройства — MP3-плееры, фитнес-трекеры, игрушки
Универсальность и широкий модельный ряд позволяют подобрать оптимальный микроконтроллер AVR практически для любой задачи.
Программирование микроконтроллеров AVR
Для программирования микроконтроллеров AVR используются следующие основные средства:
Языки программирования
- Ассемблер — низкоуровневый язык, обеспечивает максимальную производительность и минимальный размер кода
- C/C++ — наиболее распространенный вариант, оптимальное сочетание удобства и эффективности
- Basic — простой язык для начинающих разработчиков
Среды разработки
- Atmel Studio — официальная бесплатная IDE от производителя
- AVR-GCC — набор компиляторов и утилит с открытым исходным кодом
- CodeVisionAVR — коммерческая IDE с богатым набором библиотек
- Arduino IDE — упрощенная среда для платформы Arduino на базе AVR
Программаторы
- AVRISP mkII — официальный программатор от Atmel
- USBasp — популярный недорогой USB-программатор
- STK500 — отладочная плата с программатором
- AVR Dragon — программатор с возможностями внутрисхемной отладки
Для начала работы достаточно выбрать язык программирования, установить среду разработки и приобрести простой программатор. Это позволит писать и отлаживать программы для микроконтроллеров AVR.
Преимущества микроконтроллеров AVR
По сравнению с другими популярными семействами микроконтроллеров, AVR имеют ряд преимуществ:
- Высокая производительность за счет RISC-архитектуры
- Наличие большого количества регистров общего назначения
- Развитая периферия на кристалле
- Низкое энергопотребление
- Удобство программирования на C/C++
- Наличие бесплатных средств разработки
- Большой выбор недорогих программаторов
- Обширная документация и сообщество разработчиков
Эти преимущества сделали AVR одним из самых популярных семейств микроконтроллеров для любительских и коммерческих проектов.
Заключение
Микроконтроллеры AVR представляют собой мощную и гибкую платформу для разработки встраиваемых систем. Они сочетают высокую производительность, низкое энергопотребление и богатый набор периферии. Широкий модельный ряд позволяет выбрать оптимальный микроконтроллер для конкретной задачи. Удобные средства разработки и обширное сообщество разработчиков делают AVR отличным выбором как для начинающих, так и для профессионалов.
AVR микроконтроллеры: популярное семейство
Семейство AVR – включает в себя 8 битные микроконтроллеры для широкого спектра задач. Для сложных проектов с большим количеством входов/выходов вам предоставлены микроконтроллеры AVR семейства Mega и AVR xmega, которые выпускаются в корпусах от 44 до 100 выводов и имеют до 1024 кб Flash памяти, а скорость их работы – до 32 миллионов операций в секунду. Практически все модели имеют возможность генерировать ШИМ, встроенный АЦП и ЦАП.
Миллионы радиолюбителей разрабатывают интересные проекты на AVR – это самое популярное семейство МК, о них написано очень много книг на русском и других языках мира.
Интересно: для прошивки нужен программатор, один из самых распространённых – это AVRISP MKII, который вы легко можете сделать из своей Arduino.
Популярность семейства АВР поддерживается на высоком уровне уже много лет, в последние 10 лет интерес к ним подогревает проект Arduino – плата для простого входа в мир цифровой электроники.
Сферы применения различных Tiny, Mega
Четко описать сферу применения микроконтроллера нельзя, ведь она безгранична, однако можно классифицировать следующим образом:
- Tiny AVR – самые простые в техническом плане. В них мало памяти и выводов для подключения сигналов, цена соответствующая. Однако это идеальное решение для простейших проектов, начиная от автоматики управления осветительными приборами салона автомобиля, до осциллографических пробников для ремонта электроники своими руками. Они также используются в Arduino-совместимом проекте – Digispark. Это самая маленькая версия ардуины от стороннего производителя; выполнена в формате USB-флешки.
- Семейство 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 для начинающих?
Для обучения молодых специалистов написаны горы литературы, давайте рассмотрим некоторые из них:
- Евстифеев А.В. «Микроконтроллеры AVR семейства Mega». В книге подробно рассмотрена архитектура микроконтроллера. Описано назначение всех регистров и таймеров, а также их режимы работы. Изучена работа интерфейсов связи с внешним миром SPI и т. д. Система команд раскрыта для понимания радиолюбителю среднего уровня. Материал книги «Микроконтроллеры avr семейства mega: руководство пользователя» поможет изучить структуру чипа и назначение каждого из его узлов, что, безусловно, важно для любого программиста микроконтроллеров.
- Белов А.В. – «Микроконтроллеры AVR в радиолюбительской практике». Как видно из названия, эта книга, в большей степени, посвящена практической стороне работы с микроконтроллерами. Подробно рассмотрен ставший классическим микроконтроллер ATiny2313, а также многие схемы для сборки.
- Хартов В.Я. «Микроконтроллеры AVR. Практикум для начинающих». Поможет разобраться в AVR studio 4, а также стартовом наборе STK Вы научитесь работать с последовательными и параллельными интерфейсами, такими как UART, I2C и SPI. Книга «Микроконтроллеры AVR. Практикум для начинающих» написана преподавателем МГТУ им. Н.Э.Баумана и используется там для изучения этой темы.
Изучение этого семейства микроконтроллеров помогло начать работать и разрабатывать проекты многим любителям электроники. Стоит начинать именно с популярного семейства, чтобы всегда иметь доступ к морю информации.
Среди радиолюбителей начального уровня есть только один конкурент AVR – PIC микроконтроллеры.
Опубликовал: Константин Александров / 08.11.2017
arduinoplus.ru
Что такое AVR микроконтроллер?
ATMEGA168 (16KB FLASH) — $0.58 FREE SHIPPING
ATMEGA128 (128KB FLASH) — $0.72 FREE SHIPPING
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 обычно нет установленной операционной системы, хотя, при необходимости, она может быть установлена. Вместо этого реализована возможность запуска одной программы.
Также, как и
prom-electric.ru
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 на сегодняшний день повсеместно используются в компьютерах, для автоматизации управления электронной аппаратурой, различными приборами и механизмами, применяемыми в промышленных, коммерческих, а также бытовых целях. Невысокая стоимость, широкий ассортимент и богатые возможности микроконтроллеров этой серии способствовали их большой популярности.
Порекомендуйте Друзьям статью:
biosgid.ru
Что такое микроконтроллер, семейства и корпуса AVR микроконтроллеров
Попробуем разобраться что же представляет из себя AVR микроконтроллер, что это такое и из чего состоит. Узнаем какие есть семейства микроконтроллеров от фирмы ATMEL и в каких корпусах выпускаются микро-чипы от данного производителя. Сделаем выбор корпуса микросхемы, наиболее пригодного для знакомства с AVR микроконтроллерами.
Содержание:
- Контроллеры и микроконтроллеры
- Что такое AVR микроконтроллер
- Корпуса для AVR микросхем
- Заключение
Контроллеры и микроконтроллеры
Микроконтроллер — это электронное устройство, микросхема которая представляет собою маленький компьютер со своей памятью и вычислительным ядром(микропроцессором), а также с набором дополнительных интерфейсов для подключения самых разных устройств для ввода и вывода различной информации, управления устройствами и измерения различных параметров. Микропроцессор, оперативная память, флешь-память, порты ввода/вывода, таймеры, интерфейсы связи — все это заключено в одном кристалле, одной микросхеме которая и называется микроконтроллером.
Чем отличается микроконтроллер от контроллера? — под контроллером подразумевается определенная схема или плата с различными компонентами для контроля и выполнения поставленных задач, а микроконтроллер — это схема универсального контроллера, которая размещена на маленьком кристаллике микросхемы и которая способна работать по четко заданной программе.
Работа микроконтроллера и его периферии осуществляется по программе, которая записывается во внутреннюю память и способна храниться в такой памяти достаточно длительный срок(несколько десятков лет).
Что такое AVR микроконтроллер
AVR микроконтроллеры, производимые фирмой ATMEL — это семейство 8-битных и более новых 32-битных микроконтроллеров с архитектурой RISC, которые совмещают в себе вычислительное ядро, Flash-память и разнообразную периферию (аналоговые и цифровые входы и выходы, интерфейсы и т.п.) на одном кристале. Это маленькие и очень универсальные по функционалу микросхемки, которые могут выполнять контроль и управлять различными устройствами, взаимодействовать между собою потребляя при этом очень мало энергии.
Данное RISC-ядро было разработано двумя студентами из города Тронхейма (третий по населению город Норвегии, расположен в устье реки Нидельвы) — Альф Боген (Alf-Egil Bogen) и Вегард Воллен (Vegard Wollen). В 1995м году данные персоны сделали предложение корпорации ATMEL на выпуск новых 8-битных микроконтроллеров, с тех пор AVR микроконтроллеры заполучили большую популярность и широкое применение.
Что обозначает аббревиатура AVR? — здесь наиболее вероятны два варианта:
- Advanced Virtual RISC;
- 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.
ph0en1x.net
Схемы, устройства и проекты на микроконтроллерах AVR
GPS модули широко используются в современной электронике для определения местоположения, основываясь на координатах долготы и широты. Системы мониторинга транспортных средств, часы GPS, системы предупреждения о чрезвычайных происшествиях, системы наблюдения – это лишь небольшой список приложений, в которых может потребоваться технология … Читать далее →
Как показывают многочисленные исследования в современном мире люди более склонны доверять машинам нежели другим людям. Сейчас, когда в мире активно развиваются такие технологии как искусственный интеллект, машинное обучение, чат-боты, синергия (совместная деятельность) между людьми и роботами с каждым годом все … Читать далее →
Двигатели постоянного тока относятся к числу наиболее часто используемых двигателей. Их можно встретить где угодно – начиная от простейших конструкций до продвинутой робототехники. В этой статье мы рассмотрим подключение двигателя постоянного тока к микроконтроллеру ATmega16 (семейство AVR). Но сначала немного … Читать далее →
Принцип действия датчиков Холла основан на так называемом «эффекте Холла», открытым Эдвином Холлом (Edwin Hall) в 1869 году. Этот эффект гласит: «эффект Холла основан на явлении возникновения поперечной разности потенциалов (называемой также холловским напряжением) при помещении проводника с постоянным током … Читать далее →
Широтно-импульсная модуляция (сокр. ШИМ, от англ. PWM — Pulse Width Modulation) является технологией, позволяющей изменять ширину импульсов в то время как частота следования импульсов остается постоянной. В настоящее время она применяется в разнообразных системах контроля и управления, а также в … Читать далее →
ATmega16 (семейство AVR) является дешевым 8 битным микроконтроллером и имеет достаточно большое число интерфейсов ввода-вывода общего назначения. Он поддерживает все часто используемые в настоящее время протоколы связи такие как UART, USART, SPI и I2C. Он достаточно широко применяется в робототехнике, … Читать далее →
Существует несколько способов программирования микроконтроллеров семейства AVR. В данной статье мы рассмотрим один из наиболее популярных в настоящее время способов программирования данных микроконтроллеров – с помощью программатора USBASP v2.0 и программы Atmel Studio 7.0. Хотя на нашем сайте уже есть … Читать далее →
Создание робота – это всегда волнующее событие для всех энтузиастов, увлекающихся электроникой. И это волнение усиливается если создаваемый робот может автоматически делать некоторые вещи без внешних команд. Одним из широко известных подобных роботов, доступных для создания новичками, является робот, движущийся … Читать далее →
Часто во многих конструкциях, использующих микроконтроллеры AVR, используется аналогово-цифровой преобразователь (АЦП) данных микроконтроллеров. Он используется везде где необходимо преобразовать какое-нибудь аналоговое значение в цифровое. Обычно это конструкции с датчиками температуры, датчиками наклона, датчиками тока, гибкими датчиками и т.п. На нашем … Читать далее →
Шаговые двигатели – это бесщеточные двигатели постоянного тока, которую могут вращаться от 00 до 3600 дискретными шагами. С каждым управляющим сигналом ось такого двигателя поворачивается на фиксированное значение (шаг). Управление вращением подобных двигателей осуществляется последовательностью специальных сигналов. В отличие от … Читать далее →
microkontroller.ru
Поделки с микроконтроллерами AVR: примеры решений
Поделки с микроконтроллерами – вопрос, как никогда актуальный и интересный. Ведь мы живем в 21 веке, эпохе новых технологий, роботов и машин. На сегодняшний день каждый второй, начиная с малого возраста, умеет пользоваться интернетом и различного рода гаджетами, без которых порою и вовсе сложно обойтись в повседневной жизни.
Поэтому в этой статье мы будем затрагивать, в частности, вопросы пользования микроконтроллерами, а также непосредственного применения их с целью облегчения миссий, каждодневно возникающих перед всеми нами. Давайте разберемся, в чем ценность этого прибора, и как просто использовать его на практике.
Микроконтроллер и его предназначение
Микроконтроллер − это чип, целью которого является управление электрическими приборами. Классический контроллер совмещает в одном кристалле, как работу процессора, так и удаленных приборов, и включает в себя оперативное запоминающее устройство. В целом, это монокристальный персональный компьютер, который может осуществлять сравнительно обыкновенные задания.
Разница между микропроцессором и микроконтроллером заключается в наличии встроенных в микросхему процессора приборов «пуск-завершение», таймеров и иных удаленных конструкций. Применение в нынешнем контроллере довольно сильного вычисляющего аппарата с обширными способностями, выстроенного на моносхеме, взамен единого комплекта, существенно уменьшает масштабы, потребление и цену созданных на его основе приборов.
Из этого следует, что применить такое устройство можно в технике для вычисления, такой, как калькулятор, материнка, контроллеры компакт-дисков. Используют их также в электробытовых аппаратах – это и микроволновки, и стиральные машины, и множество других. Также микроконроллеры широко применяются в индустриальной механике, начиная от микрореле и заканчивая методиками регулирования станков.
Микроконроллеры AVR
Ознакомимся с более распространенным и основательно устоявшимся в современном мире техники контроллером, таким как AVR. В его состав входят высокоскоростной RISC-микропроцессор, 2 вида затратной по энергии памяти (Flash-кэш проектов и кэш сведений EEPROM), эксплуатационная кэш по типу RAM, порты ввода/вывода и разнообразные удаленные сопряженные структуры.
Важно:
- рабочая температура составляет от -55 до +125 градусов Цельсия;
- температура хранения составляет от -60 до +150 градусов;
- наибольшая напряженность на выводе RESET, в соответствии GND: максимально 13 В;
- максимальное напряжение питания: 6.0 В;
- наибольший электроток линии ввода/вывода: 40 мА;
- максимальный ток по линии питания VCC и GND: 200 мА.
Возможности микроконтроллера AVR
Абсолютно все без исключения микроконтроллеры рода Mega обладают свойством самостоятельного кодирования, способностью менять составляющие своей памяти драйвера без посторонней помощи. Данная отличительная черта дает возможность формировать с их помощью весьма пластичные концепции, и их метод деятельности меняется лично микроконтроллером в связи с той либо иной картиной, обусловленной мероприятиями извне или изнутри.
Обещанное количество оборотов переписи кэша у микроконтроллеров AVR второго поколения равен 11 тысячам оборотов, когда стандартное количество оборотов равно 100 тысячам.
Конфигурация черт строения вводных и выводных портов у AVR заключается в следующем: целью физиологического выхода имеется три бита регулирования, а никак не два, как у известных разрядных контроллеров (Intel, Microchip, Motorola и т. д.). Это свойство позволяет исключить потребность обладать дубликатом компонентов порта в памяти с целью защиты, а также ускоряет энергоэффективность микроконтроллера в комплексе с наружными приборами, а именно, при сопутствующих электрических неполадках снаружи.
Всем микроконтроллерам AVR свойственна многоярусная техника пресечения. Она как бы обрывает стандартное течение русификатора для достижения цели, находящейся в приоритете и обусловленной определенными событиями. Существует подпрограмма преобразования запрашивания на приостановление для определенного случая, и расположена она в памяти проекта.
Когда возникает проблема, запускающая остановку, микроконтроллер производит сохранение составных счетчика регулировок, останавливает осуществление генеральным процессором данной программы и приступает к совершению подпрограммы обрабатывания остановки. По окончании совершения, под шефствующей программы приостановления, происходит возобновление заранее сохраненного счетчика команд, и процессор продолжает совершать незаконченный проект.
Поделки на базе микроконтроллера AVR
Поделки своими руками на микроконтроллерах AVR становятся популярнее за счет своей простоты и низких энергетических затрат. Что они собой представляют и как, пользуясь своими руками и умом, сделать такие, смотрим ниже.
«Направлятор»
Такое приспособление проектировалось, как небольшой ассистент в качестве помощника тем, кто предпочитает гулять по лесу, а также натуралистам. Несмотря на то, что у большинства телефонных аппаратов есть навигатор, для их работы необходимо интернет-подключение, а в местах, оторванных от города, это проблема, и проблема с подзарядкой в лесу также не решена. В таком случае иметь при себе такое устройство будет вполне целесообразно. Сущность аппарата состоит в том, что он определяет, в какую сторону следует идти, и дистанцию до нужного местоположения.
Важно: прежде чем уходить, нужно сохранить место отправки, куда после надо возвратиться, и стрелка будет показывать на эту точку, но это будет выполнено лишь при условии работы спутников.
Построение схемы осуществляется на основе микроконтроллера AVR с тактированием от наружного кварцевого резонатора на 11,0598 МГц. За работу с GPS отвечает NEO-6M от U-blox. Это, хоть и устаревший, но широко известный и бюджетный модуль с довольно четкой способностью к установлению местонахождения. Сведения фокусируются на экране от Nokia 5670. Также в модели присутствуют измеритель магнитных волн HMC5883L и акселерометр ADXL335.
Измеритель магнитных волн HMC5883LБеспроводная система оповещения с датчиком движения
Полезное устройство, включающее в себя прибор перемещения и способность отдавать, согласно радиоканалу, знак о его срабатывании. Конструкция является подвижной и заряжается с помощью аккумулятора или батареек. Для его изготовления необходимо иметь несколько радиомодулей HC-12, а также датчик движения hc-SR501.
Прибор перемещения HC-SR501 функционирует при напряжении питания от 4,5 до 20 вольт. И для оптимальной работы от LI-Ion аккумулятора следует обогнуть предохранительный светодиод на входе питания и сомкнуть доступ и вывод линейного стабилизатора 7133 (2-я и 3-я ножки). По окончанию проведения этих процедур прибор приступает к постоянной работе при напряжении от 3 до 6 вольт.
Датчик движения HC-SR501Внимание: при работе в комплексе с радиомодулем HC-12 датчик временами ложно срабатывал. Во избежание этого необходимо снизить мощность передатчика в 2 раза (команда AT+P4). Датчик работает на масле, и одного заряженного аккумулятора, емкостью 700мА/ч, хватит свыше, чем на год.
Минитерминал
Приспособление проявило себя замечательным ассистентом. Плата с микроконтроллером AVR нужна, как фундамент для изготовления аппарата. Из-за того, что экран объединён с контроллером непосредственно, то питание должно быть не более 3,3 вольт, так как при более высоких числах могут возникнуть неполадки в устройстве.
Преобразователь LM2577Вам следует взять модуль преобразователя на LM2577, а основой может стать Li-Ion батарея емкостью 2500мА/ч. Выйдет дельная комплектация, отдающая постоянно 3,3 вольта во всём трудовом интервале напряжений. С целью зарядки применяйте модуль на микросхеме TP4056, который считается бюджетным и достаточно качественным. Для того чтобы иметь возможность подсоединить минитерминал к 5-ти вольтовым механизмам без опаски сжечь экран, необходимо использовать порты UART.
Основные аспекты программирования микроконтроллера AVR
Кодирование микроконтоллеров зачастую производят в стиле ассемблера или СИ, однако, можно пользоваться и другими языками Форта или Бейсика. Таким образом, чтобы по факту начать исследование по программированию контроллера, следует быть оснащенным следующим материальным набором, включающим в себя: микроконтроллер, в количестве три штуки — к высоковостребованным и эффективным относят — ATmega8A-PU, ATtiny2313A-PU и ATtiny13A- PU.
Чтобы провести программу в микроконтроллер, нужен программатор: лучшим считают программатор USBASP, который дает напряжение в 5 Вольт, используемое в будущем. С целью зрительной оценки и заключений итогов деятельности проекта нужны ресурсы отражения данных − это светодиоды, светодиодный индуктор и экран.
Программатор USBASP 2.0Чтобы исследовать процедуры коммуникации микроконтроллера с иными приборами, нужно числовое приспособление температуры DS18B20 и, показывающие правильное время, часы DS1307. Также важно иметь транзисторы, резисторы, кварцевые резонаторы, конденсаторы, кнопки.
С целью установки систем потребуется образцовая плата для монтажа. Чтобы соорудить конструкцию на микроконтроллере, следует воспользоваться макетной платой для сборки без пайки и комплектом перемычек к ней: образцовая плата МВ102 и соединительные перемычки к макетной плате нескольких видов — эластичные и жесткие, а также П-образной формы. Кодируют микроконтроллеры, применяя программатор USBASP.
Простейшее устройство на базе микроконтроллера AVR. Пример
Итак, ознакомившись с тем, что собой представляют микроконтроллеры AVR, и с системой их программирования, рассмотрим простейшее устройство, базисом для которого служит данный контроллер. Приведем такой пример, как драйвер низковольтных электродвигателей. Это приспособление дает возможность в одно и то же время распоряжаться двумя слабыми электрическими двигателями непрерывного тока.
Предельно возможный электроток, коим возможно загрузить программу, равен 2 А на канал, а наибольшая мощность моторов составляет 20 Вт. На плате заметна пара двухклеммных колодок с целью подсоединения электромоторов и трехклеммная колодка для подачи усиленного напряжения.
Устройство выглядит, как печатная плата размером 43 х 43 мм, а на ней сооружена минисхемка радиатора, высота которого 24 миллиметра, а масса – 25 грамм. С целью манипулирования нагрузкой, плата драйвера содержит около шести входов.
Заключение
В заключение можно сказать, что микроконтроллер AVR является полезным и ценным средством, особенно, если дело касается любителей мастерить. И, правильно использовав их, придерживаясь правил и рекомендаций по программированию, можно с легкостью обзавестись полезной вещью не только в быту, но и в профессиональной деятельности и просто в повседневной жизни.
Опубликовал: Дмитрий Васильев / 05.02.2018
arduinoplus.ru
AVR. Учебный курс | Электроника для всех
Про шину IIC я писал уже неоднократно. Вначале было описание протокола, потом пример работы в лоб, а недавно камрад Ultrin выложил пример работы с i2c на базе блока USI. Да и в интернете полно статей по использованию этой шины в своих целях. Одно плохо — все они какие то однобокие. В подавляющем большинстве случаев используется конфигурация «Контроллер-Master & EEPROM-Slave». Да еще и на программном мастере. И ни разу я не встречал материала, чтобы кто то сделал Контроллер-Slave или описал многомастерную систему, когда несколько контроллеров сидят на шине и решают арбитражем конфликты передачи. Пустоту пора заполнять, решил я и завязал узелок на память… Да только веревочку пролюбил 🙂
Обещаного три года ждут, вот я таки пересилил лень, выкроил время и сообразил полноценную библиотеку для работы с аппаратным модулем TWI, встроенным во все контроллеры серии MegaAVR. Давно грозился.
Кошмар на крыльях ночи
Во-первых, я сразу же отказался от концепции тупого последовательного кода. Когда у нас есть некоторая функция SendByte(Address,Byte) которая шлет данные по шине, а потом возвращает 1 или 0 в зависимости от успешности или неуспешности операции. Метод прост, дубов, но медленный. Т.е. пока мы байт не пошлем мы не узнаем ушло ли оно, а значит будем вынуждены тупить и ждать. Да, шина i2c может быть очень быстрой. До 100кбит ЕМНИП, но даже это время, а я все же за высокоскоростное выполнение кода, без тормозных выдержек. Наш выбор — диспетчеризация и работа на прерываниях.
Суть в том, что мы подготавливаем данные которые нужно отослать. Дальше запускаем аппаратуру передачи и возвращаемся к своим делам. А зверский конечный автомат, что висит на прерывании TWI передатчика сам передает данные, отвлекая основную программу только тогда, когда нужен какой-либо экшн (например сунуть очередной байт в буфер передачи). Когда же все будет передано, то он генерит событие, которое оповещает головную программу, что мол задание выполнено.
Как? Ну это уже от конкретной реализации событий программы зависит. Может флажок выставить или байт состояния конечного автомата подправить, а может и задачу на конвейер диспетчера набросить или Event в почтовый ящик задачи скинуть. Если юзается RTOS.
(далее…)
Read More »
easyelectronics.ru