AVR семейство микроконтроллеров
8 ноября в 23:08
Публикации /
Семейство 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 и CH340, а его схема представлена ниже.
Такой преобразователь размещен на платах Arduino UNO и Aduino Nano.
Некоторые микроконтроллеры AVR имеют встроенный (аппаратный) USB:
- ATmega8U2;
- ATmega16U2;
- ATmega32U2.
Такое решение нашло применение для реализации связи компьютера и Arduino mega2560 по USB, в которой микроконтроллер «понимает» только UART.
Назначение ЦАП и АЦП микроконтроллеров AVR
Цифроаналоговыми преобразователями (ЦАП) называют устройства, преобразующие сигнал единиц и нолей (цифровой) в аналоговый (плавно изменяющийся). Главные характеристики – разрядность и частота дискретизации. В АЦП преобразуется аналоговый сигнал в цифровой вид.
Порты с поддержкой АЦП нужны для того, чтобы подключить к микроконтроллеру аналоговые датчики, например, резистивного типа.
ЦАП нашёл своё применение в цифровых фильтрах, где входной сигнал проходит программную обработку и вывод через ЦАП в аналоговом виде, ниже вы видите наглядные осциллограммы.
Нижний график – входной сигнал, средний – этот же сигнал, но обработанный аналоговым фильтром, а верхний – цифровой фильтр на микроконтроллере Tiny45.
Фильтр нужен для формирования нужного диапазона частот сигнала, а также для формирования сигнала определенной формы.
Схема осциллографа на микроконтроллере Atmega328
Пример использования АЦП – это осциллограф на микроконтроллере. К сожалению, частоты мобильных операторов и процессора ПК отследить не удастся, а вот частоты порядка 1 мГц – легко. Он станет отличным помощником при работе с импульсными блоками питания.
А здесь расположено подробное видео этого проекта, инструкции по сборке и советы от автора:
Для обучения молодых специалистов написаны горы литературы, давайте рассмотрим некоторые из них:
- Евстифеев А.В. «Микроконтроллеры AVR семейства Mega». В книге подробно рассмотрена архитектура микроконтроллера. Описано назначение всех регистров и таймеров, а также их режимы работы. Изучена работа интерфейсов связи с внешним миром SPI и т. д. Система команд раскрыта для понимания радиолюбителю среднего уровня. Материал книги «Микроконтроллеры avr семейства mega: руководство пользователя» поможет изучить структуру чипа и назначение каждого из его узлов, что, безусловно, важно для любого программиста микроконтроллеров.
- Белов А.В. – «Микроконтроллеры AVR в радиолюбительской практике». Как видно из названия, эта книга, в большей степени, посвящена практической стороне работы с микроконтроллерами. Подробно рассмотрен ставший классическим микроконтроллер ATiny2313, а также многие схемы для сборки.
- Хартов В.Я. «Микроконтроллеры AVR. Практикум для начинающих». Поможет разобраться в AVR studio 4, а также стартовом наборе STK Вы научитесь работать с последовательными и параллельными интерфейсами, такими как UART, I2C и SPI. Книга «Микроконтроллеры AVR. Практикум для начинающих» написана преподавателем МГТУ им. Н.Э.Баумана и используется там для изучения этой темы.
Изучение этого семейства микроконтроллеров помогло начать работать и разрабатывать проекты многим любителям электроники. Стоит начинать именно с популярного семейства, чтобы всегда иметь доступ к морю информации.
Среди радиолюбителей начального уровня есть только один конкурент AVR – PIC микроконтроллеры.
Источник: https://ArduinoPlus.ru/avr/
Семейства микроконтроллеров (Лекция) | Изучение элементов и систем автоматики, а также специального программного обеспечения
В начало
ПЛАН ЛЕКЦИИ
1. MCS-51 (Intel)
2. PIC (Microchip)
3. AVR (Atmel)
4. ARM (ARM Limited)
Микроконтроллеры объединяются в семейства.
К одному семейству относят изделия, имеющие одинаковое ядро – совокупность таких понятий, как система команд, циклограмма работы ЦП, организация памяти программ и памяти данных, система прерываний и базовый набор периферийных устройств.
Отличия между различными представителями одного семейства заключаются, в основном, в составе периферийных устройств и объеме памяти программ или данных. Наиболее важная особенность семейства – программная совместимость на уровне двоичного кода всех входящих него МК.
1. MCS-51 (Intel)
Intel 8051 – это однокристальный микроконтроллер (не путать с процессором) гарвардской архитектуры, который был впервые произведен Intel в 1980 году, для использования во встраиваемых системах. В течение 1980-ых и начале 1990-ых годов был чрезвычайно популярен.
Однако в настоящее время устарел и вытеснен более современными устройствами, с 8051-совместимыми ядрами, производимыми более чем 20 независимыми производителями, такими как Atmel, Maxim IC (дочерняя компания Dallas Semiconductor), NXP (ранее Philips Semiconductor), Winbond, Silicon Laboratories, Texas Instruments и Cypress Semiconductor.
Существует также советский клон данной микросхемы, КР1816ВЕ51. Официальное название 8051-семейства микроконтроллеров Intel – MCS-51.
2. PIC (Microchip)
PIC – микроконтроллеры Гарвардской архитектуры, производимые американской компанией Microchip Technology Inc. Название PIC является сокращением от Peripheral Interface Controller, что означает «периферийный интерфейсный контроллер».
В основу концепции PIC, единую для всех выпускаемых семейств, была положена RISC-архитектура (Reduced Instruction Set Computer – архитектура с сокращенным набором команд) с системой простых однословных команд, применение встроенной памяти программ и данных и малое энергопотребление.
В основе RISC-архитектуры лежат основополагающие принципы:
– любая операция выполняется за один такт;
– система команд должно содержать минимальное число инструкций одинаковой длины;
– операции обработки данных реализуются только в формате «регистр-регистр»;
– результаты должны формироваться со скоростью одно слово за такт.
В номенклатуре Microchip Technology Inc. представлен широкий спектр 8-и, 16-и и 32-битных микроконтроллеров и цифровых сигнальных контроллеров под маркой PIC. Отличительной особенностью PIC-контроллеров является хорошая преемственность различных семейств.
Это и программная совместимость (единая бесплатная среда разработки MPLAB IDE), и совместимость по выводам, по периферии, по напряжениям питания, по средствам разработки, по библиотекам и стекам наиболее популярных коммуникационных протоколов.
Номенклатура насчитывает более 500 различных контроллеров со всевозможными вариациями периферии, памяти, количеством выводов, производительностью, диапазонами питания и температуры и т. д.
3. AVR (Atmel)
Концепция новых скоростных микроконтроллеров была разработана группой разработчиков исследовательского центра ATMEL в Норвегии, инициалы которых затем сформировали марку AVR (Alf Bogen / Vergard Wollan / Risc architecture). Первые микроконтроллеры AVR AT90S1200 появились в середине 1997 г. и быстро снискали расположение потребителей.
AVR-архитектура, на основе которой построены микроконтроллеры семейства AT90S, объединяет мощный гарвардский RISC-процессор с раздельным доступом к памяти программ и данных, 32 регистра общего назначения, каждый из которых может работать как регистр- аккумулятор, и развитую систему команд фиксированной 16-бит длины. Большинство команд выполняются за один машинный такт с одновременным исполнением текущей и выборкой следующей команды, что обеспечивает производительность до 1 MIPS на каждый МГц тактовой частоты.
Достоинства:
– высокий показатель быстродействие/энергопотребление;
– удобные режимы программирования;
– широкая номенклатура;
– доступность программно-аппаратных средств поддержки;
– высокая нагрузочная способность выходов.
4. ARM (ARM Limited)
Архитектура ARM (Advanced RISC Machine, Acorn RISC Machine, усовершенствованная RISC-машина) – семейство лицензируемых 32-битных и 64-битных микропроцессорных ядер разработки компании ARM Limited. Компания занимается исключительно разработкой ядер и инструментов для них (компиляторы, средства отладки и т. п.), зарабатывая на лицензировании архитектуры сторонним производителям.
В 2007 году около 98 % из более чем миллиарда мобильных телефонов, продаваемых ежегодно, были оснащены по крайней мере одним процессором ARM. По состоянию на 2009 на процессоры ARM приходится до 90 % всех встроенных 32-разрядных процессоров.
Процессоры ARM широко используются в потребительской электронике – в том числе КПК, мобильных телефонах, цифровых носителях и плеерах, портативных игровых консолях, калькуляторах и компьютерных периферийных устройствах, таких как жесткие диски или маршрутизаторы.
Данные процессоры имеют низкое энергопотребление, поэтому находят широкое применение во встраиваемых системах и доминируют на рынке мобильных устройств, для которых важно низкое энергопотребление.
Среди лицензиатов: Analog Devices, Atmel, Xilinx, Altera, Cirrus Logic (англ.), Intel (до 27 июня 2006 года), Marvell (англ.), NXP, STMicroelectronics, Samsung, MediaTek, MStar, Qualcomm, Sony Ericsson, Texas Instruments, nVidia, Freescale, Миландр.
Источник: http://mc-plc.ru/lekcii-po-mk/semeystva-mikrokontrollerov.htm
Микроконтроллеры семейств AVR, MSP430, STM32 и мои субъективные впечатления
Здравствуйте, обитатели Хабра. В этой статье хочу поделится своими впечатлениями об опыте программирования микроконтроллеров семейств AVR, MSP430, STM32.
Введение
В бытность мою студентом занимался я прикладным программированием на Delphi и горя не знал, но и счастья не ведал. Пока как то раз не посетил меня на четвертом курсе предмет «Микропроцессорные контроллеры». Ну и пошло, поехало.
Семейство микроконтроллеров AVR
Предмет «Микропроцессорные контроллеры» как раз и был посвящен программированию микроконтроллеров на примере семейства AVR Atmega фирмы Atmel. Лабораторные работы по данному предмету заключались в программировании отладочных плат с Atmega16 на ассемблере данного семейства в программной среде avr studio 4.18.
Программа отлаживалась при помощи симулятора и зашивалась в микроконтроллер посредством встроенного в отладочную плату LPT-программатора на логике через программу ponyprog2000.
На этих лабораторных работах я и ознакомился с волшебным миром микроконтроллеров, что включало в себя «помигать светодиодом», обработать нажатие на кнопку, настроить аппаратный таймера на работу и обрабатывать генерируемые им прерывания, настроить UART и передать данные по нему и т.д.
Прекрасный новый мир открылся мне. Но потом все это немного заглохло до следующего курса, на котором нам программирование тех же самых плат происходило, но уже не на ассемблере, а на языке Pascal в среде E-LAB. Об этой среде мало кто знает, а зря. Ведь задолго до всяких там arduino, данная среда включала в себя много библиотек для внешних устройств простых в использовании. Не верите?
Посмотрите сами тут. Тут вам для E-LAB и JTAG-отладчики есть. Но во времена написания лабораторных работ JTAG-отладка доступна не была. Поэтому мы пользовались встроенным в E-LAB симулятором.
Как и тогда библиотеки E-LAB позволяет создавать проекты с ОСРВ, работающей по принципу Round-robin. Последние версии E-LAB поддерживают и кооперативную многозадачность.
В принципе с этих двух циклов лабораторных работ я и начал свое знакомство с микроконтроллерами и в частности семейством AVR. Что можно сказать теперь? AVR — самое популярное семейство микроконтроллеров в мире, я думаю.
Arduino-мания только укрепила это. Эти простые в освоении микроконтроллеры и сейчас остаются лучшим решением для первого знакомства.
Позволяют получить опыт создания создания простых приложений с использование интерфейсов SPI, I2C, UART. Понять работу портов ввода/вывода, подсистемы прерываний.
По сути, на данном семействе можно научится основам и делать малые и средние проекты. В последних версиях AVR Studio можно делать проекты на С.
А если взять в руки паяльник то можно себя обеспечить и программатором и JTAG-отладчиком.
Есть желание начать? Тут тоже много всего. Фирменные отладочные платы и программаторы от Atmel крайне дороги.
Главным недостатком AVR является слабое вычислительное ядро без вспомогательных математических блоков, причем восьмиразрядность усугубляет ситуацию. Т.е.
на сложные математические вычисления может уйти много времени. Микроконтроллер может не успевать обрабатывать собранную или принятую информацию.
Последний проект для Atmega16 Я делал на С в среде разработки IAR Embedded Workbench for Atmel AVR.
Семейство микроконтроллеров MSP430
После семейства AVR микроконтроллерый мир уже открыл мне часть своих тайн.
А тут подоспел и новый предмет, посвященный также программированию микроконтроллеров, но это было уже семейство MSP430 фирмы Texas Instruments, а именно микроконтроллер msp430f169 на отладочной плате с ziff-панелью и минимальной обвязкой. Разработка программы для него и отладка проходили в среде IAR Embedded Workbench for MSP430 при помощи JTAG-отладчика MSP-FET430UIF.
В первую очередь в этом семействе понравились примеры программ работы с внутренней периферией от производителя. Ну и с него берет моя подсадка на JTAG и IAR. Однажды попробовав JTAG-отладку не захочется возвращаться к разработке с просто программированием.
Ведь под JTAG-отладкой можно по шагам видеть, что происходит в регистрах в памяти и где сейчас идет выполнение кода, ставить точки останова. С этого времени я и на IAR подсел. Ведь это кроссплатформенный компилятор выпущенный под множество микроконтроллерных семейств.
Стоит один раз запомнить интерфейс и не надо каждый раз, при переходе на новое микроконтроллерное семейство, переучиваться. Это ли не чудо? Но затягивает.
Минус только в стоимости полной версии. Вообщем на этом семействе я и начал свою работу, как программист микроконтроллеров. И связка язык C (по сути кроссплатформенный ассемблер), кроссплатформенная среда разработки IAR и JTAG-отладка всегда были вместе со мной.
Семейство MSP430 в отличие от AVR шестнадцатиразрядное и более производительное за счет применения встроенного аппаратного умножителя.
Возможность использования режимов пониженного энергопотребления обеспечивает увеличение срока службы элементов питания, при применении в мобильных портативных устройствах. А микроконтроллеры MSP430F5419 и MSP430F5438, с которыми я работал, на частоте 25 МГц в плотную подтягиваются к ARM.
Так что они такие мощные середнячки. Если иметь фирменный JTAG-отладчик, IAR for MSP-430, нормальную отладочную плату, то работать с ними одно удовольствие.
Семейство микроконтроллеров STM32
Последним я познакомился с семейством STM32 фирмы STMicroelectronics. Архитектура ARM сама по себе является дверью ко многим семействам. Т.к. для множества этих микроконтроллеров разных фирм потребуется только один JTAG-отлдачик J-Link или его клон. А также если есть
в наличии среда разработки IAR Embedded Workbench for ARM, то двери открыты.
Плюсом в сторону семейства STM32 является наличие библиотеки встроенной периферии, которая позволяет быстро писать свои пользовательские библиотеки с минимальными трудозатратами, а также 32-разрядность ядра в отличии от AVR и MSP430. Линейка микроконтроллеров STM32 включает много вариантов их внутреннего наполнения встроенной периферией от чего варьируется и стоимость. Например, микроконтроллер STM32L152VBT6 на ядре Cortex-M3, как микроконтроллеры семейства MSP430, нацелен на низкое энергопотребление и работает на 32 МГц.
Другой микроконтроллер STM32F107VCT6 также на ядре Cortex-M3 подходит для большинства задач возлагаемый на данный класс устройств и имеет частоту 72 МГц. Тут сразу видно, что для «тяжелой» математики и обработки микроконтроллеры на ядре Cortex-M3 куда больше подходят, чем MSP430 и AVR.
Я работал и с «тяжеловесом» данного семейства STM32F407VGT6 на ядре Cortex-M4, частота которого доходит до 168 МГц. «Большой брат» идеально подошел для решения сложных математических задач. Кроме того он имеет аппаратный FPU для математики с плавающей точкой.
Для семейства STM32 разработана линейка плат DISCOVERY, которая позволяет получить плату со встроенным JTAG-отладчиком ST-Link, причем его можно использовать, чтобы программировать платы собственной разработки.
Результат их маркетинговой политики позволяет влиться в разработку микроконтроллеров с минимальными затратами, при этом имея фирменные платы и JTAG-отладчики от производителя.
Заключение
В заключении хочу сказать. Что у всех рассмотренных семейств есть свои плюсы. Со всеми связаны теплые воспоминания.
Источник: http://www.pvsm.ru/msp430/59108
Обзор микроконтроллеров AVR
AVR — семейство восьмибитных микроконтроллеров компании Atmel. Год разработки — 1996.
Содержание
История создания архитектуры AVR
Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма (Trondheim) — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen).
В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром.
Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.
Новое ядро было запатентовано и получило название AVR. Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это Advanced Virtual RISC, другие полагают, что не обошлось здесь без Alf Egil Bogen Vegard Wollan RISC.
Описание архитектуры
Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:
- три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31);
- некоторые команды работают только с регистрами r16..r31;
- результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.
Система команд
Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций. Большинство команд занимает только 1 ячейку памяти (16 бит). Большинство команд выполняется за 1 такт.
Всё множество команд микроконтроллеров AVR можно разбить на несколько групп:
- команды логических операций;
- команды арифметических операций и команды сдвига;
- команды операции с битами;
- команды пересылки данных;
- команды передачи управления;
- команды управления системой.
Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN/OUT.
Семейства микроконтроллеров
Стандартные семейства:
- tinyAVR:
- флеш-память 16 Кб, SRAM 512 б, EEPROM 512 б;
- число линий ввод-вывода 4-18 (общее количество выводов 6-32);
- ограниченный набор периферийных устройств;
- megaAVR:
- флеш-память 256 Кб, SRAM 8 Кб, EEPROM 4 Кб;
- число линий ввода-вывода 23-86 (общее количество выводов 20-100);
- аппаратный умножитель;
- расширенная система команд и периферийных устройств;
- XMEGA AVR:
- флеш-память 384 Кб, SRAM 32 Кб, EEPROM 4 Кб;
- четырёхканальный DMA-контроллер;
- Инновационная система обработки событий.
Примечание: здесь приведены максимальные значения объёмов памяти.
На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные приложения:
- со встроенными интерфейсами USB, CAN, контроллером LCD;
- со встроенным радиоприёмо-передатчиком — серии ATAхxxx, ATAMxxx;
- для управления электродвигателями — серия AT90PWMxxxx;
- для автомобильной электроники;
- для осветительной техники.
Версии контроллеров
ATmega/tinyXXXБазовая версия.ATXXXLВерсии контроллеров, работающих на пониженном (Low) напряжении питания, обычно 1,8 или 2,7 В.ATXXXPМалопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007), повыводно и функционально совместимы с предыдущими версиями.
ATXXXAУменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями).
Микроконтроллеры «А» и «не-А» с точки зрения программатора ничем не отличаются.АТmegaXXX-PIКорпус DIP.АТmegaXXX-PUКорпус DIP, бессвинцовый (Pb-free) припой.АТmegaXXX-AIКорпус TQFP.АТmegaXXX-AUКорпус TQFP, бессвинцовый (Pb-free) припой.
Цифры 8/10/16/20 перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания.
Устройства ввода/вывода МК
МК AVR имеют развитую периферию:
- многофункциональные, двунаправленные GPIO порты ввода/вывода со встроенными подтягивающими резисторами. Конфигурация портов в/в задаётся программно;
- в качестве источника тактовых импульсов может быть выбран:
- кварцевый резонатор;
- внешний тактовый сигнал;
- внутренний RC-генератор (частота 1, 2, 4, 8 МГц);
- внутренняя флеш-память команд до 256 KБ (не менее 10 000 циклов перезаписи);
- отладка программ осуществляется с помощью интерфейсов JTAG или debugWIRE:
- сигналы JTAG (TMS, TDI, TDO, и TCK) мультиплексированы на порт ввода/вывода. Режим работы — JTAG или порт — задаётся соответствующим битом в регистре fuses. МК AVR поставляются с включённым интерфейсом JTAG;
- внутренняя EEPROM данных до 4 КБ (100 000 циклов);
- внутренняя SRAM до 8 KБ время доступа 1 такт;
- внешняя память объёмом до 64 КБ (Mega8515 и Mega162);
- таймеры c разрядностью 8, 16 бит;
- ШИМ-модулятор (PWM) 8-, 9-, 10-, 16-битный;
- аналоговые компараторы;
- АЦП (ADC) с дифференциальными входами, разрядность 10 бит (12 для XMEGA AVR):
- программируемый коэффициент усиления перед АЦП 1, 10 и 200;
- опорное напряжение 2,56 В;
- различные последовательные интерфейсы, включая:
- двухпроводной интерфейс TWI, совместимый с I²C;
- универсальный синхронно/асинхронный приёмопередатчик UART/USART;
- синхронный последовательный порт Serial Peripheral Interface (SPI);
- USB серия AT90USBxxxx;
- CAN серия AT90CANxxx;
- LCD серии ATmega169 и ATmega329;
- Датчики температуры ATtiny25, ATtiny45, ATtiny85;
Примечание: не все периферийные устройства могут быть включены программно. Бит в регистре fuses может быть изменён только программатором.
AVR-GCCПорт GCC (компилятор) для AVR. Есть возможность интеграции с AVR Studio и Eclipse (AVR Eclipse Plugin).SimulAVRСимулятор ядра микроконтроллера AVRKontrollerLabIDE + работа с RS-232 + отладчик.Code::BlocksIDE.AVR-GDBПорт GDB (отладчик) для AVR.DDDГрафический интерфейс к avr-gdb.WinAVRКомплект разработки, включающий в себя: Programmers Notepad — программистский блокнот, компиляторный комплект AVR-GCC , avrdude для прошивки и avr-gdb для отладки (раздел на RadioProg.RU).AvrdudeПопулярное средство для прошивки микроконтроллеров.V-USBПрограммная реализация протокола USB для микроконтроллеров AVR.Загрузчики (bootloader) для микроконтроллеров AVRТехнология, позволяющая использовать стандартные интерфейсы (RS-232, CAN, USB, I2C и проч.) для загрузки программы в кристалл AVR.PonyProgУниверсальный программатор, подключение через COM-порт, LPT-порт (подерживается и USB эмулятор COM-порта) поддерживает МК AVR, PIC и др.AVR StudioIDE + ассемблер + отладчик. Freeware.CodeVisionAVRКомпилятор C и программатор — CVAVR + генератор начального кода.ICC AVRКомпилятор C + генератор начального кода.AtmanAvrКомпилятор C + отладчик + генератор начального кода.IAR AVRIDE C/C++. сайт разработчика.VMLABСимулятор AVR.ProteusМощнейший симулятор электрических цепей, компонентов, включая различные МК и др. периферийное оборудование.Bascom AVRКомпилятор Basic + отладчик + программатор.E-LAB AVRcoКомпилятор Pascal.MikroEМожество компиляторов для разных языков.Algorithm BuilderВизуальная среда разработки программ для AVR в виде блок-схем включает также эмулятор и программатор. Используемый язык программирования — псевдоассемблер. Freeware.ForthInc Forth-CompilerКомпилятор языка Forth.MPE Forth-CompilerКомпилятор языка Forth.AVRealПрограмматор, подключение LPT (практически любой адаптер, в том числе совместим с программатором в CodeVisionAVR) либо USB (адаптеры на основе FT2232C/L/D, FT2232H, FT4232H). Freeware.
Также архитектура AVR позволяет применять операционные системы при разработке приложений, например FreeRTOS, uOS, scmRTOS, ChibiOS/RT, AvrX (ядро реального времени).
Источники:
Источник: https://radioprog.ru/post/5
Микроконтроллеры AVR для начинающих – 1
Микроконтроллеры (далее МК) прочно вошли в нашу жизнь, на просторах интернета можно встретить очень много интересных схем, которые исполнены на МК. Чего только нельзя собрать на МК: различные индикаторы, вольтметры, приборы для дома (устройства защиты, коммутации, термометры…), металлоискатели, разные игрушки, роботы и т.д.
перечислять можно очень долго. Первую схему на микроконтроллере я увидел лет 5-6 назад в журнале радио, и практически сразу же перелистнул страницу, подумав про себя “все равно не смогу собрать”.
Действительно, в то время МК для меня были чем то очень сложным и непонятым устройством, я не представлял как они работают, как их прошивать, и что делать с ними в случае неправильной прошивки.
Но около года назад, я впервые собрал свою первую схему на МК, это была схема цифрового вольтметра на 7 сегментных индикаторах, и микроконтроллере ATmega8. Так получилось, что микроконтроллер я купил случайно, когда стоял в отделе радиодеталей, парень передо мной покупал МК, и я тоже решил купить, и попробовать собрать что-нибудь.
В своих статьях я расскажу вам про микроконтроллеры AVR фирмы ATMEL, научу вас работать с ними, рассмотрим программы для прошивки, изготовим простой и надежный программатор, рассмотрим процесс прошивки и самое главное проблемы, которые могут возникнуть и не только у новичков.
Основные параметры некоторых микроконтроллеров семейства AVR:
Микроконтроллер | Память FLASH | Память ОЗУ | Память EEPROM | Порты ввода/вывода | U питания | Частота |
ATmega48 | 4 | 512 | 256 | 23 | 2,7-5,5 | 0-10-20 |
ATmega48V | 4 | 512 | 256 | 23 | 1,8-4,8-5,5 | 0-4-10 |
ATmega8515 | 8 | 512 | 512 | 35 | 4,5-5,5 | 0-16 |
ATmega8515L | 8 | 512 | 512 | 35 | 2,7-5,5 | 0-8 |
ATmega8535 | 8 | 512 | 512 | 32 | 4,5-5,5 | 0-16 |
ATmega8535L | 8 | 512 | 512 | 32 | 2,7-5,5 | 0-8 |
ATmega8 | 8 | 1K | 512 | 23 | 4,5-5,5 | 0-16 |
ATmega8L | 8 | 1K | 512 | 23 | 2,7-5,5 | 0-8 |
ATmega88 | 8 | 1K | 512 | 23 | 2,7-5,5 | 0-10-20 |
ATmega88V | 8 | 1K | 512 | 23 | 4,5-5,5 | 0-4-10 |
ATmega16 | 16 | 1K | 512 | 32 | 4,5-5,5 | 0-16 |
ATmega16L | 16 | 1K | 512 | 32 | 2,7-5,5 | 0-8 |
ATmega32 | 32 | 2K | 1K | 32 | 4,0-5,5 | 0-16 |
ATmega32L | 32 | 2K | 1K | 32 | 2,7-5,5 | 0-8 |
Дополнительные параметры МК AVR mega:
Рабочая температура: -55…+125*С Температура хранения: -65…+150*С Напряжение на выводе RESET относительно GND: max 13В Максимальное напряжение питания: 6.0В Максимальный ток линии ввода/вывода: 40мА
Максимальный ток по линии питания VCC и GND: 200мА
Расположение выводов моделей ATmega 8X
Расположение выводов моделей ATmega48x, 88x, 168x
Расположение выводов у моделей ATmega8515x
Расположение выводов у моделей ATmega8535x
Расположение выводов у моделей ATmega16, 32x
Расположение выводов у моделей ATtiny2313
В конце статьи прикреплён архив с даташитами на некоторые микроконтроллеры
Установочные FUSE биты MK AVR
BODEN | BODLEVEL | BOOTRST | BOOTSZ0 | BOOTSZ1 | CKSEL0 | CKSEL1 | SPIEN |
CKSEL2 | CKSEL3 | EESAVE | FSTRT | INCAP | RCEN | RSTDISBL | SUT0 |
SUT1 |
Запомните, запрограммированный фьюз – это 0, не запрограммированный – 1. Осторожно стоит относиться к выставлению фьюзов, ошибочно запрограммированный фьюз может заблокировать микроконтроллер. Если вы не уверены какой именно фьюз нужно запрограммировать, лучше на первый раз прошейте МК без фьюзов.
Самыми популярными микроконтроллерами у радиолюбителей являются ATmega8, затем идут ATmega48, 16, 32, ATtiny2313 и другие. Микроконтроллеры продаются в TQFP корпусах и DIP, новичкам рекомендую покупать в DIP.
Если купите TQFP, будет проблематичнее их прошить, придется купить или изготовить переходник и паять плату т.к. у них ножки располагаются очень близко друг от друга.
Советую микроконтроллеры в DIP корпусах, ставить на специальные панельки, это удобно и практично, не придется выпаивать МК если приспичит перепрошить, или использовать его для другой конструкции.
Почти все современные МК имеют возможность внутрисхемного программирования ISP, т.е. если ваш микроконтроллер запаян на плату, то для того чтобы сменить прошивку нам не придется выпаивать его с платы.
Для программирования используется 6 выводов:
RESET – Вход МК
VCC – Плюс питания, 3-5В, зависит от МК
GND – Общий провод, минус питания.
MOSI – Вход МК (информационный сигнал в МК)
MISO – Выход МК (информационный сигнал из МК)
SCK – Вход МК (тактовый сигнал в МК)
Иногда еще используют вывода XTAL 1 и XTAL2, на эти вывода цепляется кварц, если МК будет работать от внешнего генератора, в ATmega 64 и 128 вывода MOSI и MISO не применяются для ISP программирования, вместо них вывода MOSI подключают к ножке PE0, a MISO к PE1. При соединении микроконтроллера с программатором, соединяющие провода должны быть как можно короче, а кабель идущий от программатора на порт LPT так-же не должен быть слишком длинным.
В маркировке микроконтроллера могут присутствовать непонятные буквы с цифрами, например Atmega 8L 16PU, 8 16AU, 8A PU и пр. Буква L означает, что МК работает от более низкого напряжения, чем МК без буквы L, обычно это 2.7В.
Цифры после дефиса или пробела 16PU или 8AU говорят о внутренней частоте генератора, который есть в МК.
Если фьюзы выставлены на работу от внешнего кварца, кварц должен быть установлен на частоту, не превышающей максимальную по даташиту, это 20МГц для ATmega48/88/168, и 16МГц для остальных атмег.
Первые цифры в названии микроконтроллера обозначают объем FLASH ПЗУ в килобайтах, например ATtiny15 – 1 Кб, ATtiny26 – 2 Кб, AT90S4414 – 4 Кб, Atmega8535 – 8 Кб, ATmega162 – 16Кб, ATmega32 – 32 Кб, ATmega6450 – 64Кб, Atmega128 – 128Кб.
Иногда встречаются схемы, где применены микроконтроллеры с названиями типа AT90S… это старые модели микроконтроллеров, некоторые из них можно заменить на современные, например:
AT90S4433 – ATmega8 AT90S8515 – ATmega8515 AT90S8535 – ATmega8535 AT90S2313 – ATtiny2313 ATmega163 – ATmega16 ATmega161 – ATmega162 ATmega323 – ATmega32
ATmega103 – ATmega64/128
ATmega 8 имеет несколько выводов питания, цифровое – VCC, GND и аналоговое – AVCC, GND. В стандартном включении обе пары выводов соединяют параллельно, т.е. вместе.
Микроконтроллеры AVR не любят повышенного напряжения, если питание выше 6 вольт, то они могут выйти из строя. Я обычно применяю маломощный стабилизатор напряжения на 5 вольт, КР142ЕН5 или 78L05.
Если напряжение питания слишком низкое, то МК не прошьется, программа будет ругаться и выдавать ошибки (к примеру -24 в PonyProg).
На этом закончим, пока можете выбрать в интернете понравившуюся схему и изучить ее, можете заодно сходить и купить нужный микроконтроллер. В следующих частях статьи мы будем собирать простой и надежный программатор, познакомимся с программами для прошивания и попробуем прошить МК.
Даташит ATmega8
Даташит ATmega16
Даташит ATmega32
Даташит ATmega48/88/168
Даташит ATmega128
Даташит ATmega8515
Даташит ATmega8535
Даташит ATtiny2313
Источник: http://cxem.net/beginner/beginner73.php
Радиотехнический сайт RADIOTRACT
ИнформацияМикроконтроллерыМикроконтроллеры фирмы Atmel
Здесь представлена информация по микроконтроллерам фирмы Atmel, в основном по микроконтроллерам AVR. Представлены для свободного скачивания книги и справочники. Вы можете здесь же заказать бумажный вариант книги.
- Микроконтроллеры AVR: от простого к сложному – М. С. Голубцов 2003г. (2522 Кб) Прочитав эту книгу, читатели познакомятся с микроконтроллерами семейства AVR, программным обеспечением, необходимым для конструирования и программирования схем на основе этих микроконтроллеров, а при желании познакомятся с их применением на практике, собрав какую-либо из описанных в книге практических конструкций.
В книге есть опечатка: на странице 113 и 147 у вывода Е элемента D1.2 номер не 9, как напечатано, а 19.
- Применение микроконтроллеров AVR: схемы, алгоритмы, программы – В. Н. Баранов 2004г. (3073 Кб)
- Микроконтроллеры AVR семейств Tiny и Mega фирмы “Atmel” – А. В. Евстифеев 2004г. том 1 (5100 Кб)
- Микроконтроллеры AVR семейств Tiny и Mega фирмы “Atmel” – А. В. Евстифеев 2004г. том 2 (2865 Кб)
- Микроконтроллеры семейства AVR фирмы Atmel. Гребнев В. В., 2002г. – 3826 Кб Книга предназначена для разработчиков аппаратуры различного назначения, содержащей встроенные однокристальные микро-ЭВМ-микроконтроллеры. В книге рассматриваются структура, система команд, периферийные устройства и работа микроконтроллеров, выпускаемых фирмой Atmel и поступающих в продажу по состоянию на конец 2001 г.
Изложенный материал позволяет выбрать микроконтроллер определенного типа, разработать функциональную схему устройства, содержащего микроконтроллер, и программу работы микроконтроллера на языке AVR Ассемблера фирмы Atmel.
- Микроконтроллеры AVR. Вводный курс. Мортон Д., 2006г. – 2201 Кб Данное издание представляет собой практическое руководство, с помощью которого вы сможете изучить, а впоследствии и использовать микроконтроллеры AVR компании Atmel. Неважно, студент ли вы, собирающийся использовать микроконтроллер AVR в своем проекте или же опытный разработчик встраиваемых систем, впервые столкнувщийся с AVR, — если вам нужно быстро разобраться в этих популярных микроконтроллерах, то эта книга для вас. Для демонстрации различных возможностей AVR Джон Мортон использует простые устройства и программы. В отличие от книг, в которых излагается голая теория либо просто воспроизводится фирменная техническая документация, такой подход (обучение в процессе использования) предлагает быстрое и интуитивное изучение возможностей микроконтроллеров AVR. В общей сложности, в книге рассмотрены 16 проектов, охватывающих все наиболее популярные микроконтроллеры AVR, включая модели семейства Tiny.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов и радиолюбителей.
- Создаём устройства на микроконтроллерах. Белов А.В., 2007г. – 3870 Кб Данная книга представляет собой практическое пособие по разработке электронных схем с применением микроконтроллеров и управляющих программ к ним. Год выпуска: 2007 Издательство: Наука и Техника Серия: Радиолюбитель ISBN: 978-5-94387-364-3 Формат: DjVu Качество: Отсканированные страницы
Количество страниц: 307
- Микроконтроллер AVR в радиолюбительской практике. А. В. Белов, 2007г. – 5691 КбДанная книга представляет собой справочник, в котором представлено полное и подробное описание одной конкретной микросхемы – микроконтроллера ATiny2313 семейства AVR фирмы Atmel. Описание построено на основе оригинальной технической документации на микросхему и содержит описание всех регистров, всех видов памяти и всех внутренних систем микроконтроллера.
Имеется и практический раздел для радиолюбителей. Книга содержит описание нескольких практических схем, выполненных с применением данного микроконтроллера. Каждая схема снабжена подробным описанием и примером управляющей программы. Программы приведены в двух вариантах: на Ассемблере и языке СИ. Все программы также подробно описаны.
- Микроконтроллеры AVR семейства Classic фирмы ATMEL. Евстифеев А.В., 2006г. – 1303 КбКнига является справочным изданием по применению микроконтроллеров AVR семейства Classic фирмы “ATMEL”. Рассмотрена архитектура, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
- Микроконтроллеры AVR семейства Mega. Руководство пользователя. А. Евстифеев, 2007г. – 10176 КбКнига представляет собой справочное руководство по однокристальным микроконтроллерам AVR семейства Mega фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей.
Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
- Микропроцессорные устройства систем управления. Иванов. Ю. И., 2005г. – 3256 Кб
Учебное пособие предназначено для студентов, обучающихся по направлению 657900 “Автоматизированные технологии и производства”, и содержит сведения, необходимые при изучении курсов “Микропроцессорная техника в системах управления”, “Электронные устройства автоматики”, “Технические средства автоматизации”, “Технологические процессы и производства”. В учебном пособии рассмотрены вопросы организации работы микропроцессорных средств, функциональные возможности и характеристики аппаратных средств микроконтроллеров, особенности программирования на ассемблере, приведены примеры программ для выполнения типовых функций, даны краткие рекомендации по технической реализации алгоритмов управления. - 10 практических устройств на AVR-микроконтроллерах. Кравченко А.В., 2008г. – 7496 Кб
Данная книга открывает серию сборников с практическими примерами применения микроконтроллеров. В ней рассмотрены десять завершенных устройств на базе микроконтроллеров AVR, которые можно легко собрать в домашних условиях и применять в быту или профессиональной деятельности: генератор световых эффектов, счетчик событий, музыкальный звонок, индикатор уровня звука, повышающий преобразователь, схема управления шаговым двигателем, цифровой термометр и др. Благодаря подробному анализу аппаратной и программной части устройств, книга будет интересна и полезна как начинающим, так и опытным радиолюбителям, желающим изучить методы эффективного применения микроконтроллеров. - AVR-RISC микроконтроллеры. Архитектура, аппаратные ресурсы, система команд, программирование, применение. Трамперт В., 2006г. – 13862 Кб
В книге “AVR-RISC Микроконтроллеры. Архитектура, аппаратные ресурсы, система команд, программирование, применение” дано исчерпывающее описание базовой серии микроконтроллеров семейства АVR от компании Аtmеl, построенных на базе прогрессивной архитектуры RISC с применением программируемой флэш-памяти ЕРROМ. Кроме того, подробно рассматривается программирование микроконтроллеров данной серии на языке ассемблера, а также среда отладки АVR-Studio и программно-аппаратный набор SТК200. Книга предназначена для всех, кто уже обладает основными познаниями в области построения и функционирования микрокомпьютеров, желает изучить однокристальные микроконтроллеры АVR и успешно претворять в жизнь задачи внутриплатного управления. - Измерение, управление и регулирование с помощью AVR-микроконтроллеров. Трамперт В. – 2565 Кб
Книга описывает особенности применения AVR-микроконтроллеров в технике измерения, управления и регулирования. При этом основной акцент поставлен на измерении напряжения, выводе и отображении результатов измерений, а также на регулировании аналоговых напряжений. Изложенный материал дает возможность поэтапно проследить весь процесс разработки устройства, понять, почему программное и аппаратное обеспечение скомпоновано именно таким, а не каким-либо другим образом, и суметь в случае необходимости выполнить самостоятельную разработку. - Продолжение следует.
Источник: https://radiotract.ru/info_mc_avr.html
AVR микроконтроллеры. Основы программирования
Что у AVR микроконтроллера внутри?
Как уже было сказано в предисловии, микроконтроллеры AVR имеют гарвардскую архитектуру (главная характеристика такой архитектуры является то что память программ и оперативная память, как и шины доступа к ним, разделены для повышения скорости выполнения команд : пока одна команда выполняется, следующая извлекается из памяти программ) с RISC процессором, с быстродействием в 1.0 MIPS. Во всех микроконтроллерах, независимо от их модели и компоновки, одно и тоже центральное процессорное устройство (процессор/ядро). Единое ядро, делает написанную на любом языке программу более универсальной и при желании можно заменить в любом из проектов, скажем, более дорогой контроллер на другой по дешевле, с минимальными изменениями в коде.
RISC (Reduced Instruction Set Computer) – процессор с набором простых ассемблерных команд (прибавить, отнять, сдвиг влево/вправо, “логическое И”, и т.д.
), все команды имеют фиксированную длину, в составе процессора находятся большое количество регистров общего назначения, и т.д.
Чтобы, к примеру, расчитать какое-нибудь среднее математическое уровнение, процессору придется выполнить несколько простых ассемблерных команд, в отличии от CISC-процессора у которого есть команды “на все случаи жизни”.
Но у AVR не совсем RISC-процессор, поскольку не все ассемблерные команды имеют фиксированный формат. Большинство имеют 16-разрядный формат, остальные 32-разрядные. Это означает что каждая команда занимает в памяти программ 16 или 32 бита. Кстати, нефиксированная длина ассемблерных команд и делает его процессор: Advanced Virtual RISC-процессором (AVR).
MIPS (Million Instructions Per Second) – AVR микроконтроллеры способны выполнять (приблизительно) миллион команд на частоте 1.0 МГц, или проще говоря, большинство ассемблерных команд выполняются за один период тактирующего сигнала.
Мозгами AVR микроконтроллера является его центральное процессорное устройство (процессор/ядро).
Некоторые составляющие процессора :
Арифметико-логическое устройство (Arithmetic Logic Unit)
Счетчик команд (Program counter)
Указатель стека (Stack Pointer)
- Регистр состояния (Status Register)
- Память программ (Flash Program memory)
- Память данных (Data memory)
Регистры общего назначения (General Purpose Registers)
Регистры периферийных устройств (I/O Registers)
Оперативная память (SRAM memory)
Система тактирования (Clock System). Данную систему можно сравнить с сердечно-сосудистой системой
Модуль обработки прерываний (Interrupt Unit)
Периферийные устройства, перечислю некоторые из них :
Порты ввода/вывода
EEPROM память
USB (только в xMega), USART, I2C, SPI, JTAG интерфейсы
Сторожевой таймер, Таймер/Счетчик (с функцией ШИМ генератора, захвата/сравнения и т.д.)
АЦП, ЦАП (только в xMega), Аналоговый компаратор
Модули внешнего прерывания (External Interrupts)
Набор периферийных устройств в различных семействах (Tiny, Mega и xMega) и различных микроконтроллеров данных семейств отличается. Есть микроконтроллеры набитые “по самое немагу” различными периферийными устройствами, но также, для разработок критичных к стоимости, имеются и микроконтроллеры с малым (нужным) набором периферии.
Одним из плюсов AVR микроконтроллеров является возможность использования периферийных устройств в различных совместных режимах работы, что очень часто упрощает задачу разработчика. Также в AVR встроенна система сброса и отслеживания уровня питаниющего напряжения (System Control and Reset), обеспечивающая нормальный старт микроконтроллера и в случае необходимости, надежное завершение работы.
Регистры управления/состояния периферийных устройств находятся в области памяти данных (Data memory), между регистрами общего назначения и оперативной памятью, что обеспечивает высокое быстродействие в работе с периферией. Разработчик, естественно, имеет полный доступ к данным регистрам (I/O Registers).
Что необходимо чтобы заработал микроконтроллер?
Здесь вырисовываются два базовых направления :
- написать программу (запрограммировать). Для того чтобы написать программу/алгоритм по которому будет действовать микроконтроллер вам понадобится интегрированная среда разработки для AVR микроконтроллеров, в состав которой входит редактор кода/текста, компилятор, компоновщик (linker) и пр. утилиты.
- схемотехника.
Одной лишь программы недостаточно чтобы микроконтроллер заработал, ему также требуется минимальный обвес (набор внешних электронных устройств), для обеспечения микроконтроллера напряжением питания и тактирующим сигналом, чтобы как минимум заработало ядро микроконтроллера.
На следующем рисунке показан “классический” обвес микроконтроллера, необходимый для нормальной работы.
На рисунке приведены минимальные схемотехнические требования к микроконтроллеру ATmega16. При данной схеме включения, начинает работать ядро AVR микроконтроллера, можно использовать все порты ввода/вывода и пр. периферийные устройства. Короче говоря микроконтроллер находится в полной боевой готовности.
Чтобы, например, начать использовать АЦП или Аналоговый компаратор следует, для начало, программно настроить периферийное устройство при помощи его регистров управления/контроля, для установки нужного вам режима работы и т.п.
, а дальше подать исследуемые сигналы на входы соответствующего периферийного устройства.
– Кварц и конденсаторы C1,C2 (по 22пФ) обеспечивают микроконтроллер и все его периферийные устройства качественным тактирующим сигналом (максимальная частота – 16.0МГц).
Резистор R1 (10К), обеспечивает высокий уровень на входе RESET, необходимый для стабильной работы микроконтроллера. Если, во время работы микроконтроллера, напряжение на этом пине упадет ниже определенного уровня, то произойдет сброс микроконтроллера и возможно нарушение работы задуманного алгоритма.
– ISP connector используется для внутрисхемного программирования, тоесть необходим для записи написанной вами программы в память микроконтроллера прямо на плате (не вынимая микроконтроллер из устройства).
– Дроссель L1 и конденсаторы C3,C4 обеспечивают напряжением питания аналоговые периферийные устройства а также некоторые регистры портов ввода/вывода. Если у микроконтроллера отсутствует аналоговая часть, соответственно, отсутствуют и пины аналогового питания, как результат – данные компоненты не нужны.
– Конденсатор C5 обеспечивает развязку межды пином питания и землей микроконтроллера. Земли микроконтроллера следует соединить вместе (GND и AGND).
Это, так сказать, классическое подключение микроконтроллера, в реальности, конечно-же все это может немного отличаться…
Ну, и это еще не все: чтобы микроконтроллер заработал в него необходимо “засунуть” программу. Сделать это можно только лишь при помощи программатора.
Программатор это устройство для записи откомпилированной программы (прошивки) в память микроконтроллера.
Самый часто-используемый метод записи прошивки в память микроконтроллера является метод ISP (In-System Programming), для чего и нужен ISP connector.
Также весьма популярными методами записи прошивки в память микроконтроллера являются HVP (High-Voltage Programming) и запись прошивки через JTAG-интерфейс.
Как видно из приведенного рисунка, чтобы запустить AVR микроконтроллер требуется?
* во первых: подать напряжение питания (плюс развязывающий конденсатор – на всякий случай-хуже не будет)
* во вторых – удерживать “высокий уровень” на пине RESET (при помощи подтягивающего резистора), чтобы избежать спонтанных сбросов микроконтроллера.
В общем-то даже такая упрощенная схема включения микроконтроллера вполне работоспособна, но она далека от идеала: последствия такой упрощенной обвязки микроконтроллера следующие : во первых, поскольку микроконтроллер был лишен внешнего тактирования, ему следует указать что тактирование будет происходить от внутреннего RC-генератора, установив соответствующие фьюз биты (своего рода предельные эксплуатационные параметры микроконтроллера). Максимальная частота внутреннего генератора равна 8.0 МГц, а это означает что микроконтроллер не сможет работать на своей максимальной частоте (производительности). Во вторых- аналоговая часть микроконтроллера (а также некоторые регистры портов ввода/вывода), лишены источника питания, что исключает их использование.
В третьих- отсутствует разъем для внутрисхемного программирования, поэтому чтобы записать прошивку в память микроконтроллера придется вынимать его из устройства, где-то производить запись, после чего возвращать его на место. Как вы сами понимаете это не очень удобно (вынимать/вставлять, припаивать/отпаивать), и может привести к повреждению как самого микроконтроллера (могут поломаться ножки, перегреться от пайки и т.п.), так и близлежащих устройств – разъем, дорожки на плате и т.п.
Источник: http://easymcu.ru
Источник: http://radio-uchebnik.ru/txt/15-avr-mikrokontrollery/110-stroenie-i-kharakteristiki-avr-mikrokontrollerov