подбор микроконтроллера по параметрам
микроконтроллеры 1416
8259AP, микроконтроллер PDIP28
Mitsubishi
AT89C2051-24PU, микроконтроллер PDIP20
Atmel
AT89C51ED2-RLTUM, микроконтроллер LQFP44
Atmel
AT89S8253-24AU, микроконтроллер TQFP44
Atmel
ATMEGA128-16AU, 64-TQFP (14×14)
Microchip
ATMEGA128-16AU, микроконтроллер TQFP64
Atmel
ATMEGA128A-AU, микроконтроллер TQFP64
Microchip
ATMEGA168-20MU, 32-VQFN (5×5)
Microchip
ATMEGA168PA-AU, Микроконтроллер, TQFP32
Atmel
ATMEGA16A-AU, микроконтроллер TQFP44
Microchip
ATMEGA16L-8AU, микроконтроллер TQFP44
Atmel
ATMEGA328P-AU, микроконтроллер AVR RISC 32KB Flash 2.5V/3.3V/5V TQFP32
Atmel
ATMEGA329PV-10AU, микроконтроллер TQFP64
Atmel
ATMEGA32A-AU, микроконтроллер TQFP44
Atmel
ATMEGA32A-PU, микроконтроллер PDIP40
Atmel
ATMEGA32L-8AU, микроконтроллер (ATmega32L-8AI), TQFP44
Atmel
ATMEGA48-20AU, 32-TQFP (7×7)
Microchip
ATMEGA644-20AU, микроконтроллер TQFP44
Atmel
ATMEGA64A-AU, микроконтроллер TQFP64
Atmel
ATMEGA8515L-8AU, микроконтроллер TQFP44
Atmel
ATMEGA8A-AU, микроконтроллер 8-Бит AVR 16МГц
Microchip
ATTINY11-6SC, микроконтроллер SO8
Atmel
ATTINY12L-4SU, микроконтроллер SO8
Atmel
ATTINY13A-SU, микроконтроллер SO8
Atmel
ATTINY2313A-SU, микроконтроллер SO20
Atmel
ATtiny24-20SSU, Микроконтроллер широкого назначения
Microchip
ATTINY26-16PU, микроконтроллер PDIP20
Atmel
ATtiny26-16PU, Микроконтроллер широкого назначения
Microchip
ATtiny85-20PU, Микроконтроллер 8-Бит, AVR, 20МГц, 8КБ Flash [DIP-8]
Atmel
MSP430F1232IPW, микроконтроллер TSSOP28
Texas Instruments
MSP430F2132IPWR, микроконтроллер 16бит TSSOP-28
Texas Instruments
PIC12C508A-04I/SM, микроконтроллер SO8
Microchip
PIC12CE519-04I/P, микроконтроллер PDIP8
Microchip
PIC12F508-I/SN, микроконтроллер SO8
Microchip
PIC12F629-I/SN, микроконтроллер SO8, 208mil
Microchip
PIC12F675-I/P, микроконтроллер PDIP8
Microchip
PIC12F675-I/SN, микроконтроллер 8-Бит SO8
Microchip
PIC16C55A-20/P, микроконтроллер PDIP28
Microchip
PIC16C621A-04/P, микроконтроллер PDIP18
Microchip
Купить микроконтроллеры в интернет-магазине
Интернет-магазин Платан предлагает Микросхемы и микроконтроллеры различных производителей по конкурентной цене. Для выбора компонента используйте поиск по параметрам, техническую документацию и описание. Доставка товара осуществляется различными транспортными компаниями или самовывозом из офисов в Москве и Санкт-Петербурге, предлагаем любые виды оплаты.
Выбираем микроконтроллер вместе
Прочитав эту статью я заметил большой интерес к выбору микроконтроллера у читателей и решил взглянуть на эту проблему с другой стороны.
Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.
Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!
На мой взгляд чем проще будет каждый этап обучения — тем проще будет дойти до самостоятельного плаванья. Поэтому я считаю, что на начальном этапе следует брать все готовое. Ничего не придумывать самому. Представьте:
вы выбрали контроллер,
проглядели даташит,
развели под него плату,
или нашли ее на просторах интернета,
купили все компоненты(или аналоги если советуемых не было),
запаяли все,
написали первый «hello world»,
собрали программатор, прошили контроллер
И… и ничего не происходит! Что-то не работает, и вы не можете понять что: то ли в пайке ошибка, то ли что-то с программой, то ли в интернете кривая схема, то-ли проблемы с софтом.
Новичка такая ситуация ставит в тупик, знаю это по себе.
Чтобы такого не случилось проще всего сделать первые шаги под чьим-то руководством.
Преимущество простого старта отлично показывает платформа Arduino. Посудите сами: возможности контроллеров совсем не велики, цены на платы огромны, зато огромная поддержка сообщества и все уже готова, любые платы расширения, кучи примеров.
За счет этого и живет платформа!
Давайте посмотрим какой у нас вообще есть выбор! На рынке огромное количество производителей и архитектур. Но выбор на самом деле совсем не велик:
я бы сразу отсек все 8-ми и 16-ти битные архитектуры, кроме PIC и AVR, да иногда производители предлагают отладочные платы и контроллеры по очень заманчивой цене
но я не советую их брать потому, что это малораспространенные архитектуры и на них меньше примеров + пересаживаться на другие контроллеры будет сложнее.
По той же самой причине отсек все 32-х разрядные архитектуры кроме ARM + с ними еще начинаются проблемы с примерами, и они постепенно вымирают.
Арм микроконтроллеры делятся на ARM7, ARM9, Cortex M0, 3, 4.
Седьмые и девятые постепенно замещаюся кортексами и вскоре их тоже не будет.
Итого имеем:
AVR
PIC
ARM Cortex
Про пики сказать много не могу, но по-моему AVR их вытесняет из-за распространенности Arduino.
Но я все-же советовал Cortex, их возможности намного шире, к тому же есть выбор между производителями, а это на мой взгляд большой плюс. Да и существует масса упрощающих жизнь библиотек и даже генераторов кода, которые новичкам позволят не сильно вчитываясь в юзер мануал написать первую программу.
Итак, какие производители представлены у нас?
NXP, ST, Freescale, TI, Luminary Micro, Atmel и много других но поменьше распространенных.
Как выбрать из такого большого количества производителей?
надо выбирать не контроллер а отладочную плату, библиотеки, среду разработки и сообщество.
Сам щупал только NXP, ST и Freescale.
Первые 2 производителя наводнили Москву и другие города России дешевыми/бесплатными отладками — это очень хорошо в том смысле, что всегда есть у кого спросить, есть к кому обратиться.
Также не нужны никакие программаторы — все есть на борту!
Для NXP есть альтернатива от Olimex www.chipdip.ru/product/lpc-p1343.aspx
Есть и минусы: когда захочется расширить их возможности придется искать новую.
Больше всего мне понравилась отлатдка от Freescale, с которой столкнулся на работе.
На мой взгляд это лучший вариант для новичка, но у нее есть один огромный минус:
пока довольно сложно найти в продаже и регионам придется заказывать, но оно того стоит:
Первое и самое важно преимущество: стандартные платы расширения (сначала покупаете стандартный набор, потом докупаете вайфай, сенсоры и тп)
Еще большущий плюс это среда разработки: благодаря Processor Expert можно генерировать код, и море примеров с объяснениями.
Итак подведем итоги:
1 купить Arduino Uno c AVR за 1000р на плате практически ничего нет, зато в продаже множество плат расширения и огромное сообщество
2 купить STM32L-DISCOVERY c M3 за 16.22дол c сенсорными кнопками, USB и маленьким LСD-дисплеем и дебагером на борту
3 купить за 1000р LPCEXPRESSO c M3 с просто выведеными контактами и дебагером на борту
4 купить KWIKSTICK с M4 за 30дол+ доставку с большим сегментным LCD, USB, входом под наушники, динамиком, сенсорными кнопками, литиевой батарейкой, микрофоном, ИК портом, слотом под SD-карту + возможность расширения функционала без пайки и больших вложений. Большой набор библиотек, примеров и хорошая IDE.
В итоге я считаю, что надо покупать STM32L-DISCOVERY и начинать с нее,
либо если не лень заморочиться с заказом платы и чуть-чуть побольше заплатить брать KWIKSTICK — с ней старт будет полегче, да и хватит ее на дольше, но для общения с коллегами нужен английский.
Прошу всех, знакомых с МК написать свой выбор отладочных средств для новичка, я с удовольствием дополню статьюю
UPD: stm32l-discovery по таким ценам можно купить в Компэле
Kwikstick на сайте freescale
Руководство по выбору микроконтроллера
В существующем многообразии микроконтроллеров (МК) легко потеряться. В статье описана комплексная методика выбора подходящей модели. Приведены практические примеры и таблицы с основными характеристиками МК.
Сегодня на рынке представлено огромное множество МК, отвечающих практически любым требованиям — недорогие и производительные, 8-, 16- и 32-разрядные, заказные и стандартные. Приступая к проектированию устройства, разработчик непременно сталкивается с проблемой выбора. Самое рациональное решение — это собрать все характеристики воедино, чтобы выявить противоречивые требования и найти компромисс между ними как можно раньше.
Для начала следует ответить на общие вопросы, касающиеся проектируемого устройства:
1. Какие задачи выполняет устройство?
2. Каковы входные и выходные параметры?
3. Какой объем памяти необходим для хранения данных?
4. Насколько быстро система должна выполнять задачи и реагировать на события?
Далее следует переходить к более детальным требованиям:
1. Из какого материала будет изготовлено устройство и какова его ценовая категория?
2. Какова мощность потребления?
3. Есть ли ограничения по физическим размерам устройства?
4. Для каких условий эксплуатации оно предназначено?
Для наглядности в таблице 1 приведены примерные характеристики термостата. В зависимости от проекта список вопросов может быть другим.
Таблица 1. Характеристики бытового термостата
Перечень функций
1. Управление нагревательным элементом
2. Управление по переменному току
3. Последовательный вывод данных на ПК
4. Последовательный прием данных с ПК
7. Контроль за температурой
8. Дешифратор команд
9. Работа в режиме реального времени
Хранение данных
32 байта – последовательный передающий буфер;
32 байта – последовательный принимающий буфер;
20 байт – анализатор команд;
10 байт – тактовый генератор реального времени;
20 байт – буфер ЖКИ;
6 байт – звуковой генератор;
45 байт – промежуточные переменные
Входные и выходные сигналы
1. Последовательный вход RS-232
2. 4 датчика прикосновения для ЖКИ
3. Переключатель нагрев-охлаждение
4. Датчик температуры
5. Выходной сигнал нагревателя или охладителя
7. Сегментный ЖК-индикатор
8. Индикатор с пьезоэлементом
Скорость
2 кГц – скорость сканирования прикосновений;
60 кГц – скорость обновления ЖКИ;
4 кГц – звуковой сигнал;
5 Гц – управление нагревом или охлаждением;
1 Гц – проверка заряда батареи;
1 кГц – скорость последовательного порта (6900 бод)
Другие параметры
Допустимая стоимость: материалы — менее 4 долл., механические устройства — менее 2 долл., затраты на сборку — менее 10 долл.
Мощность: резервная батарея — менее 20 мкА, питание линии — менее 5 мА.
Габариты: 3×4×1 дюйма.
– температура 0…30°C (работа); 20…75°C (хранение)
– синфазный шум до 3В, ESD до 1 кВ
Когда общие требования к системе определены, можно приступать к составлению списка ресурсов:
– память данных ОЗУ. В нашем примере для термостата требуется 165 байт;
– флэш-память для программного кода — 2300 слов;
– периферийные устройства. МК обязательно должен иметь встроенный АЦП и выводы для подключения ЖКИ и USART. Желательно, чтобы была функция сенсорного управления и модуль работы в режиме реального времени;
– внешние элементы. На плате должны быть установлены температурный датчик, сторожевой таймер, механизмы нагрева и охлаждения, регулятор напряжения;
– производительность процессора. Для термостата достаточно, чтобы МК выполнял 0,5–1 млн операций в секунду (MIPS).
Заметим, что приведенные критерии не нужно задавать точно. На первом этапе достаточно приблизительной оценки.
Периферийные устройства могут быть реализованы как программно, так и аппаратно. При программной реализации увеличивается мощность потребления процессора, а при аппаратной — сложность схемы. От выбора способа реализации зависит производительность процессора, объем памяти программ, стоимость системы, размер платы и потребляемый ток.
Выбор между программной и аппаратной реализацией не всегда очевиден. Например, модуль USART удобнее сделать программно, поскольку функции приема и передачи можно моделировать. В то же время при выполнении процедуры приема данных постоянно производится проверка конца стартового бита, чтобы сохранить синхронизацию с принимаемым потоком. Эта операция может потребовать слишком много ресурсов процессора. Если произойдет прерывание, то задержка на его обработку может повлиять на процесс синхронизации. Таким образом, разработчику придется хорошо взвесить свое решение, прежде чем сделать окончательный выбор.
Для реализации многозадачности необходимо сделать выбор между операционной системой реального времени (ОСРВ) и системой связанных автоматов. Оба подхода имеют достоинства. Так, ОСРВ осуществляет управление всеми переключениями, что упрощает программный код. С другой стороны, в системе автоматов требуется меньший объем памяти. От выбора того или иного пути зависит объем памяти программ и данных и зачастую мощность потребления устройства.
При выборе ОСРВ следует помнить, что они делятся на две категории: с вытеснением и без него. И в тех, и в других есть функция переключения между задачами, однако она реализована по-разному. Соответственно, не совпадают требования по объему памяти и периферийным ресурсам. Это необходимо учитывать при составлении характеристик проектируемого устройства.
Для снижения энергопотребления процессора следует применять переход в режим ожидания, либо динамическое управление мощностью, когда отключаются только неиспользуемые в данный момент блоки. В первом случае система имеет либо полный расход энергии, либо нулевой, не считая токов утечки. Во втором есть градация — блоки включаются и выключаются выборочно.
Оба метода имеют преимущества, и выбор между ними в большой степени зависит от решений, принятых ранее, на стадии разделения системы на программную и аппаратную части. Обычно предпочтение отдается режиму ожидания, если в системе нет блоков, которые должны оставаться включенными постоянно. Пока процессор находится в режиме ожидания, с помощью автоматических схем устройство может выполнять простые функции без обращения к процессору.
Вопрос надежности тесно связан с мощностью потребления и принципом реализации функций (программно или аппаратно). Для иллюстрации рассмотрим функцию преобразования мощности. Можно выбрать преимущественно программную реализацию с программной функцией управления в контуре обратной связи (ОС). Альтернативный путь — использовать в цепи ОС фильтр на операционных усилителях и аналоговый ШИМ.
Оба варианта используются. Разница заключается в том, что при программной реализации МК должен находиться в активном режиме, пока преобразователь работает. При этом рабочий ток становится больше. Во-вторых, если программный счетчик МК сломается, то при восстановлении МК аппаратные блоки не будут затронуты. Надежность системы с преимущественно аппаратной реализацией выше. Это особенно важно при работе в условиях высокой зашумленности.
Следующий вопрос — принцип формирования сигналов. Для выбора МК имеет большое значение, с какими сигналами идет работа — аналоговыми или цифровыми. Достаточно сказать, что для пропорционально-интегрально-дифференциального (ПИД-) регулирования или создания цифрового фильтра МК должен иметь некоторые дополнительные ресурсы на кристалле: аппаратный умножитель, соответствующий требованиям системы, быстродействующий АЦП с высоким разрешением. Простые функции управления с ОС можно реализовать без этих устройств. Однако при этом будет задействовано больше ресурсов процессора, а скорость выполнения операций будет ниже.
В этих случаях более удачное решение — формировать аналоговые сигналы, а МК использовать только для управления. Недостаток данного подхода заключается в том, что некоторые функции требуют более высокого быстродействия и не могут быть реализованы (или это сложно) в аналоговой форме. В качестве примера можно привести нелинейный фильтр в ОС или фильтр с бесконечной импульсной характеристикой. Для таких функций лучшее или единственное решение — использовать программный подход и при необходимости — аналоговые схемы обнаружения ошибок.
Последний вопрос — это назначение устройства. Оно может представлять собой как небольшую автоматическую систему контроля с простым интерфейсом пользователя, так и модуль для сложных сетевых систем с продвинутым интерфейсом. Конечно, нет смысла использовать сенсорные или QVGA-дисплеи для дешевого домашнего термостата. Однако такой интерфейс может потребоваться в сетевых устройствах в системах регулирования условий внутри здания.
При проектировании устройства необходимо оценить, какая потребуется полоса пропускания для интерфейса пользователя, и нужны ли функции передачи данных. В самых современных устройствах могут быть использованы продвинутые принципы взаимодействия пользователя с устройством, например, основанные на жестах или движении глаз.
Итак, когда все требования обозначены, можно приступать к выбору МК. Для этого следует воспользоваться каталогами производителей (см. табл. 2). К сожалению, найти МК, подходящий по всем параметрам, удается редко. Чаще всего приходится выбирать компромиссный вариант, исходя из требуемых характеристик. Лучшее решение — выбрать средние МК в семействе, чтобы были старшие и младшие модели. Это позволит добавлять какие-либо функции, совершенствуя устройство, либо отказываться от чего-то, снижая его стоимость.
Семейство
Разрядность
EEPROM, Б
ОЗУ, кБ
Производительность (МГц, MIPS
Какой микроконтроллер выбрать
Если ты хочешь выбрать микроконтроллер, тогда эта статья для тебя. Сегодня мы попробуем разобраться в современном рынке микроконтроллеров. Замечу, что говорить мы будем только о бюджетных и широко специализированных модельных линейках, то есть о тех, которые используют электронщики.
Выбор микроконтроллера
Открывает наш парад компания Microchip Technology с серией PIC. Эти МК отличаются между собой разрядностью (8/16/32), набором периферии и корпусом чипа. Восьмибитные варианты же делятся на четыре семейства: baseline, mid-range, enhanced mid-range и PIC18. Более подробная информация приведена в таблице.
Также есть 16-битные «пики» — PIC24F и DsPIC30/33F. Ну и 32-битные — PIC32MX. Эти непонятные сочетания букв и цифр — часть идентификатора чипа. То же, что и марки у машин. Например, широко распространенный камень PIC16F628A расшифровывается так: семейство PIC16F6 (Mid-range), а остальная часть имени — указатель на конкретный камень. У рассмотренных далее МК в имени может содержаться еще больше информации.
Цена и содержимое
Эти микроконтроллеры имеют среднюю стоимость. Например, камень PIC6F628 в Chipdip стоит около 150 рублей, а PIC18F2550 — 620 рублей.
Более дешевые экземпляры имеют в своем составе минимум периферии. У упомянутого ранее PIC6F628 следующие характеристики: встроенный тактовый генератор для работы с частотой 4 или 8 МГц; 18 пинов, из них 16 — ввод/вывод, а 2 — питание; для работы на более высоких частотах можно подключить кварцевый резонатор; Flash-память объемом 2048 слов; 4 аналоговых входа; два 8-битных таймера и один 16-битный; 224 байта ОЗУ (самому смешно); 128 байт EEPROM (это программно перезаписываемая энергонезависимая память, вроде жесткого диска); интерфейс UART.
Программирование и использование PIC
Программируют для микроконтроллеров, как правило, на ассемблере и на Си. Есть множество сред разработки: MPASM и MPLAB, MicroC, JALedit (язык JAL, сам про него впервые слышу). Скачать MPLAB
Как правило, на таких МК собирают простенькие устройства вроде мигалки или таймера. Эти контроллеры долго имели монополию на постсоветском пространстве, и в результате в интернете есть огромное множество русскоязычных сервисов и статей, посвященных этим моделям МК. При сборке устройства часто можно даже не писать прошивку, ведь она легко находится в интернете, даже в нескольких вариантах.
Вторым плюсом можно указать встроенные независимые (от тактового генератора) счетчики. Благодаря этому факту семейство зарекомендовало себя в качестве «мозгов» для частотомеров. Пара таких контроллеров лежит у меня в мастерской на черный день. Из минусов можно выделить только высокую стоимость оригинальных программаторов, которые зовутся PICkit.
PICKIT3
В интернете есть множество статей по сборке достойных аналогов таких программаторов. Но вся соль в том, что для сборки программатора тебе нужно что? Правильно, программатор. На этот случай был разработан программатор Громова. Для его сборки почти ничего не нужно, а работает он от COM-порта компьютера. На момент его разработки популярность этой серии МК была высока, да и COM-порты были у всех ПК. Сейчас все это уже редкость, так что придется преодолеть порог вхождения либо раскошелиться.
Микроконтроллеры AVR производит компания Atmel. Если не знал, это те самые контроллеры, из которых собирают Arduino. Некогда Atmel была независимой компанией, но позже ее купила упомянутая ранее Microchip, которая продолжает выпускать эти МК. Они делятся на три семейства: tinyAVR (ATtinyxxx), megaAVR (ATmegaxxx), XMEGA AVR (ATxmegaxxx).
TinyAVR имеет следующие характеристики:
Как и в случае PIC, у моделей AVR в названии содержится ценная информация. Например: ATMega328PU — семейство megaAVR, 32 Кбайта Flash, 8-битный, P — говорит о модификации (примерно как у пистолета Макарова модернизированного — ПММ).
Расшифровка названия чипа
Цена и начинка
Эти микроконтроллеры имеют, как и PIC, среднюю стоимость. Например, упомянутый ранее камень ATmega328P в Chipdip стоит 160 рублей, а ATxmega128A1 — 590 рублей.
TinyAVR дешевле и проще своих старших братьев. Немного характеристик ATmega328P: предельная частота работы 20 МГц (слышал, правда, что под охлаждением и посильнее разгоняли); 23 пина ввода-вывода; Flash-память на 32 Кбайта; 8 аналоговых входов; два 8-битных таймера и один 16-битный; 6 ШИМ-каналов; 2 Кбайта RAM; 1 Кбайт EEPROM; интерфейсы UART, SPI, I2C.
Программирование и использование AVR
Благодаря распространению плат прототипирования Arduino, как у нас, так и за рубежом, эти МК имеют низкий порог вхождения. Программируются на ассемблере, Си, C++; можно воспользоваться графическими генераторами кода типа Scratch (см. Scratchduino). Для работы есть Atmel Studio, IAR AVR, WinAVR. Ну и Arduino IDE, куда уж без нее. Лично я использую связку из Geany и avrdude. Для прошивки есть большое разнообразие программаторов: как дешевые, так и подороже. Я для этих целей прикупил недорогой экземпляр USBasp где-то за 1,5 доллара (на Aliexpress есть масса вариантов). А можно в качестве программатора использовать и Arduino UNO.
Информации об этих контроллерах в интернете много: чего только стоит канал AlexGyver! И благодаря Arduino существует масса обучающих наборов на любой вкус. В общем, низкий порог вхождения — весомый плюс этих контроллеров.
Кстати, если заказываешь из Китая, то взять плату с чипом будет дешевле, чем чип отдельно.
О компании ARM и ее продукции ты наверняка слышал. Однако производит эта компания не сами микроконтроллеры, а лишь архитектуру. Лицензию на нее покупают конечные производители и используют так, как им захочется. Кто только их не выпускал! Но как микроконтроллеры наибольшее распространение получили чипы компании STMicroelectronics.
Логотип STMicroelectronics
Они делятся на два семейства: STM32 и STM8. Как понятно из названий, такие чипы бывают 8- и 32-битные. А каждое семейство делится на серии, которых достаточно много.
Что можно о них сказать? Это функциональный аналог AVR, только дешевле. Здесь есть три серии: STM8L c ультранизким энергопотреблением, STM8S для индустриальной аппаратуры и STM8A, именуемые «высоконадежными». Периферия у всех такая же, как у AVR, но есть встроенный тактовый генератор. Из плюсов могу выделить только низкое энергопотребление и маленькую цену. Замечу, у STM8 архитектура не ARM, а собственная. Она очень схожа с ARM и использует идентичный STM32 интерфейс прошивки. Компилятор для них используется тоже один, и при его работе ты просто указываешь, под какую архитектуру собирать код.
STM32
Проще говоря, это старший брат STM8. Его характеристики куда выше и колеблются в больших пределах в зависимости от серии. Программируются практически на чем угодно, даже JavaScript, хотя я бы не рекомендовал.
Прошивка и программирование
Прошиваются STM32 с помощью разработанного компанией ST интерфейса Single Wire Interface Module (SWIM). Еще у МК этой серии есть интерфейс отладки Serial Wire Debugging (SWD). Им я не пользовался, но в большинстве гайдов по STM есть описание его настройки.
А еще на STM можно записывать прошивки по USB. Дело в том, что у многих контроллеров этой серии есть аппаратная поддержка USB. STM благодаря этому может эмулировать разные устройства — например, флешку. Если залить специальную прошивку, можно будет обновлять встроенную программу просто по USB.
Для STM32 есть самые разные программаторы — от весьма крутых до простеньких USB-свистков. Я, например, взял ST-LINK, на «Алиэкспрессе» он стоил около 1,6 долларов. Его достоинство в том, что он может прошить любой контроллер STM.
Программатор ST-LINK
Стоит также упомянуть платы STM Nucleo. Вот одна из них.
Плата STM32 Nucleo
Это что-то вроде Arduino из мира STM. Стоит дороговато, как и оригинальные Arduino, но вещь для новичка отличная. Если деньги есть, стоит взять. Здесь же стоит упомянуть «Амперку» с их «Искрой» и набором для начинающих. Тоже вполне достойный выбор для первого раза.
Плата Iskra JS
Для программирования можно воспользоваться средами Embedded Workbench, uVision и TrueStudio. Благодаря работе умельцев для этих же целей можно использовать и родной для многих Arduino IDE. Есть также онлайновый IDE — mbed studio.
Партия из пяти плат с обвязкой и STM8 будет стоить около 4,5 долларов. Плата BluePill с STM32F103 сейчас стоит 1,6 доллара. Плата NUCLEO-F072RB — 16,4 доллара. Ссылок давать не буду — на «Алиэкспрессе» все это легко ищется по запросу «stm32».
И, наконец, пара слов про ESP. С этими МК я не работал и знаю о них немного. Это 32-битные камни с модулем Wi-Fi на борту. Они используют архитектуру xtensa. На них собирают умные дома и прочие интересные штуки (смотри врезку ниже). Программировать можно опять же в Arduino IDE. Знаменитая ESP8266, неоднократно упомянутая на страницах нашего сайта, как раз и относится к этому семейству. К нему же относится ESP32, старший брат ESP8266.
Выводы
Кроме упомянутых выше производителей есть много других: Intel, Renesas Electronics, Texas Instruments и прочие. Но в сообществе электронщиков-любителей они не прижились, хоть и активно используются в промышленности.
Новичкам я рекомендую AVR в виде Arduino: по нему много информации на русском, а порог вхождения невелик. Но засиживаться на них не стоит, а то так и будешь до конца дней собирать и пересобирать этот конструктор.
После Arduino стоит перейти на STM. Для простеньких проектов бери восьмибитные чипы, для более сложных — 32-битные, и будет тебе счастье. И помни, что микроконтроллер — это уже не процессор, но еще не компьютер.
Статьи на сайте о ESP32
Статьи на сайте об STM32 и проектах на его основе