Platformu ESP32 používají čeští a slovenští vývojáři poměrně často, protože moduly ESP32 poskytují vynikající poměr cena/výkon. Moduly ESP32 jsou základem IoT zařízení díky podporované Wi-Fi a Bluetooth konektivitě i kvalitnímu SDK. Méně vývojářů ale používá samotné MCU řady ESP32, které nabízejí stejné benefity jako moduly a zároveň dobrý výběr konfigurace v závislosti na potřebách aplikace. Bonusem je, že RISC-V se dnes dostává na seznam moderních platforem a Espressif má oproti jiným výrobcům, kteří s RISC-V teprve začínají, velký náskok.
Espressif System, výrobce ekosystému ESP32, již před lety vystihl potřeby vývojářů. Výkonný a dostupný MCU s integrovanou konektivitou Wi-Fi a Bluetooth v jediném pouzdře je základním stavebním kamenem většiny IoT zařízení a embedded kontrolérů. Cena a dostupnost se odvíjí mimo jiné od základní technologie procesoru. Espressif vsadil na RISC-V s otevřeným instrukčním setem a aby vývojářům usnadnil život, vytvořil robustní softwarové vývojové prostředí, které překonává úskalí použité architektury. Ve výsledku se tak detailům o jednotlivých typech MCU věnuje málokdo, následující článek je představí o něco podrobněji.
Typický mikrokontroler ESP32. Zdroj: Wikipedie
Vlastnosti ESP32
Mezi klíčové vlastnosti mikrokontroleru ESP32 patří podpora Wi-Fi a Bluetooth, dostatečný výkon, miniaturní rozměry a velmi nízká spotřeba energie. Mikrokontroler ESP32 je vybaven důležitými periferiemi, a tak není nutné použít přídavné externí obvody. Tyto vnitřní periferie zajišťují spolehlivý provoz i v průmyslovém prostředí. Tomu odpovídá i rozsah provozních teplot -40 °C až +125 °C. Řadu ESP32 lze napájet napětím 3,3 V, a proto je vhodná pro bateriové aplikace jako je nositelná elektronika, chytré ovladače a aplikace IoT. Mikrokontrolery nabízí několik režimů napájení, dynamické škálování výkonu a funkce pro rychlou změnu taktování, a to umožňuje dosáhnout velmi nízké spotřeby energie.
Vysoká úroveň integrace umožnila zahrnout elektronické obvody typu vestavěný anténní spínač, RF balun, výkonový zesilovač, nízkošumový přijímačový zesilovač, filtry či moduly pro správu napájení přímo do mikrokontroleru ESP32. Díky tomu lze dosáhnout velmi malých rozměrů výsledného produktu. Pro komunikaci se vzdáleným nadřazeným systémem lze využít bezdrátovou komunikaci přes Wi-Fi a Bluetooth nebo standardní komunikační rozhraní SPI, SDIO a I2C/UART.
Funkční blokové schéma ESP32. Zdroj: Brian Krent prostřednictvím Wikimedia Commons
Architektura ESP32
Architektura ESP32 je založena na jádrech CPU Xtensa LXn, která používají modulární flexibilní 32bitovou architekturu RISC (Reduced Instruction Set Computer). RISC využívá redukovanou instrukční sad, díky níž lze mikrokontrolery škálovat od malého řadiče bez mezipaměti až po vysoce výkonné digitální signálové procesory.
Typická architektura RISC. Zdroj: javatpoint .
CPU Xtensa LXn
Zde je uveden seznam některých CPU Xtensa LXn, které jsou dostupné pro mikrokontrolery ESP32:
- LX6 – se používá v původním ESP32 a variantách ESP32-S. Xtensa LX6 je 32bitový nízkoenergetický mikroprocesor s dvoujádrovou nebo jednojádrovou variantou.
- LX7 – Základem LX7 je 32bitová RISC architektura procesoru. Datová mezipaměť a lokální paměti jsou integrovány přímo do křemíku LX7. Mikrokontrolery ESP32-S2 a ESP32-S3 využívají funkce LX7, které jsou vylepšením architektury LX6.
Architektura procesoru LX7. Zdroj: Cadence.
- RISC-V jádro – Mikrokontrolery ESP32-C3 a ESP32-C6 používají jednojádrové 32bitové RISC-V CPU. Architektura instrukční sady s otevřeným zdrojovým kódem (ISA) redukuje náklady na výrobu čipů na minimum. Architektura RISC používá 5 základních bloků: pevně připojenou řídicí jednotku (HCU), instrukční cache, datovou cache, datovou cestu a paměť. Těchto 5 jádrových bloků používá registry, a to umožňuje optimalizovat provozní rychlosti pro dané mikrokontrolery.
Podrodiny ESP32
Existuje mnoho mikrokontrolerů ESP32, ze kterých si lze vybrat ten nejvýhodnější pro danou aplikaci. Níže je seznam různých podrodin mikrokontrolerů ESP32 spolu s jejich vlastnostmi a funkcemi včetně příkladů aplikací, které s nimi lze vytvořit.
ESP32 (původní varianta)
Vlastnosti:
- Architektura jádra: Xtensa LX6 (jednojádrové nebo dvoujádrové)
- Rozsah frekvence: 80 MHz - 240 MHz
- Rozsah paměti RAM a ROM: až 520 kB RAM, 4 MB Flash
- 34 programovatelných GPIO, SPI, I2C, I2S, UART, ADC, Motor PWM, LED PWM
- Bezdrátové připojení: Wi-Fi a BLE
- Řízení spotřeby: Nízkoenergetický provoz s různými režimy spánku
- Bezpečnostní funkce: Hardwarové zabezpečení (např. bezpečné spouštění, šifrování)
Aplikace: Inteligentní domácí meteostanice (využívající duální jádro pro efektivní zpracování).
ESP32 DevKitM-1
Řada ESP32-S (nástupci)
- Základní architektura: Xtensa LX7 (dvoujádrový) – Vylepšený výkon a zabezpečení.
- ESP32-S2: Pouze Wi-Fi (bez Bluetooth)
- ESP32-S3: Wi-Fi a BLE
- Vylepšené taktování ve srovnání s původním ESP32
- Podpora USB
- Paměť: 320KB SRAM, 128K ROM
- 43 programovatelných GPIO, SPI, I2C, I2S, UART, ADC, LED PWM
Aplikace:
- ESP32-S2: Wi-Fi chytrá zásuvka (stačí jedno jádro LX7).
- ESP32-S3: nositelný fitness tracker (dvě jádra LX7 pro zpracování v reálném čase).
ESP32-S3 DevKitM-1
Řada ESP32-C (jádra RISC-V)
- Základní architektura: Jednojádrový 32bitový RISC-V (potenciálně nižší cena)
- ESP32-C3: Wi-Fi a BLE
- ESP32-C6 (připravované): Podrobnosti ještě nejsou plně potvrzeny.
- Rychlost hodin: Pravděpodobně podobný rozsah jako u jiných ESP32 (80 MHz - 240 MHz)
- Zvýšená kapacita paměti ve srovnání s ESP32-C3 (např. ESP32-C3: až 4 MB Flash, 400 kB RAM)
- 14 programovatelných GPIO, SPI, I2C, UART, LED PWM, ADC
- Bezdrátová konektivita (C3): Wi-Fi a BLE
Aplikace: ESP32-C3: Bezdrátový senzor vlhkosti půdy (senzorové aplikace).
ESP32-C6 DevKitM-1
ESP32-H2 (integruje konektivitu IEEE 802.15.4 s Bluetooth 5 Low Energy (LE).
- Základní architektura: Jednojádrový, 32bitový RISC-V mikrokontroler.
- Taktovací frekvence 96 MHz
- Paměť: 320 KB SRAM s 16 KB mezipaměti, 128 KB ROM a Flash pamětí 4 MB
- 19 programovatelných GPIO s podporou ADC
- SPI, UART, I2C, I2S, GDMA a LED PWM
- Bezdrátové připojení: IEEE 802.15.4 (Mesh Network) a Bluetooth 5 (LE)
Aplikace: ESP32-H: Systém inteligentního zemědělství (může monitorovat podmínky prostředí, jako je půda, teplota a úroveň osvětlení).
ESP32-H2 DevKitM-1
ESP32-P4 (napájen dvoujádrovým RISCV CPU)
- Obsahuje rozšířené funkce pro umělou inteligenci
- Pokročilý paměťový subsystém a integrované vysokorychlostní periferie
Aplikace: Rozhraní člověk-stroj (HMI) a Edge Computing
SDK sady pro vývoj s ESP32
Pro vývojové sady ESP32 poskytl Espressif Systems softwarové balíčky, které jsou volně stažitelné z úložiště GitHub. K dispozici je podrobná dokumentace a ukázkové příklady kódu, aby bylo zajištěno, že hlavní funkce každého mikrokontroleru ESP32 lze snadno konfigurovat a používat.
- ESP-IDF – Oficiální vývojový framework IoT pro řadu SoC ESP32, ESP32-S, ESP32-C a ESP32-H. SDK umožňuje vytvoření typických nebo obecných aplikací na těchto platformách mikrokontrolerů pomocí jazyku C a C++.
- ESP-Matter – Tato softwarová implementace protokolu Matter je výsledkem společného úsilí Computer Software Assurance (CSA) a jejich členů. Tato SDK sada umožňuje implementaci Matter na ovladačích Android a iOS. Mikrokontroléry ESP hrají nedílnou roli ve vývoji open-source Matter SDK.
- Arduino-ESP SDK – známé také jako jádro Arduino, je sada pro vývoj software pro ESP32. Jádro je součástí integrovaného vývojového prostředí Arduino (IDE). Arduino IDE je sbírka softwarových knihoven a ukázkového kódu pro vývojové sady a desky ESP32.
Závěr
Mikrokontroléry ESP32 nabízejí všestrannost a výkonná řešení nejen pro komerční, ale i pro průmyslové IoT aplikace. Ekosystém ESP32 představuje vysoký výkon, spolehlivou konektivitu, pokročilé bezpečnostní funkce, velmi malé rozměry a velmi malou spotřebu energie. ESP32 mikrokontrolery naleznou své uplatnění v energeticky účinných senzorech nebo odolných průmyslových monitorovacích systémech. Tento přehled usnadní výběr vhodného mikrokontroleru řady ESP32 pro daný typ aplikace.
Článek vyšel v originále na webu DigiKey.com