Sådan designer du sikre Edge IoT-enheder med lav effekt ved hjælp af Silicon Labs PG23 MCU'er
Bidraget af DigiKeys nordamerikanske redaktører
2022-10-19
Designere på tværs af en række forbruger- og industriel Egde Internet of Things (IoT)-applikationer, fra lyskontakter, måleraflæsere og intelligente låse til solcelle invertere og sikkerhedspaneler, skal finde en passende balance mellem høj ydeevne og lavt strømforbrug, især for batteridrevne designs, og samtidig sikre at deres implementeringer er sikre. I mange tilfælde er grundlaget for sådanne designs en mikrocontroller (MCU), så designeren skal nøje overveje, hvilken en der skal bruges.
Ud over solid understøttelse af sikkerhed skal du også tage hensyn til processorkernens ydeevne, effektivitet, periferi- og I/O-understøttelse, den overordnede formfaktor og støtte til økosystemet. Selv om en MCU kan opfylde designkravene med hensyn til ydeevne og strømforsyning, er implementeringen af et sikkert design forbundet med en indlæringskurve, der kan medføre forsinkelser eller resultere i, at sikkerheden ikke implementeres tilstrækkeligt.
Denne artikel omhandler kortfattet sikkerhedsovervejelser for Edge IoT-enheder. Derefter introduceres Silicon Labs EFM32PG23 MCU'en og viser, hvordan den kan anvendes til sikre Edge IoT-designs med vægt på lav effekt.
Sikkerhedsproblemer med IoT-enheder
Antallet af fjernangreb på internetforbundne enheder fortsætter med at stige. Indlejrede udviklere kan være fristet til at tro, at deres IoT Edge-enhed ikke har brug for sikkerhed, fordi den ikke indeholder "noget værdifuldt". Sandheden er, at næsten alle enheder indeholder noget, som en hacker kan finde værdifuldt, uanset om det er sensordata, kundedata, den faktiske firmware på enheden eller den adgang, som enheden giver som bagdør til forbundne netværk. Sikkerhed er en kritisk funktion, der skal designes i alle IoT Edge-enheder fra starten: Den skal ikke påmonteres systemet i slutningen af designcyklussen. Ellers vil enheden være meget sårbar over for angreb.
Enhver IoT-enhed har flere sikkerhedsområder, der skal tages i betragtning, f.eks. identifikation af enheden, konfiguration af enheden og opdateringer af software/firmware. Figur 1 viser en liste over almindelige bekymringer og viser, hvordan disse bekymringer kan omsættes til et sikkerhedskrav til enheden. Hvert sikkerhedskrav har en tilknyttet teknologi, der ofte bruges til at opfylde kravet og afværge potentielle angribere.
|
Figur 1: Der er mange sikkerhedsproblemer, krav og tilhørende teknologi, som designere af IoT-applikationer i Edge'en skal tage hensyn til. (Billedkilde: Silicon Labs)
Et stort problem for mange af de indlejrede teams, der udvikler IoT Edge-applikationer er at de ikke har intern sikkerhedsekspertise. Resultatet er at de enten må gøre deres bedste for at lære og implementere sikkerhed eller bruge en ekstern kilde. Uanset hvad, kan omkostningerne og tidspunktet være ekstraordinært høje.
Der findes et alternativ: Udviklingsteamet kan vælge en MCU, der er designet med sikkerhed i tankerne, og som tilbyder færdige sikkerhedsløsninger, der kræver mindre konfigurationsjusteringer til den pågældende applikation.
Introduktion til Silicon Labs PG23-serien af MCU-enheder
Silicon Labs EFM32PG23-serien af mikrocontrollere er af flere grunde en interessant mulighed for IoT Edge-applikationer. For det første kan PG23 MCU'en køre Silicon Labs' egen Secure Vault IoT-sikkerhedsløsning. Secure Vault er en platform til sikring og fremtidssikring af IoT-enheder, som for nylig blev den første IoT-sikkerhedsløsning til at opnå PSA Certified niveau 3 status. Nogle af de funktioner, som Secure Vault bringer til PG23 MCU'er, omfatter sikker enhedsidentitet, sikker nøglehåndtering og -lagring samt avanceret manipulationsdetektion.
Secure Vault udnytter et unikt digitalt fingeraftryk, der genereres af en fysisk uoprettelig funktion (PUF). En PUF kan bruges til at oprette en symmetrisk AES-nøgle, der fysisk forsvinder, når systemet slukkes. Den symmetriske AES-nøgle eksisterer ikke engang, når chippen er slukket, hvilket gør det umuligt at fjerne den fra enheden. En PUF er en effektiv løsning på den udfordringer med nøglehåndtering, som mange IoT Edge-applikationer står over for. Faktisk kan PUF'en skaleres til at understøtte så mange nøgler, som der er behov for til at understøtte en applikation. Secure Vault indeholder også et system til registrering af manipulation, der gør det umuligt at rekonstruere nøglen, når enheden er lukket ned efter en manipulation. De vigtigste sikkerhedsfunktioner kan opsummeres som følger:
- Sikker attestering
- Sikker nøglehåndtering
- Sikker opbevaring af nøgler
- Beskyttelse mod manipulation
En anden grund til, at PG23 MCU'erne er velegnede til IoT Edge-applikationer er at de er designet til applikationer med lavt strømforbrug. Det aktive strømforbrug for PG23 er 21 mikroampere pr. megahertz (µA/MHz). Strømforbruget er 1,03 µA med 16 kilobyte (Kbytes) RAM aktivt i EM2-tilstand eller 0,7 µA med realtidsuret (RTC) aktiveret i EM4-tilstand. Et så lavt niveau af strømforbrug hjælper udviklerne i deres arbejde med at designe en energieffektiv enhed, uanset om den er tilsluttet en væg eller batteridrevet.
Den sidste egenskab ved PG23, der skal undersøges her, er MCU'ens muligheder. PG23 har en Arm® Cortex®-M33-processor med en clock-frekvens på op til 80 MHz. Processoren kan fungere i et område fra 1,71 volt til 3,8 volt ved hjælp af en enkelt strømforsyning. For udviklere, der arbejder med sensorapplikationer, er der en lav-energi sensor-interface (LESENSE). MCU'en leveres i en 40-bens QFN-pakke på 5×5 mm eller en 48-bens QFN-pakke på 6×6 mm. Et blokdiagram af PG23 er vist i figur 2. MCU'en har også fem strømtilstande: EM0 for kørels-tilstand, EM1 for dvale, EM2 for dyb dvale, EM3 for stop og endelig EM4 for slukning.
Figur 2: PG23 MCU'en har en bred vifte af perifer udstyr, hukommelse og energibesparelsestilstande. (Billedkilde: Silicon Labs)
Kom godt i gang med udviklingskortet PG23-PK2504A
Den bedste måde at komme i gang med PG23 på er at bruge PG23-PK2504A-udviklingskortet. Kortet har en EFM32PG23B310F512-processor, der understøttes af sin egen 512 KByte flash og 64 KByte RAM. Udviklingskortet indeholder en lang række indbyggede sensorer, interfaces og et 4×10 segment LCD-display (Figur 3).
Figur 3: PG23-2504A-udviklingskortet leveres med en EFM32PG23 MCU samt en 4×10 segment LCD-skærm, temperatur- og fugtighedssensorer, en spændingsreference og udvidelses-interfaces. (Billedkilde: Silicon Labs)
Med kortet i hånden kan udviklere downloade og installere Simplicity Studio (under fanen Kom godt i gang). Simplicity Studio er et startskud til alt det, der er nødvendigt for at evaluere, konfigurere og udvikle med EFM32-mikrocontrollere. Softwaren indeholder materialer til at komme i gang, dokumentation, kompatible værktøjer og ressourcer.
Når en udvikler åbner Simplicity Studio og tilslutter et udviklingskort, identificerer softwaren kortet og giver anbefalinger til eksempelprojekter, dokumentation og demoer (figur 4). Udvikleren kan derefter vælge den bedste vej til at komme i gang og begynde at eksperimentere med PG23.
Figur 4: Silicon Labs Simplicity Studio registrerer kortet og giver tilpassede anbefalinger til at komme i gang, dokumentation, eksempelprojekter og meget mere. (Billedkilde: Silicon Labs)
En funktion, der er værd at fremhæve på PG23-PK2504A-udviklingskortet, er kontakten, der bestemmer, hvordan udviklingskortet får strøm. Der er to muligheder: AEM eller BAT (figur 5). I AEM-tilstand er der en modstand i strømaftastning i serie med LDO-strømforsyningen og PG23. Fordelen ved denne tilstand er, at udviklere kan måle processorens strømforbrug for at hjælpe med strømoptimering. Når programmet er optimeret, kan udviklerne skifte til BAT-tilstand for at køre udviklingskortet på et møntbatteri.
Figur 5: PG23-PK2504A giver mulighed for at forsyne kortet med strøm via USB-C i AEM-tilstand, hvilket gør det muligt at måle processorstrømmen. Alternativt kan processoren forsynes med strøm via et CR2032-møntbatteri. (Billedkilde: Silicon Labs)
Tips og tricks til minimering af energiforbruget i en IoT-applikation
Minimering af energiforbruget er afgørende for ethvert IoT Edge-design, uanset om de er batteridrevne eller ej. Det kan være tidskrævende at optimere et design med hensyn til energiforbrug, hvis udviklerne ikke er forsigtige. Nedenfor er der flere "tips og tricks", som udviklere bør huske på, og som kan hjælpe dem med hurtigt at optimere en IoT-applikation til lavt strømforbrug:
- Brug en event-drevet softwarearkitektur. Når systemet ikke behandler en event, sættes det i en tilstand med lavt strømforbrug.
- Profiler systemets batteriforbrug over flere opladnings-/afladningscyklusser. Registrer strømforbruget og driftsspændingen, og tegn dem over tid.
- Udnyttelse af low-power tilstand til automatisk at deaktivere clock's, periferiudstyr og CPU'en.
- I enkle applikationer kan du undersøge muligheden for at bruge Arm Cortex-M-funktionen "sleep on exit" for at minimere interrupt-overhead ved opvågning af systemet.
- Hvis du bruger en RTOS, skal du udnytte dennes "tickless"-tilstand for at forhindre RTOS'en i utilsigtet at vække systemet.
- Når du optimerer i gentagelser, skal du følge energibesparelserne ved hver ændring. På et vist tidspunkt opdager udviklerne et "knæk", hvor den tid, der bruges på optimering, giver et lavt afkast af investeringen i form af energibesparelser. Det er på tide at stoppe med at optimere og gå videre til næste fase.
Udviklere, der følger disse "tips og tricks", vil spare en hel del tid og ærgrelse, når de går i gang med deres næste sikre IoT-design med lavt strømforbrug.
Konklusion
Behovet for sikre, strømbesparende MCU'er er stigende til IoT Edge-applikationer. Ud over solid understøttelse af sikkerhed skal designerne tage hensyn til følgende faktorer for at opfylde behovene i Edge-baserede designs: Processorkernens ydeevne, effektivitet, periferi- og I/O-understøttelse, den overordnede formfaktor og støtte til økosystemet.
Som det fremgår, kan Silicon Labs EFM32PG23 MCU hjælpe udviklere med at løse flere problemer i forbindelse med design med lavt strømforbrug og enhedssikkerhed. Det tilhørende udviklingskort indeholder alle de nødvendige værktøjer til at komme i gang, og ved at følge nogle vigtige "tips og tricks" kan et lavspændingsdesign hurtigt implementeres.
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.

