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

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

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

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

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

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

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

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

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

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

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

  1. A dvanced V irtual R ISC;
  2. A lf Egil Bogen V egard Wollan R ISC, в честь создателей - Альфа и Вегарда.

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

  • 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 и других.

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

Строение и основные характеристики AVR микроконтроллеров

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

Что такое Tiny, Mega?

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

  • ATtiny – семейство AVR микроконтроллеров оптимизированных для приложений, требующих относительно большой производительности (до 1.0 MIPS и способны работать на частотах до 20.0 МГц), энергоэффективности (ATtiny единственное семейство способное работать от 0,7В напряжения питания!) и компактности (есть микроконтроллеры в SOT23-6 корпусе – всего 6 пин, и при этом каждый пин обладает несколькими функциями, к примеру: порт ввода/вывода, вход АЦП, вывод ШИМ и т.д.). Отсюда вырисовывается и область их применения: устройства критичные к цене, энергопотреблению, габаритам и т.д.
  • ATmega – семейство AVR микроконтроллеров предназначенных для использования в самых разнообразных областях, благодаря очень большому набору периферийных устройств, большому объему памяти программ, портов ввода/вывода и пр. Одним словом – есть где развернутся.
  • ATxmega – новое семейство AVR микроконтроллеров с еще большим набором периферийных устройств чем у ATmega (добавилось устройство прямого доступа к памяти, ЦАП, CRC-модуль, полноценный USB интерфейс, более быстрый АЦП и др.), с рабочими частотами до 32.0МГц.

Стоит отметить главную особенность всех вышеперечисленных устройств: все они имеют единую архитектуру, и это позволяет с легкостью переносить код с одного микроконтроллера на другой.
Выпускаются микроконтроллеры как в DIP, так и SMD упаковках (каждая со своими плюсами и минусами).

Самые популярными упаковочными корпусами являются:

  • DIP (Dual Inline Package) - корпус с двумя рядами контактов
  • QFP (Quad Flat Package) - плоский корпус с четырьмя рядами контактов
  • SOIC (Small-Outline Integrated Circuit) – малогабаритные (малая площадь) интегральные схемы

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

Питание и тактирование AVR микроконтроллеров

AVR микроконтроллеры построены по технологии КМОП (CMOS), что обеспечивает очень малое энергопотребление. Практически, энергопотребление линейно и прямо пропорционально зависит от рабочей частоты (чем выше частота – тем выше энергопотребление).



Напряжение питания для AVR микроконтроллеров находится в диапазоне от 2.7 до 5.5В (6.0В – максимум, хотя у меня AVR’ка как-то работала и при 7В – и ничего, жива и по сей день). Это означает что AVR может напрямую управлять, обмениваться данными и т.д. с различными устройствами (как 3.3В-толерантными так и 5В-толерантными) без необходимости применять какие-либо преобразователи логических уровней. Для более точной обработки аналоговых сигналов, в AVR предусмотренно отдельные выводы для питания аналоговой части микроконтроллера, в которую входят такие устройства как АЦП, ЦАП, Аналоговый компаратор. В добавок, AVR микроконтроллеры обладают несколькими "спящими режимами” (Sleep modes), для обеспечения наилучшего энергосбережения.

Также каждый пин микроконтроллера (в зависимости от рабочей частоты и напряжения питания) может питать внешние устройства током до 40.0 мА (максимум!), но всего из микроконтроллера можно "закачать/выкачать” до 200.0 мА (максимум!).

Диапазон частот тактирующих сигналов отличается в зависимости от "семейного старшинства” (ATtiny является самым младшим семейством AVR микроконтроллеров, а ATxMega самым старшим). У некоторых представителей, в особенности ATtiny семейства, рабочая частота может достигать 20.0МГц, у ATmega она не превышает 16.0МГц, а у ATxMega она не превышает 32.0МГц. Также в каждом AVR микроконтроллере есть внутрений RC-генератор до 8.0МГц, что позволяет обойтись без внешнего источника тактирующего сигнала.

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

Ниже в качестве примера приведена таблица из даташита на микроконтроллер ATtiny13 . В столбце "Ordering Code” видны различия между кодировками и не трудно догадаться с чем они связаны.



Что у 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 обеспечивают напряжением питания аналоговые периферийные устройства а также некоторые регистры портов ввода/вывода. Если у микроконтроллера отсутствует аналоговая часть, соответственно, отсутствуют и пины аналогового питания, как результат – данные компоненты не нужны. упрощенной обвязки микроконтроллера следующие: во первых, поскольку микроконтроллер был лишен внешнего тактирования, ему следует указать что тактирование будет происходить от внутреннего RC-генератора, установив соответствующие фьюз биты (своего рода предельные эксплуатационные параметры микроконтроллера).
Максимальная частота внутреннего генератора равна 8.0 МГц, а это означает что микроконтроллер не сможет работать на своей максимальной частоте (производительности).
Во вторых- аналоговая часть микроконтроллера (а также некоторые регистры портов ввода/вывода), лишены источника питания, что исключает их использование.
В третьих- отсутствует разъем для внутрисхемного программирования, поэтому чтобы записать прошивку в память микроконтроллера придется вынимать его из устройства, где-то производить запись, после чего возвращать его на место. Как вы сами понимаете это не очень удобно (вынимать/вставлять, припаивать/отпаивать), и может привести к повреждению как самого микроконтроллера (могут поломаться ножки, перегреться от пайки и т.п.), так и близлежащих устройств – разъем, дорожки на плате и т.п.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Семейство 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 и CH340, а его схема представлена ниже.

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

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

  • ATmega8U2;
  • ATmega16U2;
  • ATmega32U2.

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

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

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

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

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


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

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

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

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

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

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

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