Год назад мой приятель Антон, инженер-схемотехник из сибирского промышленного наукограда, пообещал жене подключить «умный дом за выходные». В субботу утром он сидел с паяльником и тремя разными платами - AVR, STM32 и свеженьким RISC-V на чипе WCH - и смотрел на них так, словно решал уравнение с тремя неизвестными. Два дня спустя он вышел из мастерской с красными глазами и глубоким убеждением: «Оказывается, выбор микроконтроллера - это не про железо, а про то, какой геморрой ты готов терпеть в процессе разработки». Мы, редакция блога «В мире ИТ», часто вспоминаем эту историю, когда очередной читатель спрашивает: «Так ARM, AVR, PIC или RISC-V?». И сегодня мы разложим в очередной публикации этот вопрос так, чтобы каждый - от студента-первокурсника до убелённого сединой промышленного разработчика - нашёл здесь ответ, комфортный именно для искомого сценария.
Если привычная логика выбора железа здесь не работает
В психологии есть понятие фиксации на инструменте - состояния, при котором человек так увлекается выбором кисточки, что забывает, какую картину он собирался рисовать.
С микроконтроллерами происходит ровно то же самое.
Новичок погружается в сравнение тактовых частот, объёмов флеш-памяти и количества выводов общего назначения (GPIO, general purpose input/output - ножек, которые можно настроить на ввод или вывод сигнала), теряя из виду главное: под какую именно задачу он его выбирает.
Но архитектура - ARM, AVR, PIC или RISC-V - это не просто строчка в спецификации.
Это экосистема, сообщество, доступность библиотек и, что греха таить, привычка.
Антон, вернувшись к проекту через месяц, сформулировал это так: «Я вдруг понял, что выбираю не микроконтроллер. Я выбираю, сколько ночей я проведу, отлаживая прерывания, и на каком языке будут написаны примеры, которые я найду в сети».
С этого ракурса рассмотрения проблемы мы и начнём.
Детективная пауза: история одной платы, которая,по-хорошему, не должна была взлететь
Любопытный эпизод произошёл в середине десятых годов.
Компания Microchip, уже владевшая легендарным семейством PIC, приобрела Atmel - создателя архитектуры AVR, сердца плат Arduino.
Аналитики пророчили быструю смерть AVR: зачем кормить два конкурирующих продукта внутри одной компании?
Но прошло почти десятилетие, а AVR и PIC по-прежнему выпускаются, обновляются и расходятся миллионными тиражами.
В инженерной среде этот случай называют казусом сосуществования - и он многое говорит о том, что рынок микроконтроллеров живёт не по законам маркетинговых презентаций, а по законам инерции, наработанных библиотек и миллионов строк кода, которые никто не хочет переписывать.
Приоткроем тайну: почему четыре архитектуры, а не одна
Каждое семейство выросло из своей задачи, и эта родословная до сих пор определяет его характер.
AVR (Alf and Vegard's RISC processor) - восьмиразрядная архитектура, спроектированная двумя норвежскими студентами в начале девяностых. Простота, предсказуемость, минимум транзисторов.
PIC (Peripheral Interface Controller) появился раньше, в семидесятых, как маленький контроллер для периферии.
ARM (Advanced RISC Machines) вышел из британской Acorn Computers и изначально метил в настольные компьютеры, но эволюционировал в самое массовое тридцатидвухразрядное ядро планеты.
RISC-V (Reduced Instruction Set Computer - Five) - новичок, недавно открытый стандарт, который родился в Калифорнийском университете Беркли в 2010 году и с тех пор набирает сторонников со скоростью степного пожара.
Интересные факты, от которых хочется немедленно заказать пару плат
- «Cortex-M0+, младшее ядро в семействе ARM, потребляет в спящем режиме менее одного микроампера, что делает его практически бессмертным охранником для датчика на батарейке - но просыпается он не мгновенно, и об этом часто забывают».
- «Микроконтроллеры RISC-V от WCH (серия CH32V003) стоят в рознице дешевле чашки кофе, при этом работают на частоте до 48 мегагерц и имеют полноценный тридцатидвухразрядный конвейер».
- «Восьмиразрядные AVR до сих пор ставят в промышленные контроллеры, где важна не скорость, а предсказуемость: каждая инструкция выполняется ровно за один такт, и никакие кэши не портят картину».
- «Некоторые модели ARM Cortex-M7 имеют двойную выдачу инструкций (dual issue), то есть за один такт могут начать выполнение двух независимых команд - как кассир, который одновременно пробивает товар и принимает оплату с карты».
- «RISC-V позволяет любому желающему спроектировать свой собственный набор инструкций, не платя лицензионных отчислений, и именно поэтому на нём уже делают специализированные ИИ-ускорители для периферийных устройств».
- «PIC-контроллеры долгое время были единственными, кто выдерживал экстремальные температуры в скважинном оборудовании - до ста пятидесяти градусов Цельсия - и эта репутация до сих пор открывает им двери в нефтегазовую отрасль».
Схематично вопрос можно представить следующим образом
Вообразите перекрёсток с четырьмя указателями.
Налево - AVR: надпись «просто, дёшево, восьмибитно, идеально подойдет для учёбы и несложной автоматики».
Направо - PIC: «промышленный стандарт, живучий, огромный выбор корпусов».
Прямо - ARM: «мощно, тридцатидвухразрядный, отличные библиотеки, огромное сообщество».
И четвёртая дорога, ещё не до конца асфальтированная, - RISC-V: «открытый, современный, стремительно растёт, но местами требует напильника».
Антон, наш герой, в итоге выбрал для умного дома STM32 на ядре Cortex-M4 - потому что нашёл готовую библиотеку для датчика температуры и влажности, которую не хотел писать с нуля.
Для промышленного заказа, где требовалась работа при минус сорока, он взял PIC.
И это, пожалуй, самый прямой ответ на вопрос «что лучше».
Удивительно, но факт: RISC-V микроконтроллеры уже обгоняют ARM по энергоэффективности в отдельных сценариях
В 2025 году компания Renesas выпустила тридцатидвухразрядный RISC-V микроконтроллер общего назначения с током потребления в режиме ожидания всего три десятых микроампера.
Общепринятое определение для режима ожидания (standby mode) таково: состояние микросхемы, при котором центральный процессор остановлен, но сохраняется питание на критически важных регистрах и цепях пробуждения, что позволяет устройству «спать» месяцами от батарейки-таблетки.
Для сравнения, типичный Cortex-M0+ в аналогичном режиме потребляет около одного микроампера.
Разница кажется копеечной, но в масштабах устройства, которое должно проработать от батареи три года, это дополнительные месяцы жизни.
Что говорят лидеры отрасли
«Открытая архитектура RISC-V не просто снижает стоимость лицензирования - она меняет саму философию проектирования, позволяя инженеру убрать всё лишнее и оставить только то, что нужно его задаче».
- Крист Асманович, исполнительный директор SiFive.
«Если вы делаете промышленный контроллер, не гонитесь за частотой. Гонитесь за гарантированным сроком поставки и температурным диапазоном. Лучший микроконтроллер - тот, который не снимут с производства через полгода после вашего релиза».
- Из выступления технического директора российской компании-интегратора АСУ ТП на конференции Embedded Russia.
Самое время для полезностей: три чек-листа для выбора
Как выбрать микроконтроллер для умного дома за семь шагов
- Определите, будет ли устройство работать от батареи или от сети — это сразу сузит круг по энергопотреблению.
- Составьте список датчиков и исполнительных устройств: каждому нужен интерфейс (I2C, SPI, UART), и не все контроллеры имеют их в нужном количестве.
- Оцените, нужна ли беспроводная связь - если да, ищите контроллер со встроенным радиомодулем (ESP32, nRF52) или убедитесь, что внешний модуль поддерживается библиотеками.
- Посмотрите, есть ли готовые библиотеки для ваших датчиков под выбранную архитектуру - для ARM их больше, для RISC-V пока меньше.
- Проверьте, насколько активно сообщество: форумы, статьи, примеры проектов - это сэкономит десятки часов отладки.
- Оцените стоимость не только чипа, но и отладочной платы, программатора и среды разработки - в противном случае полная стоимость владения может удивить.
- Сделайте прототип на макетной плате и погоняйте его неделю- только так вы поймёте, удобно ли вам с этой экосистемой.
Десять способов не провалить проект на этапе выбора контроллера
- Не выбирайте контроллер только по тактовой частоте.
- Проверьте, выпускается ли выбранная модель последние три года и не объявлена ли она устаревшей.
- Убедитесь, что вся необходимая периферия физически доступна на выводах, а не заблокирована.
- Скачайте среду разработки и попробуйте скомпилировать пустой проект — если с ходу не собирается, это тревожный звонок.
- Найдите хотя бы два реальных проекта на GitHub с этим контроллером.
- Оцените сложность разводки печатной платы: некоторые контроллеры требуют четырёхслойную плату, что удорожает производство.
- Закажите образцы до начала проектирования - не все позиции есть в реальной доступности.
- Проверьте, есть ли русскоязычная документация или хотя бы англоязычная в открытом доступе.
- Учтите, что RISC-V контроллеры могут требовать более свежих версий инструментов, чем те, что стоят в стабильных репозиториях.
- Запланируйте время на миграцию: то, что работает на отладке, может повести себя иначе в серийной плате.
Как Антон перестал метаться и выбрал нужное за час
Он взял лист бумаги и выписал три сценария: умный дом для себя, коммерческий заказ на робота-мойщика окон и экспериментальный проект с машинным обучением на краю сети.
Для дома выбрал AVR (Arduino Nano) - потому что дёшево и библиотек навалом.
Для коммерческого заказа взял STM32F4 - потому что нужна была производительность и стабильность поставок.
Для эксперимента - RISC-V плату Sipeed Longan Nano - потому что интересно.
Час работы, три разных решения, и ни одного универсального ответа.
В этом и есть мудрость: универсального микроконтроллера не существует.
Если вам понравился этот разбор, не забудьте поставить лайк и подписаться на блог «В мире ИТ» - и вы всегда будете в курсе того, что работает, а что только обещает.
В жизни бывает всякое, но - всё, что нас не убивает, делает нас сильнее
Один мой коллега, разрабатывая контроллер для теплицы, три месяца воевал с микроконтроллером, который идеально подходил по характеристикам, но имел одну неприятную особенность: его аналого-цифровой преобразователь (АЦП) шумел на ровном месте.
Проблема проявлялась только при температуре выше тридцати градусов.
В документации об этом не было ни слова - только в эррате (списке известных ошибок чипа) мелким шрифтом значилось: «при повышенной температуре возможно увеличение шума АЦП».
Он потратил месяц на поиск, но когда нашёл и заменил контроллер на другой, испытал странное чувство - не злость, а благодарность.
Потому что теперь он точно знает: перед выбором контроллера всегда читай эррату.
В современной психотерапии это называется посттравматическим ростом - когда после неприятного опыта человек не застревает в обиде, а приобретает новое, практически полезное знание.
Немного в меру ненаучной фантастики: Мультивселенная микроконтроллеров
В далёкой ветке мультивселенной, где закон Мура исчерпал себя ещё в девяностых, инженеры никогда не переходили на тридцатидвухразрядные ядра.
Их мир построен на восьмибитных AVR и PIC - и он прекрасен.
Там нет проблемы выбора архитектуры, зато есть особая магия: каждый микроконтроллер обладает характером, как живое существо.
Старые инженеры разговаривают с платами, уговаривают их работать в минус сорок и знают, что если погладить корпус пальцем перед подачей питания, кварцевый резонатор запустится быстрее.
Когда один из таких инженеров случайно открыл портал в нашу реальность и увидел RISC-V чип с ИИ-ускорителем размером с ноготь, он долго молчал, а потом сказал: «Интересно, а его тоже надо гладить?».
Метафора, которая научит вас логике и немного Python
Микроконтроллер - это функция в языке Python.
Вы вызываете её, передаёте параметры, она что-то делает и возвращает результат.
Вы не обязаны знать, как она устроена внутри - достаточно понимать её интерфейс.
AVR - это простая функция, которая принимает один аргумент и возвращает одно значение.
ARM - функция с десятком параметров и сложной логикой внутри.
RISC-V - это когда вы сами пишете тело функции, потому что так надо для задачи.
PIC - это функция из чужого модуля, которая работает безотказно уже двадцать лет, но её документация на языке, который вы учили в техникуме и почти забыли.
Хороший программист знает, когда какую функцию вызывать.
Перетряхнём всё это, разложим по полочкам и получим новые смыслы
Итак, выбор микроконтроллера - это не гонка за лучшими характеристиками, а поиск баланса между задачей, бюджетом, сроками и вашим личным комфортом в экосистеме.
Для умного дома на батарейках - ARM или RISC-V с низким потреблением.
Для робототехники, где нужна скорость и библиотеки, - Cortex-M4 или M7. Для промышленного контроллера, который должен работать десять лет при любой погоде, - PIC или AVR с подтверждённым температурным диапазоном.
Для учебного проекта - то, что заведётся с пол-оборота.
Для экспериментов - RISC-V, потому что за ним будущее и туда ещё не натоптали тропинок.
Задайте себе один вопрос перед тем, как открыть даташит: «Что должно произойти, чтобы через год я не пожалел о сегодняшнем выборе?».
И пусть этот вопрос ведёт вас к правильному решению.
Развивающие и творческие материалы для вас и ваших детей
Сделайте глубокий вдох и позвольте плечам опуститься.
Представьте себе тихий вечер, когда все рабочие чаты замолкают и остаётся только свет настольной лампы.
Вы много трудитесь, решаете сложные задачи, ищете оптимальные конфигурации и боретесь с багами.
Но есть вещи, которые не требуют усилий.
Они уже созданы и просто лежат, ожидая, когда вы обратите на них внимание.
Красочные, продуманные материалы, развивающие логику, мышление и творческое начало.
Смотреть полный каталог материалов
Здесь собраны задания для любого возраста — от первых логических упражнений до сложных творческих проектов.
Читать ресурс с навигацией по возрастам и темам
Удобный каталог, где сразу видно, что подойдёт вашему ребёнку или ученику.
Перейти к подборке ребусов
Ребусы - это гимнастика для ума, которая развивает нестандартное мышление и дарит минуты сосредоточенной радости.
Вы можете сохранить эти ссылки и забыть о них до завтра.
Когда захочется тишины и уюта - они будут ждать.
Ниже читателя ждёт чек-лист с комфортным алгоритмом применения материалов и небольшой рассказ о пользе.
Как применять развивающие материалы с максимальной пользой и с сохранением родительского покоя
- Выберите время, когда ребёнок (любого возраста) сыт и спокоен.
- Положите распечатанный лист на видное место и отойдите.
- Не объясняйте задание, если ребёнок не просит - пусть сам исследует.
- Засеките таймер, но не показывайте его.
- Когда ребёнок захочет поделиться - слушайте, не поправляя.
Немного помечтаем
Однажды мы заметили, что дети, которым давали красочные развивающие задания без жёстких инструкций, начинали меньше бояться ошибок.
Они переставали спрашивать «а правильно ли я делаю» и начинали говорить «смотри, что вышло».
Это дорогого стоит.
И для взрослого, уставшего от дедлайнов, наблюдение за этим процессом - как глоток свежего воздуха.
Можно просто сидеть рядом, смотреть, как карандаш скользит по бумаге, и чувствовать, что мир не ограничивается рабочими чатами.
Чек-лист просто структурирует процесс, чтобы полезное не превратилось в скучную обязанность.
Пусть уют и спокойствие будут вашими спутниками на этом пути.
Бонус для подписчиков «В мире ИТ». Это интересно
Ток утечки затвора полевого транзистора в микроконтроллере - это не просто паразитный эффект, а точный инструмент для измерения температуры кристалла.
И почти никто за пределами профессиональной схемотехники об этом не говорит.
Общепринятое определение таково: ток утечки затвора (gate leakage current) - это сверхмалый ток, протекающий через изолирующий слой под затвором полевого транзистора, возникающий из-за квантового туннелирования носителей заряда.
В бытовой аналогии это как вода, которая по каплям просачивается сквозь, казалось бы, целую резиновую прокладку.
В даташите микроконтроллера STM32F103 этот ток нормирован на уровне не более плюс-минус одного микроампера при комнатной температуре.
Но вот что любопытно: в более детальной документации для профессионалов (аппноуты по аналоговой периферии) указано, что этот ток удваивается примерно с каждыми десятью градусами Цельсия.
При восьмидесяти пяти градусах он достигает уже нескольких микроампер, а при ста двадцати пяти - десятков.
И если вы проектируете прецизионный измеритель, опирающийся на входной каскад с высоким импедансом, этот ток создаст падение напряжения на входном резисторе, имитируя ложный сигнал.
Погрешность может составить десятки милливольт.
В краткой инструкции для начинающих пишут: «используйте операционный усилитель в качестве буфера».
В детальной документации для профессионалов - «учитывайте температурный дрейф тока утечки при расчёте входных цепей и выбирайте резисторы номиналом не более ста килоом».
На практике знание этого эффекта однажды спасло наш проект: термометр на термопаре показывал чепуху при нагреве корпуса выше шестидесяти градусов, и мы три дня искали ошибку в коде, пока не вспомнили про этот абзац в аппноуте.
Забавно, что эффект, который мешает измерителям, сам по себе может служить датчиком температуры.
Некоторые измерительные микросхемы внутри себя используют именно ток утечки затвора для контроля температуры кристалла - потому что он предсказуем и не требует дополнительного аналого-цифрового канала.
Этот бонус не научит вас проектировать идеальный измеритель, но даст богатую пищу для ума и, возможно, убережёт от тех ошибок, на которые мы сами когда-то потратили уйму времени.
Читать больше материалов по информационным технологиям блога "В мире ИТ" на Дзен:
Управление дронами силой мысли: глобальные лидеры технологии
Новая методология обработки данных с Graph Rag
Неинвазивные технологии взаимодействия с разумом 2024
Механические насекомые
ТОП-5 самых мощных суперкомпьютеров 2024 года