Jste zde

Požadavky aplikací efektivně splní vysoce integrované MCU s jádry ARM Cortex

Výběr mikrokontroleru je stěžejní části vývoje a splnit náročné požadavky týkající se výkonu, bezpečnosti, nízké spotřeby a podpory bezdrátové komunikace není jednoduchý úkol. Řada STM32 nabízí široké portfolio MCU, kde každý mikrokontroler obsahuje různou kombinaci funkcí, a díky tomu si lze vybrat ideální kombinaci ke konkrétní aplikaci.

Každá aplikace přináší jedinečný soubor požadavků týkajících se výkonu, zabezpečení, nízké spotřeby energie, bezdrátového připojení a ceny. Není jednoduché nalézt mikrokontroler, aby splňoval vše, a tak se často volí mezi požadavky kompromis. Tento článek představuje mikrokontrolery od STMicroelectronics, které dokážou poskytnout vhodné řešení a splnit požadavky v celé řadě aplikací.

Splnění přísných bezpečnostních požadavků

STM32H7R/S (obrázek 1) poskytuje vysoký výpočetní a grafický výkon, které doplňují bezpečnostní funkce. Tyto vlastnosti se uplatní v mnoha chytrých produktech určených pro průmysl, spotřební elektroniku, chytrá města či zdravotnictví. Tyto MCU jsou založeny na 600 MHz procesoru Arm Cortex-M7 s jednotkou s plovoucí desetinnou čárkou (FPU - double-precision floating-point unit) a obsahují integrovanou grafiku, bezpečnostní subsystémy a komplexní sadu periferií a propojovacích rozhraní.

Obrázek 1: Bootflash MCU STM32H7R/S jsou založeny na vysoce výkonném jádru Arm Cortex-M7 s kompletní sadou periferií, funkčních bloků a specializovaných funkcí potřebných k poskytování bezpečných chytrých produktů. (Zdroj obrázku: STMicroelectronics)

Kromě L1 cache, která obsahuje 32 kB instrukční a 32 kB datové mezipaměti, je k dispozici 620 kB SRAM paměť a 64 kB flash paměť. Pokud ani toto nestačí je možné využít několik rozhraní pro rychlý přístup k externím pamětem. Kombinace paměti SRAM, vestavěné paměti flash a přístupu k externí paměti XiP (execute-in-place) nabízí vysokou míru flexibility. Aby byla zajištěna bezpečnost v aplikacích běžících v externí paměti, STM32H7S má integrovány tři paměťové šifrovací engine (MCE), které provádějí šifrování a dešifrování na externích pamětích, s naprogramovaným řízením přístupem až do čtyř různých oblastí pro každý MCE. V kombinaci s dalšími hardwarovými bezpečnostními funkcemi jako je diferenciální analýza napájení a ochrana proti útokům postranním kanálem, jsou MCU STM32H7S certifikovány podle SESIP a PSA Assurance Level 3.

Pro zajištění spolehlivého výkonu časově kritických úkolů jako je rutina pro obsluhu přerušení, jsou některé paměti SRAM mapovány na rozhraní TCM (tightly coupled memory), které poskytuje paměť s nulovým stavem čekání pro kritické instrukce a data. Aby byla zajištěna integrita systému, součástí MCU je několik bezpečnostních funkcí, které umožňují bezpečné spouštění a kontrolu integrity aplikací běžící v paměti přímo na čipu nebo mimo něj. Vestavěná paměť flash má bezpečně uložen bootloader, a díky tomu přináší flexibilitu ve srovnání s použitím paměti ROM v tradičních MCU.

Více cest k bezpečnému spouštění

Aby bylo zajištěno RoT (Root of Trust) nezbytné pro zabezpečení celého systému, spoléhá bezpečné spouštění na důvěryhodný neměnný kód, který se vždy spustí okamžitě po resetu systému. Tento kód ověřuje, že v další fázi sekvence spouštění systému běží pouze důvěryhodný software. STM32H7R/S nabízí několik cest, jak zabezpečit bootování při vytváření důvěryhodných systémů. Mohou používat předem sestavený firmware RoT nebo sami řídit zaváděcí sekvenci (obrázek 2).

Obrázek 2: Jednotky MCU STM32H7R/S nabízejí několik spouštěcích cest navržených pro zjednodušení vývoje. (Zdroj obrázku: STMicroelectronics)

Po resetu systému se zahájí zaváděcí sekvence spuštěním důvěryhodných zabezpečených služeb (RSS) umístěných v chráněné systémové paměti flash. Další kroky v zaváděcí sekvenci závisí na typu MCU a volbě zaváděcí cesty. S každou spouštěcí cestou využívají STM32H7R/S svůj mechanismus úrovně skryté ochrany (HDPL - hide protection level), aby zajistily dočasnou izolaci každé úrovně spouštění. Jak spouštěcí sekvence přechází z jedné úrovně spouštění na další, počítadlo HDPL se zvyšuje a prostředky spojené s předchozí úrovní spouštění jsou skryty před aktuální úrovní.

Udržování RoT během celé bootovací sekvence

STM32H7R se RSS spustí okamžitě po resetu systému. RSS spouští neměnný firmware RoT (iRoT) OEM umístěný v uživatelské paměti flash. Vzhledem k tomu, že HDPL je inkrementován na této úrovni, zůstává RSS skryta před firmwarem OEMiRoT, který zpracovává další krok v zaváděcí sekvenci.

Pokud je aplikace navržena tak, aby podporovala aktualizovatelný firmware RoT (uRoT), OEMiRoT spustí firmware OEMuRoT z externí paměti. V závěrečné fázi zaváděcí sekvence spustí firmware OEMiRoT (nebo volitelný OEMuRoT) kód aplikace. HDPL zajišťuje, že RSS, OEMiRoT a volitelný OEMuRoT jsou všechny neviditelné z aplikace.

Systémy založené na STM32H7S lze nakonfigurovat tak, aby sledovaly spouštěcí cestu podobnou jako u STM32H7R, přičemž úplnou kontrolu nad procesem spouštění je ponechán na vývojáři. STM32H7S nabízí také vysoce bezpečnou cestu, která vyvolá předpřipravený firmware STMicroelectronics iRoT (STiRoT) umístěný v chráněné systémové paměti flash.

V zaváděcí cestě s podporou STiRoT načte rutina (iLoader) umístěná v chráněné vestavěné paměti flash kód pro další úroveň spouštění do interní paměti SRAM. STiRoT poté zkontroluje integritu a pravost tohoto kódu, než jej povolí spustit. Pro jednofázovou spouštěcí cestu načte iLoader kód aplikace do SRAM. Pro dvoufázovou spouštěcí cestu nahraje iLoader OEMuRoT z externí flash paměti do SRAM.

Jakmile je kód aplikace (nebo firmware OEMuRoT) v interní paměti SRAM, je zkontrolována integrita a pravost bez rizika útoku během ověřování kódu umístěného v externí paměti. Po ověření OEMuRoT provede kontrolu integrity a pravosti kódu aplikace před jejím spuštěním. Tuto dvoufázovou spouštěcí cestu lze snadno rozšířit o ověření aktualizací kódu aplikace nebo dokonce firmwaru OEMuRoT (obrázek 3).

Obrázek 3: STM32H7S umožňují zabezpečenou aktualizaci a bezpečné spouštění prostřednictvím vícekrokového procesu navrženého tak, aby byla zajištěna integrita a autentičnost kódu v každém kroku procesu. (Zdroj obrázku: STMicroelectronics)

Během normálního provozu je vestavěn flash v uzavřeném stavu (Closed).  K dispozici jsou čtyři stavy PRODUCT_STATE navržené pro podporu celého životního cyklu produktu (obrázek 4).

Obrázek 4: STM32H7R/S nabízí čtyři PRODUCT_STATE navržených tak, aby podporovaly celý životní cyklus produktu. (Zdroj obrázku: STMicroelectronics)

PRODUCT_STATE lze ovládat třemi způsoby:

  • Nevolatilní stav (NVSTATE), který nastavuje flash paměť do otevřeného nebo zavřeného stavu
  • Pomocí OEM_PROVD, které definuje stabilitu oblasti bezpečné skrytí (HDP), která zajišťuje, že kód spuštěný v této oblasti zůstane po spuštění skrytý.
  • Metoda ověřování ladění (DBG_AUTH), která definuje metodu použitou k otevření ladění zařízení

Tyto čtyři stavy STM32H7R/S jednoduše splňují bezpečnostní požadavky každé fáze životního cyklu produktu: vývoj produktu, výroba produktu a uvedení do provozu (obrázek 5).

Obrázek 5: Jak se produkt přesouvá z vývoje a výroby do provozu, STM32H7R/S mohou chránit citlivý kód a data ve vestavěném flash pameti a v případě potřeby poskytovat ověřený přístup k ladění. (Zdroj obrázku: STMicroelectronics)

Pro systémy pracující v uzavřeném stavu lze použít ověřovací protokol, který umožňuje zabezpečenému ladicímu programu znovu otevřít přístup, aniž by došlo k ohrožení RoT v omezené relaci ladění. Při plném regresním ladění totiž není zaručena bezpečnost kódu a dat.

Vylepšené uživatelské rozhraní v chytrých produktech

Přestože zabezpečení je na prvním místě, chytré produkty závisí na stále sofistikovanějších grafických uživatelských rozhraních (GUI). STM32H7R/S řeší tento požadavek pomocí integrovaných grafických akcelerátorů, mezi které patří Chrom-ART v STM32H7R3/S3 a jednotka grafického zpracování NeoChrom v MCU STM32H7R7/S7. Zatímco akcelerátor 2D Chrom-ART podporuje mnoho formátů pro kreslení a vykreslování, 2.5D NeoChrom GPU podporuje operace požadované při mapování textur (obrázek 6).

Obrázek 6: Grafický akcelerátor Chrom-ART v MCU STM32H7R3/S3 a GPU NeoChrom v MCU STM32H7R7/S7 poskytují grafický výkon a funkce potřebné v GUI pro chytré produkty. (Zdroj obrázku: STMicroelectronics)

K dispozici je vývojová deska NUCLEO-H7S3L8 STM32 Nucleo-144 pro STM32H7R3 a sada STM32H7S78-DK Discovery pro STM32H7S7. Deska Nucleo-144 obsahuje integrovaný debugger/programátor ST-LINK a nabízí LED diody, tlačítka a možnosti připojení více desek. Sada STM32H7S78-DK Discovery nabízí Wi-Fi, několik LED a tlačítek, integrovaný ladicí program/programátor STLINK-V3EC, dva konektory USB Type-C a jeden ethernetový konektoru RJ45.

Pro vývoj software poskytuje STMicroelectronics balíček MCU STM32Cube jako součást ekosystému STM32Cube. Spolu s HAL moduly (hardware abstraction layer), BSP balíčky (board support packages) a API rozhraní nabízí balíček STM32Cube komponenty middleware, sadu konektivity a ukázkové kódy. Pro vývoj grafiky je k dispozici grafický rámec X-CUBE-TOUCHGFX, který zahrnuje:

  • Nástroj TouchGFX Designer pro vývoj a simulaci grafických aplikací
  • Hardwarově akcelerovanou grafickou knihovnu TouchGFX Engine
  • TouchGFX Generator – jedná se o plugin STM32CubeMX, který umožňuje konfigurovat a generovat abstrakční vrstvu TouchGFX používanou TouchGFX Engine pro přístup k základnímu hardware a operačnímu systému.

Zajištění prodloužené životnosti baterie

Minimální spotřeba energie a maximální výdrž baterie zůstávají klíčovými parametry designu v mnoha oblastech použití. MCU řady STM32U0 jsou navrženy tak, aby poskytovaly úsporu energie a prodlouženou životnost baterií. Řada STM32U0 MCU je postavena na Arm Cortex-M0+ s extrémně nízkou spotřebou a frekvencí 56 MHz. K dispozici jsou tři rodiny MCU, které umožňují výběr s optimální konfiguraci SRAM, flash a periferií.

Řada STM32U031 nabízí nejkompaktnější konfiguraci s 12 kB SRAM, až 64 kB flash paměti, několika časovači, analogovými periferiemi a možnostmi připojení (obrázek 7).


Obrázek 7: Tři rodiny v řadě MCU STM32U0 staví na základě v STM32U031. (Zdroj obrázku: STMicroelectronics)

Řada STM32U073 rozšiřuje funkce rodiny STM32U031 a přidává integrovaný řadič LCD, další propojovací kanály a analogové periferie, přičemž nabízí 40 kB SRAM a až 256 kB flash paměti. Řada STM32U083 staví na těchto funkcích a přidává hardwarový akcelerátor Advanced Encryption Standard (AES). Spolu s vysokou integrací dosahují všechny MCU řady STM32U0 extrémně nízkého výkonu. V provozním režimu spotřebovávají pouze 52 μA/MHz při provozu s vnitřním regulátorem LDO.

Lze si vybrat z několika režimů nízké spotřeby, aby se spotřeba energie v aplikacích napájených baterií snížila na minimum. Například v režimu zastavení s nejnižší spotřebou energie odebírají MCU STM32U031 pouze 630 nA s aktivními hodinami reálného času (RTC) nebo 515 nA bez něj. Ve stejném režimu zastavení vyžadují MCU STM32U073 a STM32U083 pouze 825 nA s RTC nebo 695 nA bez něj. Nicméně všechny tři rodiny v řadě STM32U0 pracující s 24 MHz budicími hodinami ( wake-up clock ) mohou dosáhnout provozního režimu (run mode) za pouhých 12,0 µs ve flashi a 7,67 µs v SRAM.

Pro podporu vývoje nabízí STMicroelectronics vyhodnocovací desku NUCLEO-U031R8 pro STM32U031, NUCLEO-U083RC pro STM32U083 a STM32U083C-DK Discovery kit pro STM32U083. Stejně jako u jiných produktů z rodiny STM32 je k dispozici balíček STM32Cube pro ekosystém STM32Cube, který zahrnuje moduly HAL, BSP, nízkovrstvé API, middleware, sady konektivity a ukázkové kódy.

Bezdrátového připojení s dlouhým dosahem

Efektivní návrhy s bezdrátovou konektivitou s dlouhým dosahem sub-gigahertz (sub-GHz) hrají zásadní roli v aplikacích IoT pro chytrá města, zemědělství, dálkové měření, vzdálené snímání a průmyslové systémy. Mnoho z těchto aplikací musí udržovat spolehlivou komunikaci navzdory rušení z okolních zdrojů jako je elektrická rozvodná síť nebo průmyslová zařízení. Proto je vhodné využít konektivitu LoRaWAN, která je na toto ručené odolné.

Modul STM32WL5MOCH6TR  nabízí řešení s certifikací LoRaWAN schopné provozu v Evropě, Asii a Americe. Multiregionální provoz spočívá v podpoře rádiového modulu pro evropské standardy 868 MHz a 915 MHz severoamerické standardy podporující vyšší výstupní výkon. Modul podporuje více modulačních schémat a jeho lineární frekvenční rozsah od 150 do 960 MHz mu umožňuje podporovat celosvětový provoz s různými standardními a proprietárními komunikačními protokoly jako jsou Sigfox, W-MBUS a mioty.

Modul STM32WL5MOC je založen na dvoujádrové architektuře kombinující Arm Cortex-M0+ a Arm Cortex-M4. K dispozici je flexibilní rádiový transceiver, až 64 kB SRAM a až 256 kB flash paměť s komplexním bezpečnostním subsystémem, časovači, analogovými periferiemi, propojovacími rozhraními, ovládacími prvky a pasivními komponenty pro vestavěný spínaný zdroj napájení (SMPS). Kromě toho je ve variantě STM32WL5MOCH6STR zahrnut bezpečnostní prvek STSAFE-A100 STMicroelectronics (obrázek 8).

Obrázek 8: Modul STM32WL5MOC poskytuje drop-in řešení pro sub-GHz konektivitu, kombinuje dvoujádrovou architekturu s flexibilním rádiem, bezpečnostními funkcemi a pasivními komponenty. (Zdroj obrázku: STMicroelectronics)

Rozsáhlá integrovaná funkčnost modulu STM32WL5MOC a certifikace LoRaWAN poskytují optimalizované hardwarové řešení typu drop-in pro bezdrátové aplikace s dlouhým dosahem. STMicroelectronics dále urychluje vývoj pomocí komplexní sady B-WL5M-SUBG1, která obsahuje modul STM32WL5MOC, 4 Mbit flash paměť, 256 Kbit EEPROM, MEMS senzory, několik konektorů, LED diody a tlačítka. Pro vývoj software je k dispozici balíček STM32CubeWL MCU pro podporu desky řady STM32WL jako součást ekosystému STM32Cube.

Závěr

Chytré produkty pro spotřebitelské, průmyslové, zdravotnické a další aplikace mají požadavky na vysokou úroveň zabezpečení, nízkou spotřebu energie a bohatou konektivitu. Najít vhodný mikrokontroler, aby splňoval všechny požadavky není jednoduché, ale řada MCU STM32 tento výběr značně usnadňuje. Její široký výběr možností MCU nabízí optimální shodu napříč požadavky.

Článek vyšel v originále na webu DigiKey.com

Hodnocení článku: