Uppfyll tillämpningskraven mer effektivt med högintegrerade Arm® Cortex® MCU:er
Bidraget med av DigiKeys nordamerikanska redaktörer
2024-06-04
Utvecklare ställs inför många utmaningar för att kunna hantera en ökande mängd krav på smarta produkter för tillämpningar som omfattar konsumentprodukter, industri, smarta städer och sjukvård. Varje tillämpning har sina unika krav på prestanda, säkerhet, kostnad, extremt låg strömförbrukning och trådlösa anslutningar. Alltför ofta tvingas utvecklare att kompromissa med kraven hos tillgängliga MCU-lösningar på grund av dålig överensstämmelse mellan tillämpning och kapacitet.
Artikeln presenterar en uppsättning processorlösningar från STMicroelectronics som kan leverera lämpliga kombinationer av prestanda, batteritid, säkerhet och trådlös anslutning som är avgörande för en framgångsrik konstruktion i många tillämpningar.
Uppfyller strikta säkerhetskrav
MCU:erna STM32H7R/S med bootflash från STMicroelectronics (figur 1) har hög prestanda, grafik, säkerhet och reducerad materiallista vilket krävs i många smarta produkter för tillämpningar inom industri, smarta städer, sjukvård och konsumentelektronik. MCU:erna är baserade på processorn Arm® Cortex®-M7 för 600 MHz med en flyttalsenhet (FPU) med dubbel precision, och har integrerad grafik, delsystem för säkerhet och en omfattande uppsättning gränssnitt för kringutrustning och anslutning.
Figur 1: MCU:erna STM32H7R/S med bootflash integrerar den högeffektiva processorn Arm Cortex-M7 med en komplett uppsättning kringkretsar, funktionsblock och specialfunktioner som behövs för att leverera säkra smarta produkter. (Bildkälla: STMicroelectronics)
Förutom processorns L1-cache, som består av 32 kB instruktionscache och 32 kB datacache, har MCU:erna 620 kB statiskt SRAM-minne, 64 kB inbäddad flash och flera gränssnitt för anslutningar med hög hastighet till externa minnen. Kombinationen av SRAM, inbäddad flash och extern minnesåtkomst med kapacitet för XiP (Execute-in-place) ger utvecklare stor flexibilitet när de implementerar högeffektiva och säkra inbäddade system.
För att garantera säkerheten i program som körs i externt minne har MCU:erna STM32H7S även integrerat tre minneschiffermotorer (MCE) som utför kryptering och dekryptering i realtid på externa icke-flyktiga eller flyktiga minnen, med programmerad åtkomststyrning till ända upp till fyra olika områden för respektive MCE. I kombination med ytterligare säkerhetsfunktioner baserade på hårdvara, inklusive differentiell effektanalys och skydd mot sidokanalsattacker, är MCU:erna STM32H7 certifierade enligt SESIP och PSA Assurance Level 3.
För att säkerställa tillförlitlig prestanda för tidskritiska uppgifter, som t.ex. avbrottsrutiner, mappas en del av SRAM till MCU:ns TCM-gränssnitt (tightly coupled memory), vilket ger ett minne med zero wait state för kritiska instruktioner och data. För att garantera systemets integritet kombinerar MCU:n flera olika säkerhetsfunktioner med inbäddad flash för att möjliggöra säker start och kontroll av programmets integritet, vilket ger en RoT (root of trust) för system- och tillämpningsprogram som körs i minnet i eller utanför kretsen. I kombination med lämpliga skyddsmekanismer baserade på hårdvara ger denna användning av inbyggt flash för lagring av den betrodda bootloadern betydande fördelar i fråga om flexibilitet jämfört med användningen av ROM-minne (Read-Only Memory) i traditionella MCU:er.
Flera vägar till säker start
För att tillhandahålla den RoT som är nödvändig för systemsäkerheten förlitar sig den säkra starten på betrodd oföränderlig kod som alltid körs omedelbart efter en systemåterställning. Koden verifierar att endast betrodd programvara körs i nästa fas av systemets startsekvens. Med MCU:erna STM32H7R/S har utvecklare flera vägar till en säker start när de bygger pålitliga system. De kan använda förinstallerade RoT-firmware eller styra startsekvensen själva (figur 2).
Figur 2: MCU:erna STM32H7R/S har olika startsekvenser som är utformade för att förenkla utvecklingen. (Bildkälla: STMicroelectronics)
Efter systemåterställning påbörjar alla MCU STM32H7R/S startsekvensen genom att köra de RSS (trusted root secure services) som finns i systemets skyddade flashminne. Efterföljande steg i startsekvensen beror på typen av MCU och utvecklarens val av startsekvens. För varje startsekvens använder MCU:erna STM32H7R/S funktionen HDPL (hide protection level) för att garantera tillfällig isolering av respektive startnivå. När startsekvensen går från en startnivå till nästa ökar HDPL-räknaren och resurser som är associerade med den föregående startnivån döljs från den aktuella nivån.
Bibehåller RoT genom hela startsekvensen
I startsekvenser för produktionssystem baserade på STM32H7R körs RSS omedelbart vid återställning av systemet. RSS kör OEM-tillverkarens (Original Equipment Manufacturer) oföränderliga RoT (iRoT)-firmware som finns i användarens flashminne. Eftersom HDPL inkrementeras på denna nästa nivå förblir RSS dolt för OEMiRoT-firmware, som hanterar nästa steg i startsekvensen. Om programmet är utformat att stödja uppdateringsbar RoT-firmware (uRoT), kommer OEMiRoT-firmwaren att köra OEMuRoT-firmwaren från externt minne. I det sista steget av startsekvensen kör OEMiRoT-firmwaren (eller tillvalet OEMuRoT-firmware) programkoden. HDPL säkerställer att RSS, OEMiRoT och den valfria OEMuRoT är dolda för programmet.
Produktionssystem baserade på STM32H7S kan konfigureras för att följa en startsekvens som liknar system med STM32H7R, vilket ger utvecklare fullständig kontroll över startprocessen. Med MCU:erna STM32H7S kan utvecklare även välja en mycket säker väg som anropar den förinstallerade STiRoT-firmwaren (STMicroelectronics iRoT) som finns i systemets skyddade flashminne.
För startsekvenser med aktiverat STiRoT laddar en rutin (iLoader) i skyddad inbäddat flash-minne kod för nästa startnivå till internt SRAM. STiRoT kontrollerar därefter kodens integritet och äkthet innan den får utföras. För startvägar med ett steg laddar iLoader programkoden till SRAM. För startvägar med två steg läser iLoader in OEMuRoT från externt flash-minne till SRAM.
I det interna SRAM-minnet kontrolleras programkoden (eller OEMuRoT-firmware) med avseende på integritet och äkthet utan risk för angrepp vid verifiering av den kod som finns i det externa minnet. Efter valideringen utför OEMuRoT integritets- och äkthetskontroller av programkoden innan programmet körs. Utvecklare kan enkelt utöka denna startväg med två steg för att validera uppdateringar av programkoden eller till och med av OEMuRoT-firmware (figur 3).
Figur 3: MCU:erna STM32H7S möjliggör säker uppdatering och start genom en flerstegsprocess som är utformad för att säkerställa kodens integritet och äkthet i varje steg av processen. (Bildkälla: STMicroelectronics)
Vid normal drift av produktionssystemen är det inbäddade flash-minnet i MCU:erna STM32H7R/S i ett stängt tillstånd, där RoT-firmware tillhandahålls och giltig start forceras. MCU:erna har dessutom totalt fyra PRODUCT_STATE som är utformade för att stödja produktens hela livscykel (figur 4).
|
Figur 4: MCU:erna STM32H7R/S arbetar i ett av fyra möjliga PRODUCT_STATE-tillstånd och är utformade för att stödja produktens hela livscykel. (Bildkälla: STMicroelectronics)
Utvecklare kan styra PRODUCT_STATE på tre olika sätt:
- Icke-flyktigt tillstånd (NVSTATE), som ställer in flash-minnet i ett öppet eller stängt tillstånd
- OEM-distribuerad (OEM_PROVD), som definierar stabiliteten för det säkra HDP-området (Hide Protection) och säkerställer att kod som exekveras i detta område förblir dold efter start
- Autentiseringsmetod vid felsökning (DBG_AUTH), som definierar den metod som används för att öppna enhetens felsökning
De fyra tillstånden stödjer säkerhetskraven i respektive kritisk fas av produktens livscykel vid produktutveckling, produkttillverkning och fältinstallation av MCU:erna STM32H7R/S (figur 5).
Figur 5: När en produkt förflyttas från utveckling och tillverkning till fältet kan MCU:erna STM32H7R/S skydda känslig kod och data i inbäddat flash-minne samtidigt som de tillhandahåller autentiserad felsökningsåtkomst vid behov. (Bildkälla: STMicroelectronics)
I praktiken erbjuder felsökningsautentisering en kraftfull säkerhetsfunktion som är utformad för att hantera praktiska utmaningar vid support av produkterns livscykel. För produktionssystem som arbetar i stängt tillstånd kan utvecklare använda ett autentiseringsprotokoll som gör det möjligt för ett säkert felsökningsverktyg att öppna åtkomsten igen i en begränsad felsökningssession utan att äventyra RoT. Vid fullständig regressionsfelsökning kan kod- och datasäkerhet inte garanteras.
Hantera behovet av förbättrade användargränssnitt i smarta produkter
Även om säkerhet fortfarande är av största vikt, är smarta produkter beroende av alltmer sofistikerade grafiska användargränssnitt (GUI). MCU:erna STM32H7R/S uppfyller detta krav med hjälp av integrerade grafikacceleratorer. De innehåller acceleratorn Chrom-ART i MCU:erna STM32H7R3/S3 och grafikprocessorn (GPU) NeoChrom i MCU:erna STM32H7R7/S7. Medan acceleratorn 2D Chrom-ART och grafikprocessorn 2,5D NeoChrom stödjer flera format med ritnings- och blitting-operationer, stödjer grafikprocessorn NeoChrom de funktioner som krävs för texturmappning (figur 6).
|
Figur 6: Grafikacceleratorn Chrom-ART i MCU:erna STM32H7R3/S3 och NeoChrom GPU i MCU:erna STM32H7R7/S7 har den grafiska prestanda och funktionalitet som krävs för grafiska användargränssnitt i smarta produkter. (Bildkälla: STMicroelectronics)
För utvärdering och utveckling har STMicroelectronics tagit fram utvecklingskortet NUCLEO-H7S3L8 STM32 Nucleo-144 för STM32H7R3 och utvärderingssatsen STM32H7S78-DK för STM32H7S7.
Kretskortet Nucleo-144 är framtaget för snabb prototyputveckling och innehåller det integrerade felsöknings-/programmeringsverktyget ST-LINK samt lysdioder, tryckknappar och flera anslutningsalternativ. Utvärderingssatsen STM32H7S78-DK har WiFi, flera lysdioder och tryckknappar, det inbyggda felsöknings-/programmeringsverktyget STLINK-V3EC och flera anslutningar på kretskortet, inklusive två för USB Type-C® och en Ethernet RJ45-kontakt.
För programutveckling tillhandahåller STMicroelectronics paketet MCU STM32Cube som en del av ekosystemet STM32Cube. Tillsammans med HAL-moduler (Hardware Abstraction Layer), BSP-paket (stödpaket för kretskort) och API:er (Application Programming Interface) för lågnivåregister har MCU-paketet STM32Cube komponenter för mellanprogram, anslutningsstackar och exempelkod. För grafisk utveckling erbjuder företaget det grafiska ramverket X-CUBE-TOUCHGFX, som inkluderar:
- Verktyget TouchGFX Designer, ett verktyg för utveckling och simulering av grafiska tillämpningar
- Det hårdvaruaccelererade grafikbiblioteket TouchGFX Engine
- TouchGFX Generator, ett plugin för STM32CubeMX som låter utvecklare konfigurera och generera det abstraktionslager för TouchGFX, som används av TouchGFX Engine, för att komma åt den underliggande maskinvaran och operativsystemet
Garanterar förlängd batteritid
Minimal strömförbrukning och maximal batteritid är viktiga drivkrafter för konstruktioner inom många tillämpningar. MCU:er i serien STM32UO från STMicroelectronics är konstruerade för att förse grundläggande tillämpningar inom industri, medicinteknik, smarta mätare och konsumentenheter, med de energibesparingar och förlängda batteritider som krävs. MCU-serien STM32U0 är uppbyggd kring processorn Arm Cortex-M0+ på 56 MHz med extremt låg strömförbrukning och innehåller tre olika familjer som låter utvecklare välja den optimala konfigurationen för SRAM, flash och kringutrustning som krävs för deras konstruktioner.
Familjen STM32U031 är den minsta konfigurationen med 12 kB SRAM, upp till 64 kB flashminne, flera timers, analoga kringutrustningar och anslutningsmöjligheter (figur 7).
Figur 7: De tre familjerna i MCU-serien STM32U0 bygger på en ökande uppsättning funktioner som finns i MCU-familjen STM32U031. (Bildkälla: STMicroelectronics)
Familjen STM32U073 utökar funktionerna i familjen STM32U031 och lägger till en integrerad styrenhet för LCD, ytterligare anslutningskanaler och analoga kringkretsar, samtidigt som den har 40 kB SRAM och upp till 256 kB flashminne. Familjen STM32U083 bygger vidare på dessa funktioner genom att lägga till en hårdvaruaccelerator för AES (Advanced Encryption Standard).
Tillsammans med integration på hög nivå har alla MCU:er i serien STM32U0 en extremt låg strömförbrukning. I driftläge förbrukar de endast 52 μA/MHz när de arbetar med sin interna LDO-regulator (Low Dropout).
Utvecklare kan välja mellan flera olika lägen med låg strömförbrukning, inklusive tre stopplägen, för att minimera strömförbrukningen i batteridrivna tillämpningar. MCU:erna STM32U03 drar exempelvis bara 630 nA med realtidsklocka (RTC) respektive 515 nA utan realtidsklocka i stoppläget med den lägsta strömförbrukningen . I samma stoppläge drar MCU:erna STM32U073 och STM32U083 endast 825 nA med RTC respektive 695 nA utan RTC. Ändå kan alla tre familjerna i serien STM32U0, som körs med en väckningsklocka på 24 MHz, nå driftläge på endast 12 µs från flash respektive 7,67 µs från SRAM för driftläget med den lägsta strömförbrukningen.
Trots sin extremt låga strömförbrukning och tack vare den integrerade adaptiva realtidsminnesacceleratorn (ART) uppnår MCU:erna en prestanda som motsvarar körning från flash utan väntetid vid en processorfrekvens på 56 MHz.
För utvecklingsstöd har STMicroelectronics utvecklingskortet NUCLEO-U031R8 baserat på STM32U031, utvärderingskortet NUCLEO-U083RC baserat på STM32U083 och utvärderingssatsen STM32U083C-DK baserat på STM32U083. Precis som med de andra enheterna i STM32-familjen innehåller satsen för MCU:n STM32Cube i företagets ekosystem STM32Cube, HAL-moduler, BSP:er, API:er för lågnivå, mellanprogram, anslutningsstackar och exempelkod.
Trådlösa anslutningar med lång räckvidd
Effektiva konstruktioner med trådlösa anslutningar för frekvenser lägre än gigahertz (GHz) och lång räckvidd är avgörande i IoT-tillämpningar för system som omfattar smarta städer, jordbruk, fjärrmätning, fjärravkänning samt industriella system. Många av tillämpningarna måste upprätthålla tillförlitlig kommunikation trots störningar från omgivande källor som t.ex. elnät eller maskiner. Detta leder till användning av störningståliga anslutningar för LoRaWAN.
Modulen STM32WL5MOCH6TR från STMicroelectronics är en lösning LoRaWAN-certifierad och kan användas i Europa, Asien samt Nord- och Sydamerika. Driftskapaciteten för flera regioner finns i radiomodulens stöd för den europeiska standarden 868 MHz och den nordamerikanska standarden 915 MHz med stöd för högre uteffekt. Modulens stöd för flera moduleringsscheman och dess linjära frekvensområde från 150 till 960 MHz gör att den kan användas över hela världen med olika standardiserade och proprietära kommunikationsprotokoll som t.ex. Sigfox, W-MBUS och mioty.
Modulen STM32WL5MOC är baserad på en arkitektur med dubbla kärnor som kombinerar en Arm Cortex-M0+ och en Arm Cortex-M4 samt kombinerar sina flexibla radiotransceivrar, upp till 64 kB SRAM och upp till 256 kB flashminne, med ett omfattande delsystem för säkerhet, timers, analoga kringkretsar, anslutningsgränssnitt, styrfunktioner och passiva komponenter för den inbyggda switchande strömförsörjningen (SMPS). Dessutom ingår säkerhetselementet STSAFE-A100 från STMicroelectronics i modellen STM32WL5MOCH6STR (figur 8).
Figur 8: Modulen STM32WL5MOC är en färdig lösning för anslutningar med frekvenser under gigahertz genom att kombinera arkitekturen med dubbla kärnor med flexibel radio, säkerhetsfunktioner, flera funktionsblock samt passiva komponenter. (Bildkälla: STMicroelectronics)
Den omfattande integrerade funktionaliteten och LoRaWAN-certifieringen i modulen STM32WL5MOC förser konstruktörer med en optimerad färdig hårdvarulösning för trådlösa tillämpningar med lång räckvidd. STMicroelectronics påskyndar utvecklingen ytterligare med en omfattande uppsättning resurser, inklusive utökningskortet B-WL5M-SUBG1, som kombinerar modulen STM32WL5MOC, 4 MB flashminne, 256 kB EEPROM, MEMS-sensorer (mikroelektromekaniska system) från STMicroelectronics, flera kortanslutningar, lysdioder och tryckknappar. För programutveckling har MCU-paketet STM32CubeWL stöd för kretskorten i STM32WL-serien som en del av ekosystemet STM32Cube.
Sammanfattning
Smarta produkter för konsumenter, industri, sjukvård och andra tillämpningar har nivåer av säkerhet, strömförbrukning, anslutningsmöjligheter och konstruktionskomplexitet som sällan matchar kapaciteten hos en enda microcontroller. MCU-serien STM32 förser konstruktörer med en mängd olika processoralternativ för att uppfylla olika konstruktionskrav. Kretskort och programvara stödjer processorerna och förenklar utvecklingen.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.



