Аналоги микроконтроллеров: популярные модели, плюсы и минусы

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

Какой МК выбрать любителям

Если вспомнить олимпийский девиз: «Быстрее, выше, сильнее» (лат. «Citius, Altius, Fortius»), то применительно к МК он прозвучит так: «Выше тактовая частота, больше объём памяти, меньше энергопотребление». Но не надо в спешке выбирать по каталогу самую «крутую» микросхему. Это не поможет. Радиолюбительская практика ограничивается тремя важными факторами: стоимостью, технологией пайки, доступностью программного обеспечения.

Стоимость ультрасовременных «навороченных» МК доходит до нескольких десятков долларов США. В простых любительских конструкциях нет смысла ориентироваться на большие деньги. Одну и ту же не очень сложную задачу дешёвый и дорогой М К решают с одинаковым успехом. Зачем платить больше?

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

в корпусах SOIC, QFP, рассчитанных на автоматизированный поверхностный монтаж. Расстояние между выводами составляет 0.5. 1.27 мм. Не каждый монтажник без специальных приспособлений и микроскопа сможет качественно запаять все 44. 208 выводов такой микросхемы.

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

Если всё-таки понадобится использовать более совершенный МК, то стоит задуматься о приобретении так называемого «отладочного комплекта». Он состоит из печатной платы, на которой уже распаяны: МК, кварцевый резонатор, стабилизатор питания, разъёмы для подключения периферийных устройств, а зачастую и ЖК-индикатор с кнопочной тастатурой. Кроме того, в комплект поставки входят средства проектирования — программный компилятор и отладчик. В целом получается хороший стартовый набор при относительно небольшой цене от 15 до 100 долларов США в зависимости от периферии.

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

Житейская мудрость определила ряд здоровых принципов отбора МК. Во-первых, не гнаться за экзотикой, во-вторых,не связываться с единственным семейством, в-третьих, не экономить на средствах отладки и программирования. Теперь понятно, почему на сегодняшний день наиболее популярными среди любителей являются 8-битные МК семейств ATmega, ATtiny, PIC 12, PIC 16, PIC 18. Сравнительно низкие цены, доступность на рынке, хорошие технические характеристики, наличие микросхем в DIP-корпусе, множество учебников и примеров — вот залог успеха.

Какой МК выбрать профессионалам

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

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

Таблица 1.1. Рекомендации по выбору МК

Рекомендуемые МК разрядностью 8/16/32 бита

Atmel ARM, NXP LP210x, Microchip PIC24/dsPIC, Ubicom SX

alex-day › Блог › Микроконроллеры: краткий обзор

Перый микроконтроллер появился на свет в 1976 году, через 5 лет после создания первого микропроцессора. Это была микросхема фирмы Intel, получившая имя 8048.
Помимо центрального процессора, на кристалле находились 1 КБайт памяти программ, 64 байта памяти данных, два восьмибитных таймера, генератор часов и 27 портов ввода/вывода.
Микроконтроллеры семейства 8048 использовались в игровых консольных приставках Magnavox Odyssey, в клавиатурах первых IBM PC и в ряде других устройств.
Существует также мнение, что первым микроконтроллером был 4-х pазpядный TMS1000 от Texas Instruments, котоpый содеpжал ОЗУ (32 байта), ПЗУ (1К), часы и поддеpжку ввода-вывода, что позволяло считать его именно первым микpоконтpоллеpом. Выпущенный в 1972 году, он имел новую по тем временам возможность — добавление новых инструкций.

Следующий микроконтроллер Intel 8051, выпущенный в 1980 году, стал поистине классическим образцом устройств данного класса. Этот 8-битный чип положил начало целому семейству микроконтроллеров, которые господствовали на рынке вплоть до недавнего времени.
Аналоги 8051 выпускали советские предприятия в Минске, Киеве, Воронеже, Новосибирске, на них выросло целое поколение отечественных разработчиков.
Большинство фирм производителей микроконтроллеров и сегодня выпускают устройства, основанные на этой архитектуре. Среди них Philips, Atmel, Dallas, OKI, Siemens — можно перечислить более полутора десятков имен. Но 51-е семейство постепенно сдает свои позиции более молодым и совершенным микроконтроллерам.

Motorola и Zilog

Другими яркими представителями восьмиразрядных микроконтроллеров явились изделия компаний Motorola (68HC05, 68HC08, 68HC11) и Zilog (Z8).
Motorola длительное время не предоставляла средств, позволяющих дешево и быстро начать работать с ее контроллерами, что явно не способствовало их популярности у некорпоративных разработчиков. Однако стоит заметить, что за рубежом микроконтроллеры от Motorola занимают лидирующее положение на рынке. В нашей стране их популярность не очень высока, возможно, еще в силу отсутствия достаточного количества доступных учебных материалов и средств разработки.
Микроконтроллеры фирмы Zilog, основанной бывшими сотрудниками Intel, еще недавно казавшиеся столь многообещающими, не выдержали гонки в стремительно развивающемся секторе рынка, и сегодня система команд Z8 выглядит достаточно устаревшей.

Первые значительные перемены произошли с появлением PIC-контроллеров фирмы Microchip. Эти чипы предлагались по рекордно низким ценам, что позволило им в короткий срок захватить значительную часть рынка микроконтроллеров. К тому же кристаллы от Microchip оказались не уступающими, а нередко и превосходящими микроконтроллеры х51 по производительности и не требовали дорогостоящего программатора.
Вместе с контроллерами появились дешевые комплекты PICSTART, содержащие все, что было нужно для того, чтобы, не имея ни средств, ни навыков работы с PIC-контроллерами, быстро создать и отладить на нем продукт.
Эти микроконтроллеры имели хорошие порты, но все остальное было сделано весьма неудобно. Архитектура оставляла желать лучшего, система команд была крайне ограничена. Тем не менее, PIC-контроллеры остаются популярными в тех случаях, когда требуется создать недорогую систему, не предъявляющую высоких требований по ее управлению.
Обзор различных семейств микроконтроллеров PIC можно посмотреть здесь — ru.wikipedia.org/wiki/PIC

На волне успеха PIC-контроллеров появились очень похожие на них изделия фирмы Scinex. Они обладали уже 52-мя командами против PIC-овских 33-х. Были добавлены хорошие инструкции для работы с памятью, улучшена архитектура, каждая команда выполнялась за один такт, что при прочих равных условиях было вчетверо быстрее, чем у Microchip, и к тому же их тактовая частота достигала 100 МГц.
Столь высокая скорость контроллера позволяет его создателям отказаться от различной периферии — таймеров, счетчиков, регистров сдвига в приемопередатчиках, — все это рекомендуется реализовывать чисто программными средствами, благо быстродействия для этого хватает: внутри — лишь сверхбыстрое ядро, память да порты ввода/вывода.
В радиолюбительской практике распространения данные МК не получили.

Настоящая революция в мире микроконтроллеров произошла в 1996 году, когда корпорация Atmel представила свое семейство чипов на новом прогрессивном ядре AVR. Более продуманная архитектура AVR, быстродействие, превосходящее контроллеры Microchip, привлекательная ценовая политика способствовали оттоку симпатий многих разработчиков от недавних претендентов на звание контроллера номер 1.

Микроконтроллеры AVR имеют более развитую систему команд, насчитывающую до 133 инструкций, производительность, приближающуюся к 1 MIPS/МГц, Flash ПЗУ программ с возможностью внутрисхемного перепрограммирования. Многие чипы имеют функцию самопрограммирования. AVR-архитектура оптимизирована под язык высокого уровня Си. Кроме того, все кристаллы семейства совместимы “снизу вверх”.

Огромную роль сыграла доступность программного обеспечения и средств поддержки разработки. У Atmel много бесплатно распространяемых программных продуктов. Хорошо известно, что развитые средства поддержки разработок при освоении и знакомстве с любым микроконтроллерным семейством играют не менее значимую роль, чем сами кристаллы. Фирма Atmel уделяет этому вопросу большое внимание. Чрезвычайно удачная и совершенно бесплатная среда разработки AVR Studio, работающая под Windows.
Ведущие сторонние производители выпускают полный спектр компиляторов, программаторов, ассемблеров, отладчиков, разъемов и адаптеров.

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

• tinyAVR (ATtinyxxx):
Флеш-память до 16 Кб; SRAM до 512 б; EEPROM до 512 б;
Число линий ввода-вывода 4-18 (общее количество выводов 6-32);
Ограниченный набор периферийных устройств.

• megaAVR (ATmegaxxx):
Флеш-память до 256 Кб; SRAM до 16 Кб; EEPROM до 4 Кб;
Число линий ввода-вывода 23-86 (общее количество выводов 28-100);
Аппаратный умножитель;
Расширенная система команд и периферийных устройств.

• XMEGA AVR (ATxmegaxxx):
Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб;
Четырёхканальный DMA-контроллер;
Инновационная система обработки событий.

Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера. А именно — максимальная степень двойки, следующая за префиксом, обозначает объём памяти, а оставшиеся цифры определяют модификацию (напр., ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно).

Появились сравнительно недавно – в 2008 году и сразу пробились в тройку лидеров. Основными преимуществами является единообразие, позволяющее «перетянуть» без особых усилий проект с STM8 на STM32 в отличии от, например, AVR имеющих 3 семейства.
Также, что отличает архитектуру STM, так это наличие единого адресного пространства для кода и данных. Внутри себя процессор имеет Гарвардскую архитектуру, но с точки зрения программиста он фон-Неймановский. Это существенно облегчает использование языка C по сравнению с Atmel и 8051.
Периферия STM несколько отличается от Атмеловской. Прежде всего, не все ноги контроллера равны. Некоторые имеют допустимый ток 20 мА (high sink), некоторые нет. Один из выводов заявлен как управляющий пищалкой (BEEP). Альтернативные функции выводов переключаются специальной битовой картой, а не как у Atmel — каждый по своему. Битов конфигурирования порта на 1 больше, чем у Atmel. В результате каждый вывод может иметь следующие состояния:
• Плавающий вход
• Вход, подтянутый к + питания
• Выход с открытым коллектором
• Обычный выход
• Выход с пониженной скоростью
Из полезностей можно отметить Auto-wakeup. Это по сути аналог комбинации из пустого обработчика прерывания и команды sleep. Позволяет усыпить процессор на заданное время. Остальные интерфейсы довольно стандартны, разве что USART несколько более развесистый, чем у AVR или 8051. Кроме того, в отличии от PIC и AVR микроконтроллеры SRM имеют “на борту” ЦАП и контроллер CAN.

Какой микроконтроллер выбрать начинающему? Arduino или более современный?

Какой микроконтроллер лучше? Опубликованная вчера в блоге на Habr статья «Быстрый старт с ARM Mbed: разработка на современных микроконтроллерах для начинающих» вызвала бурные обсуждения, т.к. она призывает «похоронить» популярную Arduino даже в любительских проектах.

Олег Артамонов и ранее приводил критику использования Arduino в старших классах школы, но на этот раз подробнее описал недостатки платформы, а также продемонстрировал, что работать с ARM Mbed просто — вопреки популярному мнению нет необходимости «долгими бессонными ночами читать бесконечные даташиты на регистры процессора и учить ассемблер».

«Традиционным преимуществом платформы Arduino считалоcь снижение порога входа в микроконтроллерную разработку до уровня базовых знаний C/C++ и электроники в масштабе «подключить светодиод в нужной полярности, — пишет Олег Артамонов, — Спросите примерно у любого активного сторонника Arduino — и вам быстро объяснят, что можно, конечно, писать под STM32 или nRF52, но выгоды в том реальной никакой, зато вас ждут бессонные ночи над сотнями страниц даташитов и бесконечные простыни функций с длинными непонятными названиями. Заслуги Arduino в снижении порога вхождения действительно трудно переоценить — эта платформа появилась на свет в середине нулевых годов, а после 2010 завоевала серьезную популярность среди любителей. Особых альтернатив на тот момент ей не было — процессоры на ядрах Cortex-M только появились, по сравнению с AVR они были довольно сложны даже для профессиональных разработчиков, а отладочные платы у большинства вендоров стоили от сотни долларов и выше (и в общем в индустрии ценник за отладку на 5-долларовом контроллере в $500 никого сильно не удивлял)».

Развитие платформы Arduino за последние 10 лет автор сравнил с изменениями в некоторых моделях. АвтоВАЗа. AVR, как и вообще 8-битные контроллеры, уже не выдерживают конкуренции с 32-битными Cortex-M по соотношению цена/характеристики. А сложность разработки существенно снизилась с появлением микроконтроллерных операционных систем. Благодаря ОС программирование микроконтроллеров становится ближе к написанию софта под большие ПК, и создание многозадачности средствами цикла loop() при наличии современных средств разработки, становится абсурдно. Микроконтроллерные операционные системы дают:

  • HAL — абстрагирование от железа.
  • Многозадачность.
  • Таймеры.
  • IPC — межпроцессное сообщение.
  • Наборы стандартных библиотек и функций — помимо API работы с самим микроконтроллером, ОС может предоставлять вам доступ к стандартным библиотекам, в том числе сторонней разработки.
  • Наборы драйверов — многие ОС предоставляют также «из коробки» наборы драйверов для внешних по отношению к контроллеру датчиков и систем.

Статью прокомментировал разработчик микропроцессоров MIPS Юрий Панчул:

Главная проблема ардуины и ее software (UPD: если вы вздумаете использовать ее профессионально, как люди, с которыми ругается Олег) — это отсутствие многозадачности, из-за чего системы сложнее чем мигание лампочкой либо тормозят, либо процессор все время ожидает и обрабатывает ввод-вывод вместо решения полезных задач, либо имеет место куча спагетти-кода в комбинации с примитивными ардуинскими обработчиками прерываний. Именно это имхо стоило продемонстрировать Олегу с наглядными примерами кода. Ругаться с ардуинщиками по поводу порога входа в их нежно любимую платформу можно, но там речь идет о вкусах и небольшой неэффективности из-за ардуиногого api, а вот отсутствие в ардуине tasks/semaphores и других RTOS-ных примитивов, которые позволяют писать эффективные надежно работающие программы с компактным легко читаемым кодом — это принципиально, и на этом ардуинщиков вполне реально урыть (если они готовы идти дальше мигания лампочкой). Например привести вывод на графический экран двумя процессами с семафором, как мы в MIPS и Microchip сделали три года назад в курсе Connected MCU по программированию PIC32MZ и FreeRTOS

Позже Юрий Панчул добавил в свой пост информацию о существовании RTOS для Arduino: » … пусть живет. Все написанное отменяется.». Прогресс не стоит на месте и мир микроконтроллерных плат для любителей больше не ограничивается Arduino и ESP. А что думаете вы?

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

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

Контроллер – слово, образовавшееся от инфинитивной формы английского глагола «to control» – повелевать, управлять. Контроллеры разделяются по группам и, в зависимости от принципа работы, используются в конструировании механических или электронных устройств. Механические изобретения – дорогие и ненадежные.

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

Существующий рынок микроконтроллеров

Рынок микроконтроллеров заполнен различными моделями такого вида устройств. Большинство производителей выпускают мини-компьютеры, в функционал которых заложена работа микроконтроллеров. Самый интересный проект – выпуск pcDuino. Такой мини компьютер отличается средней производительностью. Главный плюс заключается в количестве пинов для ввода и вывода. Кроме того, шилды напрямую идут от микроконтроллера Arduino.

С помощью описанного оборудования разработали концепцию «умный дом». Над системой работали несколько десятков лет, учитывая, что сфера электроники развивается в медленном темпе. Цены на эту систему заоблачные. Постепенно «умный дом» приобретает новые «знания». Бюджетный вариант для создания умного дома – розетки и сенсор движения от производителя Belkin Wemo.

Топ-5 популярных микроконтроллеров

Рассмотрим популярные компании, которые производят микропроцессоры, в таблице ниже.

Микроконтроллер Особенности
МК Iskra JS Это флагманская плата. В «мозги» микропроцессора включен интерпретатор на языке JavaScript. Продукт создан на основе платформы Espruino. Подходит для совместной работы с Ардуино. Пригодится в проектах, где внимание уделено скорости и комфорту разработки. Техническое приспособление максимально совместимо с платами расширения и сенсорными инструментами.

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

МК Mbed компании ARM Компания ARM занимается созданием программно-аппаратных платформ и ОС (операционных систем) для электронных девайсов с 32-разрядными микроконтроллерами из группы ARM Cortex-M.

Данный проект запускался одновременно с другими производителями подобной техники. Работа девайса проходит в онлайн-режиме. В платформу включена IDE, в которую входит:

  • редактор текста;
  • набор различных библиотек;
  • компилятор;
  • примеры программного кода.

Аппаратная часть состоит из:

  • платы ARM;
  • платформы мбед и FRGM, производитель последней – NXP Semiconductors;
  • Nucleo аппаратуры STMicroelectronics и др.
Микропроцессоры Wemos В линейку разработок этой компании вошли такие известные модели, как wemos d1 mini, lolin esp32 oled wemos, wemos lolin32, bme wemod d1.

Последнее устройство выпущено сравнительно недавно, и по характеристикам многим нравится: встроен usb-порт и разъем под батарею, главная особенность – esp-wroom-32 модуль с 4 Мб памяти.

МК Arduino Arduino – наиболее популярный микропроцессор среди начинающих электронщиков. На платформе находится процессор с памятью. Количество пинов = 20 штук. К контактам подключается периферия:

  • роутеры;
  • датчики;
  • моторчики;
  • светодиодные ленты;
  • чайники;
  • и другие приспособления, работающие за счет электрической энергии.

Если сравнивать arduino и esp8266, то многие профессионалы ругают первый микроконтроллер за его стоимость.

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

Raspberry Наиболее популярная модель от этой компании – Raspberry Pi Zero. Плата построена по принципу Model A+, только гораздо уменьшена в размерах. В отличие от Arduino, raspberry pi по цене выходит дешевле – 300р или 420р.

На микрокопьютере с таким миропроцессором легко запускается любой дистрибутив Линукса. Платформа загружает и запускает Raspbian или подобную ОС (операционную систему). Однако встроенной памяти на половину гигабайта вряд ли на что-то большее хватит. Зато устройство пригодно для конструирования электронных систем в качестве микроконтроллера.

Микропроцессор поддерживает 2 штуки microUSB порта. Из вышеперечисленных устройств это самый мощный девайс для разрешения задач повышенной сложности: обрабатывание информации и визуализация.

Raspberry Pi Zero

Аналоги популярных МК: плюсы и минусы

Ниже представлены популярные аналоги некоторых перечисленных выше микроконтроллеров.

  1. Актуальные микропроцессоры, предназначенные для разработки в веб-индустрии и аналгичные ардуино, – particle photon и btphone d1 mini. Девайс поставляется с помощью вай-фая. Сегодня такой микроконтроллер – актуальная замена Ардуино. Программный код пишется аналогично Ардуино. Пользователь набирает код программы и переносит на МК.
  2. Teensy является также известной альтернативой МК Ардуино. С помощью Тинси создаются собственные проекты с электронными устройствами. Код, посредством загрузчика, переносится на микроконтроллер с помощью юсб-порта с флеш-накопителя.
  3. Основа этого МК – ARM. Основно преимущество – совместимость расположенных на платформе контактов. Пользователь может поискать на технических рынках модели нетдуино, однако стоимость таких девайсов достаточно высока.
  4. Совершенно новый подход к прототипированию устройств представляет аналог из линейки ардуино-устройств. Многие ардуино-платы формы выпуска мини или уно не пригодны для многих вещей, которые разработчики активно используют в создании электронного устройства. АТтини85 помогает без подключения всевозможных проводов и программаторов: код легко обкатывается. Это проводится для конструкции легких проектов, для программирования на низкоуровневых языка такой МК вряд ли пригодится. Наиболее пригодны для программирования robotdyn uno r3 или arduino digispark.

Аналоги популярного микроконтроллера Вемос:

  1. Вемос д1 мини про. Формфактор относительно других моделей более компактный. Формат сильно походит на Ардуино Уно. Так же, как и в других моделя подобных устройств, сначала программируется код на бесплатной среде разработки, после чего программа загружается на платформу. Юные электронщики с помощью такой платы создают автополивы и автоматизируют аквариумы. Ширина равняется 2 с половиной см. Длина немного больше – 3,5 см.
  2. Другие модели, на которых встроены доступные порты ЕСП32. Бонусное добавление – зарядка для Лион-батареи. Такое же сооружение встроено в клон avrisp mkil. То есть платформы могут работать в автономном режиме бесперебойно за счет встроенной батареи. Даже если в розетке возникло переменное напряжение, устройство не пострадает и продолжит свою работу. Не нужно придумывать дополнительных конструкций для поддержания рабочего состояния.

Заключение

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

Источники:

http://www.drive2.ru/b/2520018/

http://edurobots.ru/2018/08/choose-controller/

http://arduinoplus.ru/analogi-mikrokontrollerov/

http://arduinoplus.ru/fm-radio-na-osnove-arduino-pro-mini/

Ссылка на основную публикацию