Porównanie mikrokontrolerów STM32 i ESP32

Czas czytania: 4 min.

ESP32 i STM32 to dwa rodzaje mikrokontrolerów, które mają szeroki zakres zastosowań na rynku. W świecie informacji internetowej wielokrotnie podejmowano próby odpowiedzi na tematyczne pytanie posługując się różnymi testami wydajności, parametrami technicznymi itp. Moduły te charakteryzują się wysoką wydajnością i są w stanie sprostać wymaganiom nowoczesnych urządzeń. Mając do dyspozycji te dwa układy, każdy projektant, konstruktor będzie musiał wybrać najlepszą opcję dla swojego projektu niezależnie czy jest on komercyjny czy też hobbystyczny. W poniższym opisie dokonane zostanie porównanie mikrokontrolerów ESP32STM32 wraz z odpowiedzią na zadane w tytule pytanie. 

Charakterystyka mikrokontrolera STM32

STM32 to mikrokontroler, który ma ugruntowaną pozycję na rynku. Wyprodukowany przez firmę ST Microelectronics. Układ ten jest przeznaczony do bardziej wymagających zastosowań, ale o niskim poborze mocy. Moduł jest idealnym rozwiązaniem dla projektantów, konstruktorów urządzeń, którym zależy, aby urządzenie zużywało mniej energii, ale zapewniało dużą wydajność. 

Mikrokontrolery STM32 są funkcjonalne i zaprojektowane do obsługi różnych urządzeń peryferyjnych. Rozwiązanie oparte jest o architekturę ARM Cortex, obsługując różne peryferia takie jak timery, interfejsy komunikacyjne, GPIO oraz konwertery sygnałów.

Wszystkie te urządzenia peryferyjne sprawiają, że STM32 nadaje się do zastosowań wbudowanych, takich jak między innymi urządzenia medyczne, sprzęt gospodarstwa domowego i elektronika samochodowa. Jest idealnym wyborem dla aplikacji wrażliwych na moc.

STM32L0 - Discovery - LoRa B-L072Z-LRWAN1.

Szeroka gama  rozwiązań pozwala na duży wybór według potrzeb projektanta na produkty o :

  • bardzo niskim poborze mocy (STM32L0, STM32L1, STM32L4, STM32L4+),
  • wysokiej wydajności (STM32F2, STM32F4, STM32F7, STM32H7).
 

Funkcje i specyfikacje STM32

Procesory

Parametry procesora uzależnione są od wersji mikrokontrolera, czyli wersji modułu STM32.

Pamięć

Mikrokontroler posiada pamięć statyczną ogólnego przeznaczenia (pojemność do 192 KB) oraz sprzężoną z rdzeniem (o pojemności 64 KB). Warto wspomnieć jeszcze o pojemnościach trzech innych rodzajów pamięci w STM32: podtrzymywana bateryjnie (do 80 bajtów), Flash (obejmuje 512/1024/2048 KB), oraz pamięć systemu startowego (do 512 KB pamięci danych).

Urządzenia peryferyjne

Rodzina mikrokontrolerów STM32 ma wszystkie urządzenia peryferyjne, które można znaleźć w większości układów scalonych. Obejmują one między innymi USB 2.0 OTG, FS, CAN 2.0B, trzy I2C, USART, SDIO obsługujące karty SD/MMC, bit timery, timery watchdog, czujniki temperatury, DMA, cykliczne kontrole redundancji.

Interfejsy

Interfejsy dla SMT32 obejmują interfejsy Ethernet i kamery, kontroler LCD-TFT, procesor kryptograficzny i procesory mieszające.

Wydajność

Mikrokontroler posiada wewnętrzne oscylatory o częstotliwości 16MHz i 32kHz. Jego napięcie robocze mieści się w zakresie od 1,8 do 3,6 V.

Podsumowanie: STM32

STM32 jest oparty na procesorze ARM Cortex-M3 co oznacza, że jest w stanie zapewnić dużą wydajność. Ten procesor jest również znany z niskiego zużycia energii i przystępnej ceny. Obsługuje wiele zestawów urządzeń peryferyjnych. Mikrokontroler STM32 jest elastycznym rozwiązaniem, obsługuje szeroką gamę narzędzi programistycznych potrzebnych do produkcji produktów IoT. Wadą tego mikrokontrolera może okazać się fakt ograniczonych funkcji ochrony kodu.

Charakterystyka mikrokontrolera ESP32

ESP32 jest zaliczany do najbardziej przystępnych cenowo i energooszczędnych mikrokontrolerów na rynku. Został stworzony i opracowany przez firmę Expressif Systems. Na rynku mikrokontrolerów jest często określany jako zamiennik ESP8266, jednak z dużo lepszą wydajnością niż jego poprzednik.

ESP32 jest zintegrowany z funkcjami łączności Bluetooth i Wi-Fi. Bazuje na procesorze Tensilica Xtensa LX6, który może pracować jako rozwiązanie jednordzeniowe lub dwurdzeniowe, ale można spotkać też takie, które opierają się na dwurdzeniowym procesorze Xtensa LX7.

ESP32 jest wyposażony w wiele funkcji, takich jak wzmacniacz mocy, filtry, moduły zarządzania energią i wiele innych. Ma wbudowane mnóstwo urządzeń peryferyjnych, takich jak ADC, GPIO, DAC i I2S. Posiada wysokowydajny mikrokontroler, który może być powszechnie stosowany w projektach IoT.

ESP32 WiFi + BT 4.2- platforma z modułem ESP-WROOM-32 zgodny z ESP32-DevKit.

Funkcje i specyfikacje ESP32

Procesory

ESP32 jest wyposażony w procesor Xtensa, który może być dwurdzeniowy lub jednordzeniowy. Jego częstotliwość robocza wynosi między 160 a 240 MHz. Mikrokontroler wykorzystuje procesor o bardzo niskim zużyciu energii (ULP).

Pamięć

Pojemność pamięci tego procesora to 320 kb RAM i 448 kb ROM.

Łączność

Bluetooth: v4.2 BR/EDR

Wi-Fi 802.11 b/g/n

Interfejsy peryferyjne

Mikrokontroler obsługuje różne urządzenia peryferyjne, w tym:

  • 12-bitowy SAR ADC, który został zaprojektowany do obsługi do 18 kanałów,
  • 2 × 8-bitowe przetworniki cyfrowo-analogowe,
  • 2 × interfejsy IC,
  • 2×interfejsy IS,
  • magistrala CAN 2.0,
  • interfejs Ethernet MAC z obsługą protokołu czasowego,
  • pilot zdalnego sterowania na podczerwień,
  • PWM i LED PWM obsługujący do 16 kanałów,
  • funkcjie interfejsów czujnika efektu Halla,
  • GPIO.

Podsumowanie: ESP32

ESP32 ma niskie zużycie energii, co jest najbardziej widoczną cechą tego mikrokontrolera. Pomimo tego jest w stanie zapewnić wysoką wydajność. Zapewnia zarówno funkcje łączności WiFi, jak i Bluetooth. Cechuje się dużą integracją, ponieważ  ESP32 został zaprojektowany do obsługi szerokiej gamy urządzeń peryferyjnych, oraz różnych interfejsów. Łatwy do zaprogramowania: mikrokontroler obsługuje języki programowania, takie jak C i Java.

Moduły ESP32 są stosunkowo niedrogie w porównaniu z wieloma innymi rozwiązaniami  dostępnymi obecnie na rynku. Możliwość skalowania rozwiązania z ilością zewnętrznej pamięci flash zawartej w module ESP32 pomaga określić rozmiar pamięci danych dla aplikacji. Istnieją nawet moduły, takie jak ESP32-WROVER, które mogą rozszerzać pamięć RAM za pośrednictwem pamięci pSRAM podłączonej do magistrali SPI wewnętrznego mikrokontrolera. pSRAM może rozszerzyć pamięć RAM nawet o 4 MB, zapewniając modułowi wystarczającą ilość pamięci dla prawie każdej aplikacji. Można zainstalować na nim MicroPython tworząc aplikacje języku Python. Niekoniecznie jest to preferowane rozwiązanie dla systemów komercyjnych, ale otwiera możliwość szybkiego prototypowania systemu.

Podsumowanie: STM32 oraz ESP32

Dla praktyków układy STM32 są z reguły częściej użytkowaną serią, podczas gdy ESP32 wykorzystywane są nieco rzadziej. Oba mikrokontrolery z racji nazwy są rozwiązaniami 32-bitowymi.

Po porównaniu ESP32 z STM32 można się  przekonać, że oba się minimalnie różnią.  Wybór między tymi dwoma mikrokontrolerami jest bardzo trudny. ESP32 jest zwykle mały, super szybki i wydajny. Jest podłączony do sieci przez Wi-Fi i jest stworzony specjalnie dla IoT; podczas gdy STM32 ma więcej możliwości podłączeń urządzeń peryferyjnych i wszechstronne funkcje. Chociaż nie ma Wi-Fi i Bluetooth, a prędkość nie jest tak szybka jak ESP32, poprzez port sieciowy może być podłączony do sieci i może kontrolować więcej urządzeń peryferyjnych. ESP32 ma znacznie mniejsze zużycie energii niż STM32. Jeśli problemem jest moc, mamy odpowiedź z którego rozwiązania skorzystać. Z drugiej strony STM32 ma więcej “peryferiów” niż ESP32. Jest bardziej odpowiedni do obsługi zaawansowanych aplikacji. Pod względem kosztów ESP32 jest tańszy niż STM32.  

Odpowiedź na pytanie, który jest lepszy – można powiedzieć, że nie istnieje. Aby na to odpowiedzieć, decyzję należy podjąć dla konkretnej aplikacji uwzględniając szczegółowe wymagania i ograniczenia projektowanej aplikacji.

Reasumując: ESP32 słynie ze zintegrowanego połączenia WiFi i Bluetooth, niskiego zużycia energii i prostoty użytkowania do eksperymentowania i prototypowania. Bardziej skomplikowana i wymagająca aplikacja może skorzystać z wydajności, wszechstronności i szerokiego wyboru urządzeń peryferyjnych i interfejsów STM32. Wybór należy do projektanta.

Jak oceniasz ten wpis blogowy?

Kliknij gwiazdkę, aby go ocenić!

Średnia ocena: 4.3 / 5. Liczba głosów: 49

Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.

Podziel się:

Picture of Witold Krieser

Witold Krieser

Doktor nauk technicznych, doradca zawodowy, posiada uprawnienia w zakresie zarządzania systemami informatycznymi. Pasjonat nowoczesnych technologii, egzaminator OKE, ECDL, ekspert MEN oraz audytor. Na co dzień wykładowca akademicki i nauczyciel oraz miniprzedsiębiorca.

Zobacz więcej:

Jedna odpowiedź

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ze względów bezpieczeństwa wymagane jest korzystanie z usługi Google reCAPTCHA, która podlega Polityce Prywatności oraz Warunkom użytkowania.