user

Авторизация

Добро пожаловать!

Регистрация

Undefined666

Технологии

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. Сетевой порт подключен к сети и может управлять большим количеством периферийных устройств, которые предназначены для бытовой электроники и промышленного управления.

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