Hvis der er uklarheder i denne artikel, bedes du se den originale engelske version.

Match applikationskravene mere effektivt med højt integrerede Arm® Cortex® MCU'er

Af Stephen Evanczuk

Bidraget af DigiKeys nordamerikanske redaktører

Udviklere står over for mange udfordringer, når de skal opfylde et voksende antal krav til intelligente produkter i bl.a. forbrugs-, industri-, smart-bys- og sundhedsplejeapplikationer. Hver anvendelse stiller sit eget unikke sæt af krav til ydeevne, sikkerhed, ultralavt strømforbrug, langafstands-trådløskonnektivitet og pris. Alt for ofte tvinges udviklere til at gå på kompromis med disse krav på grund af et dårligt match mellem anvendelsen og funktionerne i de tilgængelige mikrocontrollerenheds- (microcontroller units/MCU) løsninger.

Denne artikel introducerer et sæt processorløsninger fra STMicroelectronics, der kan levere passende kombinationer af ydeevne, batterilevetid, sikkerhed og trådløskonnektivitet, som er afgørende for et vellykket design inden for en lang række anvendelsesområder.

Opfylder streingente sikkerhedskrav

STMicroelectronics' STM32H7R/S bootflash MCU'er (figur 1) giver den høje ydeevne, grafik, sikkerhed og reducerede stykliste (bill of materials/BOM), der kræves i mange smarte produkter til industri-, forbrugselektroniks-, smart-bys og sundhedspleje-applikationer. Baseret på en 600 megahertz (MHz) Arm® Cortex®-M7-processor med en dobbeltpræcisions-enhed med flydende komma (floating point unit/FPU) har disse MCU'er integreret grafik, sikkerhedsundersystemer og et omfattende sæt perifere enheder og konnektivitetsgrænseflader.

Diagram over STMicroelectronics STM32H7R/S bootflash-MCU'erFigur 1: STM32H7R/S bootflash-MCU'er integrerer en højtydende Arm-Cortex-M7 med et komplet sæt perifere enheder, funktionelle blokke og specialiserede funktioner, der er nødvendige for at levere sikre, intelligente produkter. (Billedkilde: STMicroelectronics)

Ud over processorernes L1-cache, der består af 32 kilobyte (kB) instruktions-cache og 32 kB-data-cache, kommer disse MCU'er med 620 kB-statisk-random-access-hukommelse (static random-access memory/SRAM), 64 kB indlejret flash og flere grænseflader til højhastighedsadgang til eksterne hukommelser. Denne kombination af SRAM, indlejret flash og ekstern hukommelsesadgang med ’udførelse på stedet’ (execute-in-place/XiP) giver udviklere en høj grad af fleksibilitet, når de implementerer højtydende, og sikre indlejrede systemer.

For at sikre sikkerheden i applikationer, der kører i ekstern hukommelse, integrerer STM32H7S-MCU'erne også tre hukommelses-krypteringsmotorer (memory cipher engines/MCE), der udfører kryptering og dekryptering i realtid (’on-the-fly’) på eksterne ikke-flygtige eller flygtige hukommelser, med programmeret adgangskontrol til op til fire forskellige regioner for hver MCE. Kombineret med yderligere hardwarebaserede sikkerhedsfunktioner, herunder differentieret strømforbrugsanalyse og beskyttelse mod sidekanalangreb, er STM32H7S-MCU'er certificeret til SESIP og PSA-sikkerhedsniveau 3.

For at sikre den pålidelige udførelse af tidskritiske opgaver, såsom f.eks. interrupt-servicerutiner, er noget af SRAM'en mappet til grænsefladen til MCU'ens tætkoblet hukommelse (tightly coupled memory/TCM), hvilket giver hukommelse uden ventetilstand til kritiske instruktioner og data. For at sikre systemintegritet kombinerer MCU'en flere sikkerhedsfunktioner med sin indlejrede flash for at muliggøre sikker opstart (/secure boot) og kontrol af applikationsintegritet, hvilket giver en tillidsrod (root of trust/RoT) for system- og applikationssoftware, der kører i indbygget (on-chip) eller ekstern (off-chip) hukommelse. Når det kombineres med passende hardwarebaserede beskyttelsesmekanismer, giver denne brug af indlejret flash til lagring af den betroede bootloader betydelige fordele i form af fleksibilitet sammenlignet med brugen af læselager (read-only memory/ROM) i traditionelle MCU'er.

Flere veje til sikker opstart

For at give den RoT, der er afgørende for systemsikkerheden, er sikker opstart afhængig af pålidelig, uforanderlig kode, der altid kører umiddelbart efter nulstilling af systemet. Denne kode kontrollerer, at kun betroet software kører i næste fase af systemets opstartssekvens. Med STM32H7R/S-MCU'er har udviklere flere veje til sikker opstart, når de bygger pålidelige systemer. De kan bruge forudbygget RoT-firmware eller selv styre opstartssekvensen (figur 2).

Diagram over STMicroelectronics STM32H7R/S-MCU-opstartsstier (klik for at forstørre)Figur 2: STM32H7R/S-MCU'er tilbyder flere opstartsveje, der er designet til at forenkle udviklingen. (Billedkilde: STMicroelectronics)

Efter nulstilling af systemet begynder alle STM32H7R/S-MCU'er opstartssekvensen ved at køre de pålidelige rodsikre tjenester (root secure services/RSS), der ligger i den beskyttede systemflash-hukommelse. De efterfølgende trin i opstartssekvensen afhænger af MCU-typen, og udviklerens valg af opstartsstien. For hver boot-sti bruger STM32H7R/S-MCU'erne deres mekanisme til at skjule beskyttelsesniveau (hide protection level/HDPL) til at sikre den tidsmæssige isolering af hvert boot-niveau. Når boot-sekvensen går fra ét boot-niveau til det næste, inkrementeres HDPL-tælleren, og ressourcer, der er forbundet med det forrige boot-niveau, skjules for det aktuelle niveau.

Opretholdelse af RoT igennem hele opstartssekvensen

I opstartsstien for STM32H7R-baserede produktionssystemer kører RSS med det samme, når systemet nulstilles. RSS kører den originale udstyrsproducents (original equipment manufacturer's/OEM) uforanderlige RoT (iRoT)-firmware, der ligger i bruger flash-hukommelsen. Fordi HDPL'en øges på dette næste niveau, forbliver RSS skjult for OEMiRoT-firmwaren, som håndterer det næste trin i opstartssekvensen. Hvis applikationen er designet til at understøtte opdaterbare RoT-firmware (uRoT), kører OEMiRoT OEMuRoT-firmwaren fra den eksterne hukommelse. I den sidste fase af opstartssekvensen kører OEMiRoT-firmwaren (eller den valgfrie OEMuRoT-firmware) applikationskoden. HDPL sikrer, at RSS, OEMiRoT og den valgfrie OEMuRoT er alle skjult for applikationen.

STM32H7S-baserede produktionssystemer kan konfigureres til at følge en opstartssti, der ligner den for STM32H7R-systemer, hvilket giver udvikleren fuld kontrol over opstartsprocessen. Med STM32H7S-MCU'er kan udviklere også vælge en meget sikker vej, der påkalder den forudbyggede STMicroelectronics' iRoT (STiRoT)-firmware, der ligger i den beskyttede systemflash-hukommelse.

I den STiRoT-aktiverede opstartssti indlæser en rutine (iLoader), der er placeret i beskyttet, indlejret flash, kode til næste opstartsniveau i intern SRAM. STiRoT kontrollerer derefter kodens integritet og ægthed, før den får lov til at køre. For et-trins boot-stier indlæser iLoader applikationskoden i SRAM. For totrins opstartsstier indlæser iLoader OEMuRoT fra ekstern flash til SRAM.

Så snart applikationskoden (eller OEMuRoT-firmwaren) er i den interne SRAM, kontrolleres den for integritet og autenticitet uden risiko for angreb under verificeringen af kode i den eksterne hukommelse. Når den er valideret, udfører OEMuRoT integritets- og autenticitetskontrol af applikationskoden, inden applikationen udføres. Udviklere kan nemt udvide denne totrins opstartssti til at validere opdateringer til applikationskoden eller endda til OEMuRoT-firmwaren (figur 3).

Diagram over STMicroelectronics STM32H7S-MCU'er (klik for at forstørre)Figur 3: STM32H7S-MCU'er muliggør sikker opdatering og sikker opstart igennem en flertrinsproces, der er designet til at sikre kodens integritet og ægthed på hvert trin i processen. (Billedkilde: STMicroelectronics)

Under normal drift i produktionssystemer er den indlejrede flash i STM32H7R/S-MCU'er i en lukket tilstand, hvor RoT-firmware er klargjort, og gyldig boot-indgang håndhæves. Disse MCU'er har desuden i alt fire PRODUKTTILSTAND'e, der er designet til at understøtte hele produktets livscyklus (figur 4).

PRODUKTTILSTAND Valg af PRODUKTTILSTAND Beskrivelse
Åben NVTILSTAND = ÅBEN Denne tilstand muliggør produktudvikling, da den giver mulighed for fejlsøgning i koden. Ved hjælp af boot-benet kan bootloaderen startes.
Provisionering NVTILSTAND = LUKKET
OEM_PROVD=!0xB4
og/eller
DBG_AUTH = Ikke indstillet (!0xB4, !0x51, !0x8A)
Denne tilstand tillader produktprovisonering (delvis eller hel). Det gør det muligt at starte en sikker firmwareinstallation eller bootloader for at klargøre produktet. Boot fra SRAM er ikke tilladt.
Lukket NVSTATE = LUKKET
OEM_PROVD=0xB4
DBG_AUTH=0x51 eller 0x8A
Denne tilstand betyder, at produktkonfigurationen er afsluttet. Det giver mulighed for at understøtte debutautentificering til reparation på stedet (læs den dedikerede applikationsnote).
Låst NVSTATE = LUKKET
OEM_PROVD=0xB4
DBG_AUTH=0xB4
Denne tilstand betyder, at produktkonfigurationen ikke er tilladt. Produktet er helt sikkert i denne tilstand.

Figur 4: STM32H7R/S-MCU'er kører i en af fire PRODUCT_TILSTANDE, der er designet til at understøtte hele produktets livscyklus. (Billedkilde: STMicroelectronics)

Udviklere kan styre PRODUKTTILSTAND på tre måder:

  • Ikke-flygtig tilstand (NVSTATE), som sætter flash-hukommelsen i en åben eller lukket tilstand
  • OEM-provisioneret (OEM_PROVD), som definerer stabiliteten af det sikrede skjulbeskyttelses (Hide Protection/HDP) -område, der sikrer, at kode, der udføres i dette område, forbliver skjult efter opstart
  • Debug-autentifikationsmetode (DBG_AUTH), som definerer den metode, der bruges til at åbne enhedens debugtilstand

Med disse fire tilstande understøtter STM32H7R/S-MCU'erne sikkerhedskravene i hver kritiske fase af produktets livscyklus: produktudvikling, produktfremstilling og udrulning i felten (figur 5).

Billede af rutediagram til produktudviklingFigur 5: Efterhånden som et produkt flytter sig fra udvikling og produktion til felten, kan STM32H7R/S-MCU'er beskytte følsom kode og data i indlejret flash og samtidig give autentificeret debugadgang, når det er nødvendigt. (Billedkilde: STMicroelectronics)

I praksis tilbyder debug-godkendelse en stærk sikkerhedsfunktion, der er designet til at imødekomme de praktiske udfordringer ved produktlivscyklus-support. For produktionssystemer, der opererer i lukket tilstand, kan udviklere bruge en godkendelsesprotokol, der gør det muligt for en sikker debugger at genåbne adgangen uden at kompromittere RoT i en begrænset debug-session. Ved fuld regressionsfejlsøgning er kode- og datasikkerhed ikke garanteret.

Opfylder behovet for forbedrede brugergrænseflader i intelligente produkter

Selvom sikkerhed stadig er altafgørende, er smarte produkter afhængige af stadig mere sofistikerede grafiske brugergrænseflader (GUI'er). STM32H7R/S-MCU'er imødekommer dette krav ved hjælp af integrerede grafikacceleratorer. Disse inkluderer Chrom-ART-acceleratoren i STM32H7R3/S3-MCU'er og NeoChrom-grafikbehandlingsenheden (GPU) i STM32H7R7/S7-MCU'er. Mens 2D Chrom-ART-acceleratoren og 2.5D NeoChrom-GPU'en understøtter flere formater med tegne- og blitningsoperationer, understøtter NeoChrom-GPU'en de operationer, der kræves til teksturmapping (figur 6).

Grafisk funktion Chrom-ART NeoChrom GPU
Understøttede formater ARGB8888, ARGB4444, ARGB1555, RGB888, RGB565
A8, A4, L8
AI44, AI88
CLUT (256 indgange), YUV
RGVA8888, ARGB8888
RGBX8888, XRGB8888
RGB888, RGB565, RGBA55551
A8, A4, A2, A1
Komprimeret TSc4, TSc6 og TSc6A
Baseret på kommandoliste Nej Ja
Tegning Rektangelfyldning Rektangeludfyldning
Pixel-, linje-, trekant- og firkanttegning
8xMSAA antialiasing
Blitning Kopier
Alpha-blanding
Konvertering af pixelformat
Kopi
Alpha blending, farveindkodning
Konvertering af pixelformat
Teksturmapping Nej Rotation i alle vinkler
Skalering
Spejling
Korrekte projektioner i 3D-perspektiv
Teksturmapping med bilineær og punktsampling

Figur 6: Chrom-ART-grafikacceleratoren i STM32H7R3/S3-MCU'er og NeoChrom-GPU'en i STM32H7R7/S7-MCU'er giver den grafiske ydeevne og funktionalitet, der er nødvendig i GUI'er til intelligente produkter. (Billedkilde: STMicroelectronics)

Til evaluering og udvikling tilbyder STMicroelectronics sit NUCLEO-H7S3L8 STM32-Nucleo-144-udviklingsprintkort til STM32H7R3’en og STM32H7S78-DK, Discovery-kittet til STM32H7S7’en.

Nucleo-144-printkortet er designet til hurtig udvikling af prototyper og inkluderer en integreret ST-LINK-debugger-/programmeringsværktøj samt LED'er, trykknapper og flere konnektorvalgmuligheder. STM32H7S78-DK-Discovery-kittet har Wi-Fi, flere LED'er og trykknapper, en ombord STLINK-V3EC-debugger-/programmeringsværktøj og flere printkortstik, herunder to til USB Type-C® og et Ethernet RJ45-stik.

Til softwareudvikling leverer STMicroelectronics sin STM32Cube-MCU- pakke, som en del af sit STM32Cube-økosystem. Sammen med hardwareabstraktionslags (hardware abstraction layer/HAL) -moduler, printkort-supportpakker (board support packages/BSP'er) og programmeringsgrænseflader til applikationer (application programming interfaces/API) på lavt registerniveau tilbyder STM32Cube-MCU-pakken middleware-komponenter, konnektivitetsstakke og eksempelkode. Til grafikudvikling tilbyder virksomheden den grafiske ramme X-CUBE-TOUCHGFX, som inkluderer:

  • TouchGFX Designer-værktøjet til udvikling og simulering af grafikapplikationer
  • TouchGFX-motor hardwareaccelereret grafikbibliotek
  • TouchGFX Generator, som er et STM32CubeMX-plugin, der giver udviklere mulighed for at konfigurere og generere det TouchGFX-abstraktionslag, som TouchGFX-motor bruger til at få adgang til det underliggende hardware og operativsystemet.

Sikrer forlænget batterilevetid

Minimalt strømforbrug og maksimal batterilevetid er fortsat vigtige designfaktorer inden for mange anvendelsesområder. STMicroelectronics' MCU'er i STM32U0-serien er designet til at levere de energibesparelser og den forlængede batterilevetid, der kræves i mange grundlæggende applikationer til industri-, medicinsk-, smart-målings- og forbrugsanvendelser. STM32U0-MCU-serien er bygget op omkring en 56 MHz-Arm Cortex-M0+-processor med ultralav-strømforbrug og har tre forskellige familier, så udviklere kan vælge den optimale konfiguration af SRAM, flash og perifere enheder til deres design.

STM32U031-familien tilbyder den mest kompakte konfiguration med 12 kB-SRAM, op til 64 kB-flash-hukommelse, flere timere, analoge, perifere enheder og konnektivitetsvalgmuligheder (figur 7).

Billede af tre familier i STMicroelectronics’ STM32U0-MCU-serieFigur 7: De tre familier i STM32U0-MCU-serien bygger på et stigende sæt funktioner, der findes i STM32U031-MCU-familien. (Billedkilde: STMicroelectronics)

STM32U073-familien udvider funktionerne i STM32U031-familien og tilføjer en integreret LCD-controller, yderligere konnektivitetskanaler og analoge perifere enheder, mens den tilbyder 40 kB-SRAM og op til 256 kB-flash-hukommelse. STM32U083-familien bygger videre på disse funktioner ved at tilføje en hardwareaccelerator med avanceret krypteringsstandard (Advanced Encryption Standard/AES).

Sammen med høj integration har alle MCU'er i STM32U0-serien ydeevne med ultralavt strømforbrug. I driftstilstanden bruger de kun 52 mikroampere pr. megahertz (μA/MHz), mens de arbejder med deres interne regulator med lavt udfald (low-dropout/LDO).

Udviklere kan vælge mellem flere strømbesparende tilstande, herunder tre stoptilstande, for at minimere strømforbruget i batteridrevne applikationer. For eksempel i stoptilstanden med det laveste strømforbrug trækker STM32U031-MCU'er kun 630 nanoampere (nA) med realtidsclock (real time clock/RTC) -drift eller 515 nA uden. I samme stoptilstand kræver STM32U073- og STM32U083-MCU'er kun 825 nA med RTC eller 695 nA uden. Ikke desto mindre kan alle tre familier i STM32U0-serien, der kører med en 24 MHz-opvågnings-clock, nå fra driftstilstanden med den laveste effekt til ’kørselstilstand’ på kun 12,0 mikrosekunder (µs) i flash og 7,67 µs i SRAM.

På trods af deres ultralave strømforbrug og takket være deres integrerede adaptive realtidshukommelses- (adaptive real-time/ART) accelerator opnår disse MCU'er en ydeevne, der svarer til nul-ventetilstandskørsel fra flash ved en processorfrekvens på 56 MHz.

Til udviklingsstøtte tilbyder STMicroelectronics sit NUCLEO-U031R8 STM32U031-baserede evalueringsprintkort, NUCLEO-U083RC STM32U083-baserede evalueringsprintkort og STM32U083C-DK STM32U083-baserede Discovery-kit. Som med andre enheder i STM32-familien indeholder STM32Cube-MCU-pakken til virksomhedens STM32Cube-økosystem HAL-moduler, BSP'er, lavtniveau-API'er, middleware, konnektivitetsstakke og eksempelkode.

Levering af langafstands-trådløskonnektivitet

Effektive designs med langafstands-trådløskonnektivitet i sub-gigahertz (Ghz) -området er afgørende i Internet of Things (IoT)-applikationer til intelligente byer, landbrug, fjernmåling, fjernsensorik og industrielle systemer. Mange af disse applikationer skal opretholde pålidelig kommunikation på trods af interferens fra omgivelserne som f.eks. elnettet eller maskiner. Dette indikerer brugen af interferensresistente langafstands-netværksforbindelser. (Long Range Wide Area Network/LoRaWAN).

STMicroelectronics' STM32WL5MOCH6TR-modul tilbyder en LoRaWAN-certificeret løsning, der kan fungere i Europa, Asien og Nord- og Sydamerika. Denne multiregionale driftskapacitet ligger i radiomodulets understøttelse af 868 MHz europæiske standarder og 915 MHz nordamerikanske standarder, der understøtter højere udgangseffekt. Modulets understøttelse af flere modulationsskemaer og dets lineære frekvensområde fra 150 til 960 MHz gør det muligt at understøtte verdensomspændende drift med forskellige standard- og proprietære kommunikationsprotokoller som Sigfox, W-MBUS og mioty.

STM32WL5MOC-modulet er baseret på en dobbeltkerne-arkitektur, der kombinerer en Arm Cortex-M0+ og en Arm Cortex-M4, og kombinerer sin fleksible radio sender/modtager, op til 64 kB-SRAM og op til 256 kB-flash-hukommelse med et omfattende sikkerhedssubsystem, timere, analoge perifere enheder, konnektivitetsgrænseflader, kontrolfunktioner og passive komponenter til den indlejret switch-mode-strømforsyning (switch mode power supply/SMPS). Derudover er STMicroelectronics' STSAFE-A100-sikker-element inkluderet i STM32WL5MOCH6STR-varianten (figur 8).

Diagram over STMicroelectronics STM32WL5MOC-modulFigur 8: STM32WL5MOC-modulet giver en drop-in-løsning til sub-GHz-konnektivitet, der kombinerer sin dobbeltkerne-arkitektur med en fleksibel radio, sikkerhedsfunktioner, flere funktionsblokke og passive komponenter. (Billedkilde: STMicroelectronics)

STM32WL5MOC-modulets omfattende integrerede funktionalitet og LoRaWAN-certificering giver designere en optimeret drop-in-hardwareløsning til langafstands-trådløsapplikationer. STMicroelectronics fremskynder udviklingen yderligere med et omfattende sæt ressourcer, herunder B-WL5M-SUBG1-udvidelsesprintkortet, som kombinerer et STM32WL5MOC-modul, 4 megabit (Mbit) flash-hukommelse, 256 kilobit (kbit)-EEPROM, STMicroelectronics mikroelektromekaniske systemer (MEMS)-sensorer, flere printkortstik, lysdioder og trykknapper. Til softwareudvikling understøtter STM32CubeWL-MCU- pakken printkort i STM32WL-serien, som en del af STM32Cube-økosystemet.

Konklusion

Smarte produkter til anvendelse for forbrugs-, industri-, sundhedspleje- og andre anvendelser har niveauer af sikkerhed, strømforbrug, konnektivitet og designkompleksitet, der sjældent matcher funktionerne i en enkel mikrocontroller. STM32-serien af MCU'er tilbyder designere et bredt udvalg af processorvalgmuligheder for at levere et optimalt match på tværs af forskellige designkrav. Printkort og software understøtter processorerne og forenkler udviklingen.

DigiKey logo

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.

Om denne forfatter

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk has more than 20 years of experience writing for and about the electronics industry on a wide range of topics including hardware, software, systems, and applications including the IoT. He received his Ph.D. in neuroscience on neuronal networks and worked in the aerospace industry on massively distributed secure systems and algorithm acceleration methods. Currently, when he's not writing articles on technology and engineering, he's working on applications of deep learning to recognition and recommendation systems.

Om udgiveren

DigiKeys nordamerikanske redaktører