Stm32 какую выбрать
Перейти к содержимому

Stm32 какую выбрать

  • автор:

ESP32 vs STM32, что лучше и как выбрать 2023

Для специалистов микроконтроллеров STM32 должен быть серией микроконтроллеров, которые более знакомы, в то время как ESP32 относительно незнаком. Но судя по названию, оба должны быть 32-битными микроконтроллерами. Итак, какова связь между ними, или у кого из них производительность лучше, а у кого хуже? Сегодня, как энтузиаст микроконтроллеров, позвольте мне кратко проанализировать тему ESP32 vs STM32.

Введение STM32

Серия STM32 предназначена для ядер ARM Cortex-M0, M0+, M3, M4 и M7 и предназначена для встраиваемых приложений, требующих высокой производительности, низкой стоимости и низкого энергопотребления. Разделены на разные продукты в соответствии с базовой архитектурой:

Основные продукты (STM32F0, STM32F1, STM32F3), продукты со сверхнизким энергопотреблением (STM32L0, STM32L1, STM32L4, STM32L4+), высокопроизводительные продукты (STM32F2, STM32F4, STM32F7, STM32H7)

Характеристики STM32

1. STM32 — это версия ядра руки, которая намного более продвинута, чем традиционный микроконтроллер «51». Есть много ресурсов, которых нет у «51», например контроллера usb.

2. Программы микроконтроллера STM32 имеют модульную структуру, а интерфейс относительно прост, поскольку имеет множество функций и работает быстро. Однако у «51» мало собственных функций, требуется много периферийных компонентов и знакомство с электроникой.

3. До появления взаимосвязанных микроконтроллеров серий STM32F105 и STM32F107 компания STMicroelectronics выпустила базовую серию STM32, расширенную серию, базовую серию USB и дополнительную серию; новая серия продуктов соответствует частоте обработки 72 МГц расширенной серии. Память включает флэш-память от 64 КБ до 256 КБ и встроенную SRAM от 20 КБ до 64 КБ. Новая серия поставляется в трех корпусах: LQFP64, LQFP100 и LFBGA100.

Введение ESP32

ESP32 — это серия недорогих маломощных микроконтроллеров со встроенным Wi-Fi и двухрежимным Bluetooth. В серии ESP32 используется микропроцессор Tensilica Xtensa LX6, включая двухъядерные и одноядерные версии, встроенный антенный переключатель, радиочастотный модуль, усилитель мощности, приемный усилитель с низким уровнем шума, фильтр и модуль управления питанием.

Преимущества ESP32

№1. Дешевый

Для многих систем IoT значительная часть стоимости спецификации (BOM) приходится на подключение и микроконтроллеры. Модули ESP32 очень недороги по сравнению со многими другими решениями для подключения, представленными сегодня на рынке.

№ 2. Комбинированный модуль Bluetooth/Wi-Fi.

Когда дело доходит до IoT, определенно необходимо иметь возможность поддерживать несколько решений для подключения. В некоторых случаях Bluetooth может лучше подходить для локального подключения, в то время как подключение Wi-Fi необходимо для облачного и удаленного взаимодействия с устройствами. Когда один модуль может предоставить оба решения, это, безусловно, беспроигрышный вариант не только для разработчика, но и для конечного пользователя. Если для продукта требуется только подключение к Wi-Fi, стек Bluetooth можно отключить или оставить Bluetooth в качестве функции, добавленной позже. Некоторые клиенты выбрали возможности Wi-Fi ESP32, а затем включили Bluetooth, чтобы расширить набор функций для своих продуктов.

№3. Он имеет широкую поддержку экосистемы

У ESP32 удивительно широкая экосистема. Хотя изначально можно найти множество наборов инструментов и библиотек с открытым исходным кодом или для любителей, таких как те, которые предоставляются через Arduino IDE, также доступны более профессиональные среды. Например, инструменты разработки и программные среды, предоставляемые Espressif, кажутся достаточно надежными, чтобы удовлетворить потребности большинства разработчиков встраиваемых систем, а в экосистеме Amazon FreeRTOS даже есть поддержка ESP32.

№ 4. Опции, доступные для дополнительной флэш-памяти и pSRAM

Возможность масштабирования решения с объемом внешней флэш-памяти, включенной в модуль ESP32, помогает определить размер хранилища данных для приложения. Есть даже некоторые модули, такие как ESP32-WROVER, которые могут расширять оперативную память через pSRAM, подключенную к внутренней шине SPI микроконтроллера. pSRAM может расширить ОЗУ до 4 МБ, что дает модулю достаточно памяти практически для любого приложения.

№ 5. Вы можете установить и запустить MicroPython

ESP32 может установить MicroPython на модуль и разрабатывать приложения с помощью Python. Это не обязательно предпочтительное решение для производственных систем, но оно дает возможность быстро создать прототип системы и доказать, что она работает.

Вкратце: потенциал использования этих модулей для снижения затрат за счет интеграции нескольких решений для подключения в один модуль высок, возможность расширения памяти модуля даже дает возможность того, что весь интеллект также может содержаться в самом модуле ESP32. Тщательное разделение программного обеспечения позволяет разработчикам встраиваемых систем решать проблемы с подключением и программными ограничениями в режиме реального времени в одном недорогом модуле.

ESP32 VS STM32, что лучше?

В первую очередь поговорим о STM32, с которым должен быть знаком каждый. STMicroelectronics выпустила первый в мире продукт STM32, серию F1, 11 июня 2007 года, основанную на ядре ARM-CORTEX. В последующие годы последовательно выпускались самые разные продукты с разным позиционированием и направлениями. Существуют серии L с низким энергопотреблением, высокопроизводительные серии F2 и F4, недорогие серии F0, высокоскоростные серии F7 и так далее.

Таким образом, вы обнаружите, что STM32 — это не конкретная модель микроконтроллера, а собирательное название одной или нескольких серий семейств микроконтроллеров, основанных на ядре ARM.

Итак, что такое ESP32?

Это чип с двухъядерной системой, состоящий из двух процессоров Xtensa LX6 гарвардской структуры, выпущенных Espressif. Вся встроенная память, внешняя память и периферийные устройства распределены по шинам данных и/или команд двух ЦП.

По сравнению с большим семейством STM32, хотя ESP32 также представляет собой серию, но в настоящее время члены этой серии все еще относительно малы, давайте посмотрим:

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

  • ЦП: двухъядерный (или одноядерный) 32-разрядный микропроцессор Xtensa LX6, работающий на частоте 160/240 МГц и обеспечивающий производительность до 600 DMIPS.
  • Сопроцессор со сверхнизким энергопотреблением (ULP)
  • Память: 320 КБ ОЗУ, 448 КБ ПЗУ
  • Беспроводное подключение:
  • Wi-Fi: 802.11 б/г/н
  • Bluetooth: v4.2 BR/EDR и BLE (совместно с Wi-Fi)
  • Периферийные интерфейсы:
  • 34 × программируемых GPIO
  • 12-разрядный АЦП последовательного приближения до 18 каналов
  • 2 × 8-битных ЦАП
  • 10 сенсорных датчиков (емкостные GPIO)
  • 4 × СПИ
  • 2 интерфейса I2S
  • 2 × интерфейса I2C
  • 3 х UART
  • Хост-контроллер SD/SDIO/CE-ATA/MMC/eMMC
  • Ведомый контроллер SDIO/SPI
  • Ethernet-интерфейс MAC с выделенным прямым доступом к памяти и запланированной поддержкой протокола точного времени IEEE 1588.
  • CAN-шина 2.0
  • Инфракрасный пульт дистанционного управления (TX/RX, до 8 каналов)
  • ШИМ двигателя
  • LED PWM (до 16 каналов)
  • Датчик Холла
  • Сверхмаломощный аналоговый предусилитель

Функциональная блок-схема выглядит следующим образом:

Распределение контактов модуля (нечипового) следующее:

Вы обнаружите, что в модуле ESP32 не так много входов-выходов, и, по оценкам, их всего около 30 (чип имеет 34, но внешняя флэш-память в модуле использует некоторые из них). Но вы обнаружите, что у него есть несколько характеристик:

1. Он объединяет множество периферийных интерфейсов, таких как SPI, IIC, IIS, AD, DA, PWM, IR, UART, CAN и т. д. Существует ограниченное количество IO, поэтому в основном каждый IO имеет несколько функций.

2. Встроенная флэш-память и оперативная память очень большие, флэш-память 448 КБ, а оперативная память 520 КБ. А прямо на модуль вешается флешка на 4Мб. Это слишком большое!

3. Быстро! Хотя частота внешнего кристалла составляет всего 40 МГц, он может поддерживать 80 МГц, 160 МГц, 240 МГц через внутреннюю основную частоту, а вычислительная мощность достигает 600 MIPS.

4. Есть вайфай и блютуз! В настоящее время оба не могут быть использованы одновременно.

Итак, как он соотносится с STM32? Другими словами, какой из STM32 мы используем для сравнения с ESP32?

Здесь я выбрал STM32F407VET6 ,

Сравнив их, вы обнаружите, что STM32F407 имеет следующие характеристики:

1. GPIO очень много, 82, и много функций типа UART, IIC, SPI, PWM, AD, DA и т.д., но недостатка в GPIO типа ESP32 не будет.

2. Основная частота составляет 168 МГц, что ниже, чем 240 Гц ESP32. Вычислительная мощность составляет 210 DMIPS, что также ниже.

3. Вспышка и оперативная память относительно малы.

4. Проводной сетевой порт не может получить доступ к Интернету по беспроводной сети.

После сравнения ESP32 VS STM32 вы обнаружите, что они в основном имеют разные позиции. ESP32, как правило, небольшой по размеру, сверхбыстрый и мощный. Он подключается к сети через Wi-Fi и специально создан для Интернета вещей; в то время как STM32, как правило, имеет богатые контакты и комплексные функции. Хотя у него нет Wi-Fi и Bluetooth, а скорость не такая высокая, как у ESP32. Сетевой порт подключен к сети и может управлять большим количеством периферийных устройств, которые предназначены для бытовой электроники и промышленного управления.

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

[Решено] STM32. Какую плату и микроконтроллер выбрать начинающему?

Всем доброго дня! Хочу начать знакомиться с миром STM32 ) Подскажите, пожалуйста, какую лучше всего взять плату начинающему, какой выбрать микроконтроллер? Что еще может понадобиться для первых шагов в освоении?

Создатель темы Размещено : 20.01.2023 19:51
Метки темы

Добрый день ) Я бы посоветовал STM32F411 (готовую плату), на ней оперативка большая (для цветного экрана 240х240 хватит) и готовых примеров хватает !

Ответить Цитата
Размещено : 21.01.2023 09:10
Top level Admin

Присоединяюсь) Массово распространена так называемая Blue Pill на базе STM32F103. Но я бы тоже порекомендовал аналогичную плату с того же Алиэкспресса, но с STM32F411. И, соответственно, программатор ST-Link, вот тут и платы и ST-Link есть вроде как (ссылка). Ссылки я не прорабатывал — цена, отзывы итд итп, чисто для примера первые из поиска привел.

Ответить Цитата
Размещено : 21.01.2023 13:09
Level 4 Moderator

А я бы взял F411 и Maple, вместо BluePill. Это то же самое,но памяти поболее. А почему такая пара? У них по разному организована инициализация GPIO и нужно знать обе, но начать с F411.

Ответить Цитата
Размещено : 21.01.2023 14:12
Top level Admin
От: @eduard
А почему такая пара?

Самые распространенные.
Ответить Цитата
Размещено : 21.01.2023 15:02

Если будет желание пользоваться утилитой STM программатором, то можно купить любую (лучше новую — белую) плату дискавери. Китайские клоны работают в stm ide, а ихний программер поддерживает только оригиналы (дискавери, на них есть выходы для подключения внешнего контроллера) Это так, необязательно, дополнение )

Ответить Цитата
Размещено : 22.01.2023 04:08
Top level Admin

  • Discovery
  • Nucleo

И первый вариант, и второй — полноценное семейство плат, то есть можно подобрать конкретный вариант под свои нужды. Но! Цена соответствующая, то есть на порядок дороже китайских/не официальных плат.

Ответить Цитата
Размещено : 23.01.2023 10:34
New member

Всем большое спасибо! Наверно остановлюсь пока на более дешевых вариантах. а там уже как пойдет ))) Я правильно понял, что вот такой программатор:

image

Подходит для любых плат и микроконтроллеров? И там отладчик уже «встроен»?

Ответить Цитата
Создатель темы Размещено : 24.01.2023 10:33

Это тоже не оригинальный, подороже, но с cube ide работает )

(тот который на снимке выше — не пробовал)

Ответить Цитата
Размещено : 24.01.2023 13:42
New member

Спасибо еще раз)

Ответить Цитата
Создатель темы Размещено : 24.01.2023 17:45
Level 4 Moderator
От: @roman-3-2

Подходит для любых плат и микроконтроллеров? И там отладчик уже «встроен»?

Я только такими свистками и пользуюсь. Отлаживать с ним можно, правда есть одно НО. Это НО касается даже оригинальных программаторов.

Если на плате, которую нужно программировать, стоит чип STM32 отладка работает из коробки (под CubeIDE, на других не пробовал), если китайский (У меня CS32, на GD32 не пробовал), то отладка запускается через геморой.

По крайней мере у меня так было.

Как подобрать STM32?

Всем доброго дня,
Встал вопрос в сторону изучения и выбора STM32, но их великое множество, существует серия с пониженным потреблением энергии, существует производительная и тд, с этим понятно, ровно как и с набором внешних интерфейсов, но вот как же выбрать или посчитать обьем требуемого флеша и оперативной памяти, так чтобы хватило на разработку с дебагом и последующей перспективой обновления и всякого допиливания?

  • Вопрос задан более трёх лет назад
  • 2070 просмотров

2 комментария

Простой 2 комментария

2ord

Вопрос инструментария разработки уже улажен?
Anatolii Priutts @prutz Автор вопроса
Девелопмент борд заказан и едет, остальное пока в процессе выбора
Решения вопроса 0
Ответы на вопрос 3
HiTechSpoon @HiTechSpoon

В общем случае выбор конкретного микроконтроллера зависит от задачи и вашего личного опыта. Если вы хорошо знакомы с линейкой, или несколькими, микроконтроллеров, знаете, какие технологии в них доступны и как вы их будете применять, хорошо представляете себе задачу и архитектуру будущего приложения, то выбор конкретного микроконтроллера, как правило не составляет труда.
В особых случаях, когда вам не известна архитектура будущего приложения и/или возможности конкретного микроконтроллера, приобретается различные Средства Разработки Микроконтроллеров — отладочные, или по-другому, оценочные платы, выпускаемые производителями микроконтроллеров. На этих платах установлен интересующий вас микроконтроллер, как правило, со всевозможной периферией и предзагруженной прошивкой — для тестирования, чтобы поиграться. Для микроконтроллера на этой отладочной плате пишется некоторая часть ПО и в какой-то момент становится ясно, хватит ли мощности данного микроконтроллера. Бывает, что выбранный микроконтроллер слишком мощный, а значит и слишком дорогой для целевой задачи, тогда можно перейти на контроллер попроще и подешевле.
Однако в реальной жизни даже опытные разработчики могут столкнуться с недостатком вычислительной мощности или недостаточным объемом RAM/ROM где-то в середине/конце сдачи изделия, и тогда ничего другого не остается, кроме как заменить существующий микроконтроллер на более мощный, с большим объемом памяти, или, например, на контроллер со специфичной периферией. Печатную плату приходится переделывать, но это, как правило, обходится малой кровью, хотя бывают и совсем бескровные переделки — например, когда производитель выпускает линейку микроконтроллеров различных по мощности и цене, но совместимых по посадочным площадкам (т.н. пин-ту-пин совместимость).
Надеюсь, ответил на ваш вопрос.

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

объем програмки зависит только от используемого ПО.
будешь писать на ассемблере/С получишь маленький объем.
будешь писать на высомудреных языках — потеряешь кучу памяти на дополнительных обвесах, проверках, функциональности и прочия.
ну и плюс размер библиотек, размер интерпертаров в случае всяких node.js micropython
решать тебе

Ответ написан более трёх лет назад
Нравится 1 1 комментарий

2ord

Есть ещё язык Оберон, компактнее чем Си, хотя и менее оптимизированный по производительности чем GCC toolchain. Если интересно, можно поискать информацию об Astrobe.

Какой лучше микроконтроллер для проектов: PIC или STM?

Здравствуйте! Хочу узнать мнения по поводу выбора микроконтроллера для проекта. Из практики заметил, что многие выбирают микроконтроллер STM32, хотя есть другие решения. Например, для устройства, которое передает значения датчика через UART интерфейс с использованием wi-fi или Bluetooth, может подойти 8 битный микроконтроллер, скажем Pic16 или Atmega, но многие используют STM32.

Были клиенты, которые говорили: только PIC или STM32. Мое мнение, что микроконтроллер нужно выбирать такой, который может решить поставленные задачи и цена контроллера, если принципиально. Что Вы думаете об этом?

�� Подобається Сподобалось 0

До обраного В обраному 0

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

22 коментарі

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

выбор гораздо шире

Andriy Neborak Embedded software developer в GlobalLogic 26.12.2020 11:12

Я бы поделил так:
1. Что есть из контроллеров под задачу.
Часто решает вопрос нужная периферия или возможность её реализовать программно при достаточной производительности. В некоторых задачах пытались уйти с PIC18F на STM32F0/1. Все попытки заканчивались, что для некоторых моментов важно наличие 5В, пушпульного выхода и возможность отдать 200 мА в целом на порт (не один вывод, а в сумме на 8 линий), потому, что белый светодиод не зажечь от 3.3В и прочие вопросы.
2. Вопрос цены контроллера и устройства в целом
Стоимость более дорогого контроллера можно «размазать» в себестоимости устройства.
Может быть ситуация когда контроллер с нужными характеристиками будет стоить столько же сколько и контроллер попроще + внешний модуль. У меня было устройство, которое должно было работать от 2В (2xNi-Mg в полном разряде), был вариант поставить dc/dc step-up до 3.3В или взять stm8l151. Выбрал второй вариант из-за упрощения схемы.
3. Наличие разработчиков
Когда читаем на ДОУ сколько всего людей занимается разработкой на stm32, то возникает ощущение большого комьюнити, когда начинаешь искать разработчиков где-то в Кременчуге, то из 10 кандидатов (поднимая знакомства в местном институте, через коллег и родственников) находишь более-менее подходящего, который много работал с Ардуино. Берешь его и начинаешь обучать желаемому микроконтроллеру.
4. Есть еще нишевые вещи, которые пока можно решить только на PIC или STM. Например, пока еще нет в широкой продаже конкурента PIC10F на 6 нок в sot23-5 корпусе по габаритам. Туда же наличие радио модуля внутри или спец. АЦП, ЦАПов, ШИМов и пр.

stm32 и ардунио используют, потому что много примеров в интернете, если чуть в бок того или иного датчика или задачи и все на этом заканчивается. Многие просто копируют код и не особо разбираются. Поэтому думаю, так сложно с разработчиками. Здесь нужно покупать микроконтроллеры, разные датчики, паять и т.д. изучать программирование. Много факторов, которые влияют на уровень подготовки.

Dmitriy Mozgovoy JavaScript / NodeJS Developer 29.12.2020 15:44

Ну дак в PIC/AVR дофига готового кода, наличие мк в DIP, да и SMD корпусе с большим шагом ножек, что важно для хобби, а в остальных кейсах сложно представить, чтобы юзали это унылое Г, когда любой СТМ на три головы выше во всех планах и в 3 раза дешевле.

потому, что белый светодиод не зажечь от 3.3В и прочие вопросы.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *