Avr что такое – Краткий Курс — Самоучитель — Программирование микроконтроллеров AVR — быстрый старт с нуля

Содержание

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

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

Название серииЧисло контактовОбъем флэш-памятиОсобенность
TinyAVR6-320,5 – 8 КБНебольшой размер
MegaAVR28-1004-256 КБПериферийные устройства
XmegaAVR44-10016-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, которые имеют определенное преимущество перед обычными микросхемами, но, сначала, давайте разберемся, что такое микроконтроллер?

Самый простой способ понять это – сравнить микроконтроллер с вашим компьютером, в котором установлена материнская плата. На этой плате стоит микропроцессор (на чипе 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 – использовать ассемблер (хотя, если хотите оставаться педантичным, можете записывать двоичные числа).

prom-electric.ru

Урок 1. Что такое AVR микроконтроллер? — Меандр — занимательная электроника

Читать все новости

Добро пожаловать в современный и увлекательный мир микроконтроллеров AVR!

Вопрос: Что такое микроконтроллер?
Ответ: Микроконтроллер это своего рода компьютер, который используется в различных электронных устройствах. Микроконтроллер работает по программе, заложенной в него. Но в отличие от компьютера в микроконтроллере ядро, память и периферийные устройства заключены в один кристалл. В микроконтроллере имеются различные периферийные устройства, это: порты ввода\вывода или I\O (input\output), таймеры, интерфейсы связи и т.д.
Микроконтроллер имеет три вида памяти, это RAM (оперативная память), FlashROM (Flash память), EEPROM (энергонезависимая память).

Вопрос: Что такое AVR микроконтроллер?
Ответ: AVR микроконтроллер – это 8-битный микроконтроллер с RISC архитектурой и различными периферийными устройствами. Есть огромное количество разных AVR микроконтроллеров в DIP, SOIC, TQFP и PLCC корпусах.
В AVR микроконтроллерах есть область (4 байта) которую называют Fuse Bits (фьюз биты), в которой хранится конфигурация микроконтроллера. У каждого AVR микроконтроллера есть свой набор Fuse Bits.
Большинство МК имеют SPI интерфейс связи, по которому можно программировать (прошивать) микроконтроллер.

 

Вопрос: Какие есть компиляторы для AVR микроконтроллера?
Ответ:  Для AVR микроконтроллеров существует множество компиляторов, например:
BASCOM-AVR (Basic компилятор), Code Vision AVR (C (си) компилятор), WinAVR (компилятор C (си) и ассемблера) и т.д.
В данном курсе по микроконтроллерам AVR будет использоваться компилятор BASCOM-AVR.

Вопрос: Как запрограммировать (прошить) AVR микроконтроллер?
Ответ: Для того чтобы запрограммировать (прошить) микроконтроллер, необходим программатор. Программатор это устройство, которое связывает микроконтроллер и компьютер вместе. Компьютер с помощью специальной программы прошьет микроконтроллер указанной программой (прошивкой).

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

Автор: Яковлев Александр Вячеславович (г.Витебск, Беларусь)

Возможно, Вам это будет интересно:

meandr.org

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

Семейство AVR – включает в себя 8 битные микроконтроллеры для широкого спектра задач. Для сложных проектов с большим количеством входов/выходов вам предоставлены микроконтроллеры 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 микроконтроллеры.

arduinoplus.ru

Что такое АВР, как работает и для чего нужен?

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

Содержание

  1. Что такое АВР
  2. Где применяются?
  3. Классификация
  4. Какие требования предъявляются к устройствам АВР?
  5. Как работает АВР

Что такое АВР

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

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

Другим основополагающим элементом в схемах АВР является реле контроля фаз, которое фиксирует параметры электрического тока в сети.

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

Схемы АВР, как правило, реализуют на щитах, для крупных объектов иногда используют шкафы. Существуют готовые решения, но для выполнения конкретных задач в заданных условиях и обеспечения наиболее полного функционала часто производят сборку АВР на основе комплектующих, удовлетворяющих конкретным техническим условиям. Перед подключением в обязательном порядке проводят испытание устройств АВР с подключением основной цепи через ЛАТР.

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

  • Высокие потери электрической энергии в питающем трансформаторе.
  • Токи «КЗ» при данном подключении на много больше, нежели в случаи раздельного схемы питания.
  • Усложняется защита оборудования.
  • Возникают сложности с выбором определённого режима работы.
  • Отсутствует возможность осуществления параллельного питания. Связано это с имеющейся релейной защитой и свойств оборудования.

Именно по этим причинам и возникла такая необходимость, как раздельное питание и мгновенное восстановление электричества для потребителей. С данной задачей превосходно справляется АВР. С помощью автоматического ввода резерва подключение питания происходит мгновенно, за 0,3 – 0,8 секунды.

Где применяются? ↑

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

Классификация  ↑

Аппараты АВР подразделяются на следующие типы:

  • Односторонней работы. В такой схеме имеется одна рабочая и одна резервная секция питающей электрической цепи.
  • Двухсторонней работы. Каждая питающая линия в таких устройствах может быть рабочей и резервной.

Какие требования предъявляются к устройствам АВР?  ↑

  1. Данные аппараты обязаны включаться за кротчайший интервал времени после того момента, как отключится основное питание потребителей.
  2. Устройство АВР должно срабатывать постоянно, не зависимо от того, какова была причина прекращения подачи электричества.
  3. Срабатывание обязано происходить однократно.

Как работает АВР  ↑

Для чего ещё нужен АВР? Благодаря данному аппарату осуществляется контроль минимально и максимально допустимого входного напряжения. Происходит и проверка наличия чередования фаз.

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

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

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

Данные аппараты могут устанавливаться в отдельных шкафах. В зависимости от мощности электропотребления, они могут быть: малогабаритными, полногабаритными, двух и трёх секционными. Также, АВР можно размещать в распределительных и вводных шкафах.

Инженерный центр «ПрофЭнергия» имеет все необходимые инструменты для качественного проведения испытания устройств АВР, слаженный коллектив профессионалов и лицензии, которые дают право осуществлять все необходимые испытания и замеры. Оставив выбор на электролаборатории «ПрофЭнергия» вы выбираете надежную и качествунную работу своего оборудования!

Если хотите заказать испытание устройств АВР или задать вопрос, звоните по телефону: +7 (495) 181-50-34.

energiatrend.ru

Микроконтроллеры: что это такое и зачем нужны

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

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

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

Микроконтроллер представляет собой микросхему, которая используется для управления электронными устройствами. В типичном микроконтроллере имеются функции и процессора, и периферийных устройств, а также содержится оперативная память и/или ПЗУ (постоянное запоминающее устройство). Если говорить кратко, то микроконтроллер — это компьютер, функционирующий на одном кристалле, который способен выполнять относительно несложные операции.

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

Подключение микроконтроллера

Нижеописанная схема является упрощенным вариантом подключения микроконтроллера AVR. AVR — это семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — 1996.

По-хорошему, необходимо добавить еще несколько дополнительных внешних элементов в схему.

Упрощенная схема подключения микроконтроллера

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

Вывод AREF используется как вход для опорного напряжения АЦП — сюда подается напряжение, относительно которого будет высчитываться АЦП. Допустимо использование внутреннего источника опорного напряжения на 2.56В, или же использовать напряжение от AVCC.

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

На вывод AREF рекомендуется подключить конденсатор, который позволит увеличить качество напряжения АЦП и, тем самым, позволит провести правильные измерения АЦП. Между AVCC и GND установлен конденсатор и дроссель, а между GND и VCC установлен керамический конденсатор с емкостью 100 нФ (поближе к выводам питания схемы) для сглаживания кратких импульсов помех, образующихся в результате работы микросхемы.

Также между GND и VCC устанавливается ещё один конденсатор с емкостью в 47 мкФ для того, чтобы сгладить возможные броски напряжения.

Управление микроконтроллером

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

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

Регистровая память предусматривает наличие 32 регистров общего назначения, которые объединены в файл, а также служебные регистры для ввода и вывода. И первые, и вторые располагаются в пространстве ОЗУ, однако не являются его частью.

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

Устройства на микроконтроллерах

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

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

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

  • Регистратор температуры на Atmega168;
  • Кухонный таймер на Attiny2313;
  • Термометр;
  • Измеритель частоты промышленной сети на 50 Гц;
  • Контроллер светодиодного стоп-сигнала на Attiny2313;
  • Светодиодные лампы и светильники, реагирующие на температуру или звук;
  • Электронные или сенсорные выключатели.

Отметим, что для разных устройств используются разные модели микроконтроллеров. Так, 32-разрядные микроконтроллеры AVR UC3 (а также XMEGA, megaAVR, tinyAVR и т.д.) подойдут для систем общего назначения с технологиями picoPower, QTouch, EEPROM, системами обработки событий и самопрограммированием.

Микроконтроллеры для начинающих

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

  • Перед решением любых задач следует делить их на более мелкие, вплоть до базовых действий.
  • Не следует пользоваться кодогенераторами и прочими «упрощающими» материалами, хотя бы на начальных этапах.
  • Рекомендуется изучить язык С и Ассемблер — это упростит понимание принципа работы микроконтроллеров и программ.

Для того, чтобы новичок мог заниматься микроконтроллерами, рекомендуется изучать базовые материалы. К таким материалам можно отнести следующие книги: «Применение микроконтроллеров AVR: схемы, программы и алгоритмы» Баранов В.Н., 2006 год, «Микроконтроллеры AVR: вводный курс», Дж. Мортон, 2008 год, «Программирование микроконтроллеров ATMEL на языке С» Прокопенко В.С, 2012 год.

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

arduinoplus.ru

Осваиваем AVR микроконтроллеры
общие понятия

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

Сразу
определимся с терминами и прочим “по
умолчанию”. Рассматривать будем
восьмиразрядные микроконтроллеры
семейства AVR (далее — МК). Считаем, что
читатель имеет представление о
цифровой технике, знает, за какой
конец держится паяльник и знает хотя
бы Бейсик.

Не
рассматривайте этот учебник как
абсолютно полный и точный — наверное,
это просто невозможно. Я хочу
написать предельно простое и
понятное пособие для первого
ознакомления с МК, которое не
запугает начинающего до смерти 🙂

 

Итак,
что же представляет собой типичный
МК? Это микросхема, в которой на одном
кристалле умещается уйма
разнообразнейших устройств.
Управляет всем арифметико-логическое
устройство (АЛУ). К АЛУ подключен
тактовый генератор, частота которого
определяется, как правило, внешним
кварцем, подключенным к выводам XTAL1 и
XTAL2. Для AT90S8535 максимальная частота
тактового генератора – 8 МГц,
соответственно период, или
длительность одного такта – 125 нс.
Именно за это время выполняется
большинство команд МК. Но не будем
торопиться.

 Итак, на
АЛУ поступает тактовый сигнал (TCK), АЛУ
выбирает из ПЗУ команду и выполняет ее. А
вот тут надо как-то одновременно
рассказать и о командах, и о том, что они,
собственно, изменяют и на что влияют… И
рассказать желательно одновременно,
поскольку все между собой тесно
завязано. Наверное, все-таки начнем со
второго.

Несмотря
на такое, казалось бы, различие между
этими двумя МК (8535 и Tiny15) — ядро и
система команд у них практически
одинаковы

АЛУ
подключено к регистрам общего
назначения (РОН), регистрам ввода-вывода
и встроенному ОЗУ. Регистров общего
назначения всего 32, причем некоторые из
них имеют специфическое предназначение,
размер встроенного ОЗУ в зависимости от
МК – от нуля  до 512 байт. И регистры, и ОЗУ
имеют байтовый формат, то есть состоят
из восьми бит. Ну и на всякий случай
упомяну, что бит – это по сути
минимальная единица информации, может
принимать значения 0 и 1. 

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

Ну и
еще уточним — не все регистры
одинаковы. Младшие (см. таблицу) не
могут работать с непосредственным
операндом. R0 используется в команде
LPM,  регистры R26-R27, R28-R29 и R30-R31
образуют регистровые пары X, Y и Z,
которые тоже не одинаковы —
регистровая пара X не дает обращаться
к памяти со смещением, а Z кроме
обычных действий позволяет делать
косвенный переход и читать память программ.

Но
никто не запрещает использовать эти
«специальные» регистры и как
обычные.

0x00-0x1FРегистры
общего назначения,
R0-R31
R0-R15
младшие
R16-R31
старшие
0x20-0x5FРегистры
ввода-вывода
0x00-0x3F
для команд IN,OUT
0x60-Внутреннее
ОЗУ
Размер
и наличие зависит от модели МК

Адресное
пространство МК

 

R0

используется в команде LPM
R1-R15используются
произвольно

Младшие регистры

 

R16-R25

используются
произвольно
R26Регистровая пара X
R27
R28Регистровая пара Y
R29
R30Регистровая пара Z
R31

Старшие регистры

Следует заметить, что к РОН и
регистрам ввода-вывода можно обратиться
и как к ОЗУ. Так, запись в ячейку ОЗУ с
адресом 1 эквивалентна записи в R1, а
чтение ОЗУ из адреса $22 – эквивалентно
команде IN xxx,$02. Впрочем, к этому мы еще
вернемся – не все сразу…


Итак,
с регистрами общего назначения вроде
разобрались. Что дальше? А дальше —
регистры ввода-вывода.

Регистры
ввода-вывода – это связь АЛУ с
внешним миром и собственной
периферией. Хотя сам по себе термин “периферия”
идет с тех времен, когда
микропроцессор был только
микропроцессором и не более того. Все,
начиная от генератора тактовых
импульсов и кончая таймером – это
были отдельные микросхемы или даже
блоки. Ну да ладно, периферия так
периферия, главное – понятно, что это
такое. Под регистры ввода-вывода
отведено 64 байта в адресном
пространстве, но в различных МК
реально задействовано разное их
количество.

Впрочем,
порты ввода-вывода мы рассмотрим на
следующем уроке, поподробнее.


Еще в МК есть ПЗУ команд. Оно
никак не связано с адресным
пространством ОЗУ и регистров, по умному
это называется гарвардской
архитектурой. ПЗУ имеет 16-ти разрядную
организацию, размер его у различных МК –
от 1 кБайт до 8 кБайт. Как записать туда
программу — рассмотрим в другой раз.


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

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

Вторые
определяют режимы работы МК и не
изменяются при стирании кристалла.
Количество их  разных МК — от
одного до двух десятков. Подробнее мы
их рассмотрим позже.

 

 

nikolaew.org