Brug en avanceret Bluetooth 5.2 SoC til at skabe sikre, lavenergi-IoT-enheder
Bidraget af DigiKeys nordamerikanske redaktører
2020-04-09
Bluetooth-forbindelse, lavt strømforbrug og høj ydeevne er vigtige krav i batteridrevne design for produkter med høj volumen inden for IoT (Internet of Things), kropsbåren elektronik (wearables), connected home og bygningsautomatisering. I opbygningen af disse design har udviklere haft svært ved at finde billige Bluetooth System-on-Chip-enheder (SoC), der kan levere høj ydeevne og overholde kravene til lavt strømforbrug. Alt for ofte har udviklere måttet gå på kompromis, hvad angår ydeevnen eller sågar ved at ofre funktionalitet, der bliver vigtigere og vigtigere – såsom sikkerhed – for at overholde designkravene om lave omkostninger og lavt strømforbrug.
For at reducere behovet for kompromiser indeholder Bluetooth 5.2-specifikationen strømbesparingsfunktioner såsom LE Power Control, PAST (periodic advertising sync transfer) og avanceret lavenergi mesh-netværksfunktionalitet samt sporing af placering. Der er behov for et enkelt integreret kredsløb (IC), der understøtter disse funktioner, og som understøttes af relaterede udviklingskit og software, der på hurtig og effektiv vis giver udviklerne mulighed for at komme op i omdrejninger med strømbesparingsfunktionerne med Bluetooth 5.2.
Denne artikel viser, hvordan Silicon Labs' EFR32BG22 Bluetooth Low-Energy 5.2 SoC-familie kan opfylde en lang række krav til strømforbrug og ydeevne, der gælder for batteridrevne produkter. Ved at bruge EFR32BG22 SoC-familien og dens tilknyttede økosystem til udvikling kan udviklere skabe IoT-enheder og andre batteridrevne produkter, der kan opnå mere end fem års vedvarende drift med et enkelt CR2032-knapcellebatteri – eller mere end 10 år med et CR2354-batteri.
Minimering af strømforbruget med avancerede BLE-funktioner
Bluetooth-forbindelse er allerede blevet en almindelig funktionalitet i almindelige forbrugerprodukter, men i kraft af mere avancerede BLE-funktioner (Bluetooth Low Energy) forventes det, at der er en lang række mere avancerede nyheder på vej inden for IoT, kropsbåren elektronik og andre mobilprodukter. Udviklerne forventes dog ikke blot at levere de nye funktioner, men også forlænget batterilevetid og ekstra sikkerhed i produkterne.
Bag enhver Bluetooth-dataudveksling, mesh-netværkstransaktion eller lokationstjeneste-handling er indstillingen for sendestyrken en vigtig faktor for at opnå et højt signal-støj-forhold (SNR). Hvis sendestyrken er for lav, kan et reduceret SNR medføre flere fejl. Hvis den er for lav, spilder senderenheden ikke blot strøm, men det kraftfulde signal kan medføre kommunikationsfejl i kraft af øget interferens i netværk med flere noder eller ved at opbruge kapaciteten af modtagere i nærheden.
Strømstyring: Introduktionen af LE Power Control i Bluetooth 5.2 løser disse problemer med en protokol, der gør det muligt for BLE-enheder at kommunikere med deres modtagere for at finde den optimale indstilling for sendestyrken. Her kan en modtagerenhed bruge LE Power Control-protokollen til at bede en kompatibel sender om at ændre sendestyrken for at forbedre modtagerens SNR. En sender kan ligeledes om nødvendigt bruge LE Power Control-data til at sænke sendestyrken til et niveau, der stadig er nyttigt for modtageren. Her kan senderen bruge indikatoren for modtaget signalstyrke (RSSI, received signal strength indicator) sendt af modtageren til at finjustere sendestyrken.
I nogle anvendelser bekymrer udviklerne sig mindre om optimering af sendestyrken end om at sikre, at deres enhed har tilstrækkelig sendestyrke til at nå en vært eller kommunikationshub, der er langt væk. Behovet for at sikre effektiv trådløs forbindelse over lange afstande har traditionelt skabt problemer med hensyn til effekt og sikkerhed – især i design med begrænsede ressourcer i batteridrevne produkter.
Mesh-netværk: BLE Mesh-netværk kan være med til at fjerne behovet for høj sendestyrke for at nå værter, der er langt væk. Her kommunikerer batteridrevne enheder via lavenergi-kommunikation med noder, der får strøm via lysnettet. Meddelelserne videresendes fra node til node, og således kan en lavenergi-enhed kommunikere med enheder på en afstand, der ikke ville være muligt direkte – selv ikke med enhedens egen maksimale sendestyrke og modtagerens maksimale følsomhed. Når teknologien bruges i forbindelse med automatisering af hjemmet eller bygninger, kan udviklere bruge Bluetooth-udsendelsesfunktionerne f.eks. til at få flere enheder til at reagere på en enkelt kommando og ændre belysningen i et område. Ved hjælp af Bluetooth Low Energy kan disse mesh-netværksprotokoller hjælpe med at opfylde krav, der normalt strider mod hinanden, såsom længere rækkevidde og lavt effektforbrug.
Lokationstjenester: Bluetooth-lokationstjenester hjælper med at tackle udfordringer med effektiv radiodrift samtidig med at opfylde behovet for effektiv signalbehandling. Bluetooths radioretningsfinder-funktioner gør det muligt for udviklere at implementere realtids-lokaliseringssystemer (RTLS) til sporing af aktiver eller indendørs positioneringssystemer (IPS) til indendørs navigation. Takket være understøttelsen for retningsfinder-funktionerne ankomstvinkel (AoA, angle of arrival) og afgangsvinkel (AoD, angle of departure) i Bluetooth 5.1 kan der opnås en meget højere positionsnøjagtighed til RTLS- og IPS-anvendelsesformål, end det tidligere var muligt med RSSI.
AoA- og AoD-metoderne er i bund og grund komplementære funktioner. Modtagere med flere antenner kan bruge AoA-beregninger til at spore placeringen af et aktiv i bevægelse, der udsender et retningsfindersignal fra en enkelt antenne. Sendere med flere antenner kan til gengæld gøre det muligt for f.eks. en kropsbåren enhed at bruge AoD-beregninger til at fastslå sin position (figur 1).
Figur 1: Bluetooths AoA-metode gør det muligt for en modtager at bruge en gruppe antenner til at fastslå positionen af et aktiv, der sender, mens AoD-metoden gør det muligt for en modtagerenhed, f.eks. en kropsbåren enhed at finde sin egen position via en gruppe antenner. (Billedkilde: Bluetooth SIG)
I hver metode bruger AoA-modtagere eller AoD-enheder kvadratur-signalbehandling til at fastslå faseforskydningen knyttet til hhv. det modtagne eller udsendte signal fra eller til antennegruppen. Kravene til enhederne er til gengæld forskellige, dvs. aktivet der spores med AoA-metoder, og enheden der fastslår sin lokation med AoD-metoder. Det sporede aktiv kræver det lavest mulige strømforbrug for at sikre lang batterilevetid, mens det sender signaler. Modsat har enheden, der skal finde sin egen lokation, brug for tilstrækkelig beregningskraft til at håndtere faseforskydningsberegningerne vha. de transmitterede I- og Q-komponenter (hhv. in-phase, i fase og quadrature, kvadratur) knyttet til den IQ-prøvetagning, der er nødvendig for at opretholde nøjagtige positionsoplysninger, mens den er i bevægelse.
Yderligere Bluetooth-funktioner gør det muligt for udviklere at sænke strømforbruget uden at reducere nøjagtigheden af positionering. I forbindelse med implementering af AoD i f.eks. kropsbåren elektronik (wearables), gør Bluetooth-protokollen det muligt for senderen og modtageren at synkronisere deres aktivitet, så begge vågner på samme tid for at fuldføre en scanning af lokation. Denne metode betyder, at enhederne ikke spilder energi på at sende eller lytte efter pakker på tilfældige tidspunkter uafhængigt af hinanden. Trådløse processorer kan ganske enkelt være i dvale i lavenergitilstand, indtil en indbygget timer vækker dem på det rette tidspunkt. Denne synkroniserede tilgang fjerner også risikoen for kollisioner og effekttab, der ville opstå, hvis et stort antal sendere og modtagere var aktive tæt på hinanden.
Bluetooths PAST-funktionalitet (periodic advertising sync transfer) muliggør yderligere reduktioner af strømforbruget for parrede enheder såsom en kropsbåren enhed (wearable) og en smartphone (figur 2).
Figur 2: I stedet for at bruge strøm til at opretholde sin egen synkroniserede forbindelse med en sender (venstre) kan en kropsbåren enhed bruge Bluetooths PAST-funktion til at reducere strømforbruget ved at lade en parret smartphone håndtere leveringen af de nødvendige synkroniseringsdata (højre). (Billedkilde: Bluetooth SIG)
Med PAST er den kropsbårne enhed afhængig af smartphonens periodiske synkronisering med senderen. Resultatet er, at den kropsbårne enhed ikke behøver at bruge strøm på at vågne og udføre en synkroniseret transaktion med senderen. Hvis den kropsbårne enhed er ved at løbe tør for batteri, kan den sågar reducere frekvensen af opdateringer af positionsdata fra smartphonen og derved forlænge driftstiden på bekostning af en lavere nøjagtighed.
For at få fuldt udbytte af BLE's avancerede funktioner har udviklere dog brug for en Bluetooth SoC, der kan opfylde de modsatrettede behov for reduceret strømforbrug og høj ydeevne mht. beregninger. Silicon Labs EFR32BG22 Bluetooth Low-Energy 5.2 SoC-familien er designet specifikt med henblik på at leve op til disse krav i forbindelse med masseproducerede batteridrevne produkter.
Opfyldelse af krav til lavt strømforbrug og høj ydeevne
Silicon Labs EFR32BG22 Bluetooth Low-Energy 5.2 SoC-familien er opbygget omkring Arm® Cortex®-M33-kernen, og dens arkitektur integrerer et omfattende sæt funktioner, der kræves i design til batteridrevne IoT-enheder, kropsbårne enheder og andre mobilprodukter (figur 3).
Figur 3: Silicon Labs EFR32BG22 SoC-arkitekturen kombinerer en Arm Cortex-M33-kerne og et omfattende sæt tilbehør med funktioner, der er beregnet til at optimere BLE-kommunikation, forbedre sikkerheden og minimere strømforbruget i lavenergidesign. (Billedkilde: Silicon Labs)
Sammen med Arm Cortex-M33-kernen og den tilknyttede hukommelse kombinerer den grundlæggende EFR32BG22 SoC-arkitektur et omfattende sæt seriegrænseflader, GPIO-kanaler, clocks og timere. Den integrerede 12-bit analog-til-digital-konverter (ADC) understøtter enkeltsidig eller differentiel inputbehandling på op til 1 megasamples/sek. (MSPS) med en ny arkitektur, der kombinerer elementer fra SAR (successiv approksimation-register) og delta-sigma-konvertere.
Inden for EFR32BG22-familien er forskellige familiemedlemmer designet til at opfylde specifikke krav til behandling og Bluetooth-handlinger. For eksempel kan udviklere, der skaber design med større krav til beregningskraft vælge EFR32BG22C222 SoC-enheden, der har en højere kernehastighed, flere GPIO'er og højere sendestyrke (TX). Til design beregnet til RTLS- eller IPS-formål kan udviklere anvende EFR32BG22C224 SoC-enheden med indbygget understøttelse af IQ-prøvetagning og større modtagerfølsomhed (RX).
Hvert medlem af EFR32BG22-familien har som udgangspunkt et komplet radio-undersystem, sikkerhedsmodul og en energistyringsenhed, der leverer en bred vifte af tjenester til sikker Bluetooth-kommunikation med lavt strømforbrug.
Bluetooth radio-undersystem med lavt strømforbrug
EFR32BG22-familiens radio-undersystem understøtter Bluetooth Low Energy 5.2 via separate TX- og RX-signalveje styret af en dedikeret ultra-lavenergi ARM Cortex-M0+-processorkerne. Radio-undersystemets design støtter denne kernes beregningsfunktioner med dedikerede blokke, herunder en FRC (frame controller), et CRC-modul (cyclisk redundanstjek) og en dedikeret radiobuffercontroller (BUFC), der administrerer RAM-buffere (figur 4).
Figur 4: EFR32BG22 SoC integrerer et komplet BLE radio-undersystem styret af en dedikeret Arm Cortex-M0+-processorkerne. (Billedkilde: Silicon Labs)
TX-signalvejen er baseret på en senderarkitektur med direkte konvertering og kombinerer en effektforstærker (PA) integreret i chippen med en modulator (MOD) og frekvenssynthesizer. Når den udfører en påkrævet CSMA/CA- (carrier-sense multiple access med collision avoidance) eller LBT-protokol (listen-before-talk), håndterer ARM Cortex-M0+-radiocontrolleren automatisk den nødvendige frame-overførselstiming.
RX-signalvejen anvender en lav-IF (intermediate frequency) arkitektur, der integrerer en forstærker med lavt støjniveau (LNA), automatisk gainstyring (AGC) og IF ADC, der gør det muligt for enheden at udføre demodulation (DEMOD) digitalt med decimering og filtrering, der kan konfigureres til at understøtte en modtagerbåndbredde mellem 0,1 og 2530 kHz. Endelig genererer RX-signalkæden modtager-RSSI-værdien, der bruges til en bred vifte af tjenester, blandt andet effektoptimering, kontrol af signalkvalitet og nærhedsdetektering.
Silicon Labs' RFSENSE-modul fungerer parallelt med RX-signalvejen og overvåger inputsignalet og vækker enheden, når det registrerer et RF-energiniveau over en fastlagt grænseværdi. For at undgå falske alarmer, når det bruges i miljøer med elektrisk støj, har RFSENSE-modulet også en selektiv tilstand, der kun genererer vækkesignalet, når det registrerer et mønster i energien, og ikke ved pludselige stigninger i RF-energi. I så fald svarer energimønsteret til en OOK-introduktion (on-off keying) i en sendt pakke, så energien registreret af RFSENSE-modulet med større sandsynlighed signalerer en faktisk kommunikationstransaktion.
Hardwareunderstøttelse til at skabe sikre systemer
Sikring af batteridrevne enheder med forbindelse til andre fordrer løsninger, der tidligere ikke var mulige på grund af begrænsningerne i funktioner og ydeevne i traditionelle processorer, der blev benyttet i tidligere design. Traditionelle processorer var beregnet til brug under mindre følsomme forhold, og de manglede nogle af de fysiske og funktionsmæssige egenskaber, der kræves for at beskytte moderne IoT-enheder og kropsbårne enheder. Fordi IoT-enheder og kropsbårne enheder er så udbredte, er det let for hackere at angribe disse design med sidekanalmetoder såsom DPA (differentieret effektanalyse), der kan afsløre hemmelige data og private nøgler. Med disse nøgler kan hackere benytte forskellige metoder til at spoofe faktiske enheder og dermed få adgang til sikre netværk og (angiveligt) beskyttede ressourcer. Hackere bryder hyppigt og endnu lettere ind i trådløse netværk for at få adgang til dårligt sikrede enheder som forløber for den samme type angreb.
For designeres vedkommende har kravene til lavere priser og forlænget batterilevetid ofte tvunget dem til at anvende softwarebaserede sikkerhedsmetoder. Desværre er sådanne metoder lige så sårbare som selve programmerne og operativsystemet. Hvad der muligvis er endnu værre: Sikkerhedsmekanismer, der udelukkende er implementeret som software, medfører, at brugeren oplever tydelige forsinkelser i kommunikationen og en væsentlig mindre responsiv funktionalitet. For at øge sikkerheden uden at gå på kompromis med ydeevnen må sådanne tilsluttede design nødvendigvis bruge hardwarebaserede sikkerhedsmekanismer.
EFR32BG22-familien hjælper udviklere med at beskytte enheders design via en kombination af hardwarebaserede sikkerhedsmekanismer. I hjertet af disse mekanismer sætter en kryptografisk accelerator fart i krypteringen og dekrypteringen af data med et bredt udvalg af AES-nøglelængder (Advanced Encryption Standard) og -tilstande. Til autentificering og signering understøtter acceleratoren populære ECC-kurver (elliptic curve cryptography) og -hashværdier.
På lavere niveau sørger en true random number generator (TRNG) for det ikke-deterministiske talmønster, der kræves for at undgå de faldgruber, der er forbundet med almindelige random number generator-enheder, der er kendt for at gentage talmønstre. På et endnu lavere niveau beskytter en mekanisme acceleratoren mod den slags sidekanal-DPA-angreb, der er nævnt ovenfor.
Udvidelse af systemsikkerheden med disse mekanismer er dog kun det halve arbejde i ethvert tilsluttet produkt. Håndtering af trusler i idriftsatte systemer er en konstant kamp, der er endnu mere besværlig i forbindelse med sofistikerede batteridrevne design. Når de har sat et ellers sikkert design i drift, har udviklere tidligere ladet deres design være blottet for injektion af malware – eller sågar direkte indtrængen via åbne debugging-grænseflader. EFR32BG22-familien håndterer begge de udfordringer i form af specialfunktioner, der er designet til at undgå indtrængen af malwarebefængt firmware via debugging-grænsefladen.
Disse SoC'er har en sikkerhedsfunktion kaldet Secure boot med root of trust and secure loader (RTSL), der bruger en totrins bootloader, som sikrer, at et EFR32BG22-baseret system kun kan boote med godkendt firmware (figur 5).
Figur 5: Silicon Labs EFR32BG22 SoC-familien understøtter Secure Boot med RTSL, der bygger en root of trust på godkendt firmware bootet fra ROM'en. (Billedkilde: Silicon Labs)
Ganske overordnet tackler Secure Boot med RTSL en svaghed i ældre enkelttrins-bootloadersystemer, der gjorde det muligt for hackere at få komplet kontrol over et tilsluttet system ved at boote det med modificeret firmware. Brugen af signeret firmware kunne tilsyneladende være en løsning på dette problem. I praksis kan sågar bootmetoder med signering dog være sårbare over for angreb, hvis der bruges falske certifikater – eller ægte certifikater, der er opsnappet af uvedkommende – til at signere firmwaren.
Et EFR32BG22-baseret system etablerer til gengæld en root of trust baseret på en bootloader på første trin – en der henter firmware, der er tillid til, fra ROM'en. Denne godkendte software bruger samtidig strenge autentificeringsmetoder til at bekræfte kilden og integriteten af bootloaderkoden på andet trin – som igen godkender og indlæser applikationskoden.
Muligheden for at bygge en systemløsning på en root of trust giver udviklere chancen for at skabe produkter med høj tiltro til den fortsatte integritet af softwaren – også i tilfælde af fremtidige OTA-firmwareopdateringer (over the air). Sommetider har udviklere dog brug for dybere adgang til de systemer, hvilket opnås via systemets debugging-port.
Det er naturligvis en dårlig ide at idriftsætte en systemløsning med en åben debugging-port. EFR32BG22-familiens sikre debugging-funktion er en praktisk løsning til udviklere af komplekse softwaresystemer, som har brug for at kunne spore fejl uden at sætte det samlede systems sikkerhed over styr. Med sikker debugging bruger udviklere sikre autentificeringsmekanismer til at låse op for debugging-porten og få den adgang, der kræves til fejlanalyse – uden at risikere fortroligheden af brugerdataene i systemet.
Optimering af effektforbrug
Selv de mest effektive Bluetooth-kommunikations- og -sikkerhedsmekanismer vil give batteridrevne enheder problemer, hvis de står i vejen for lang batterilevetid. Derfor har EFR32BG22 SoC-arkitekturen indbyggede strømstyrings- og -optimeringsfunktioner. SoC'erne drager fuld nytte af Arm Cortex-M33-lavenergikernen og bruger kun 27 μA/MHz (mikroampere pr megahertz), når de kører ved maksimal frekvens på 76,8 MHz i fuldt aktiv tilstand (EM0) med alt tilbehør deaktiveret.
Når den ikke benyttes, kan udvikleren aktivere en af flere af SoC'ens lavenergitilstande – herunder dvale (EM1), dyb søvn (EM2), stop (EM3), og slukning (EM4). Når SoC'en skifter til lavenergitilstande, slukker den integrerede energistyringsenhed (EMU) for flere og flere funktionelle blokke, indtil kun det minimale antal påkrævede blokke til at vække SoC'en endnu er tændt (se figur 3 igen). EMU'en sænker desuden spændingsskaleringsniveauet, når den skifter til en lavenergitilstand. Følgelig falder strømforbruget i et 3,0 V system, der bruger den interne DC-DC-konverter, med alt tilbehør deaktiveret dramatisk til 17 μA/MHz (76,8 MHz driftsfrekvens) i dvaletilstand, 1,4 μA i dyb søvn-tilstand med RAM-data bibeholdt, 1,05 μA i stoptilstand og 0,17 μA i slukketilstand.
Med tidligere processorer var det en stor udfordring for udviklerne at vælge en lavenergitilstand, fordi det tog længere tid at vække processorerne. En lang vækketid betyder, at systemet ikke er responsivt under vækkeperioden, men det resulterer også i spildt energi i form af de ikke-produktive handlinger, der udføres i forbindelse med vækkeprocessen. Udviklerne måtte ofte vælge en tilstand med et uhensigtsmæssigt højt strømforbrug for at sikre, at processoren kunne vågne hurtigt nok. Et EFR32BG22-baseret system, der kører fra RAM, kan til gengæld vågne på lidt som 1,42 μs (mikrosekunder) fra EM1-dvaletilstand eller 5,15 μs fra EM2 dyb søvn- og EM3 stop-tilstand. Det tager endda kun 8,81 ms (millisekunder) at vågne fra slukket tilstand, hvilket ofte er lavere end den korteste opdateringsperiode for mange batteridrevne kropsbårne enheder eller IoT-enheder.
For at kunne få fuldt udbytte af disse relativt hurtige vækketider er der dog brug for mekanismer, der kan bibeholde en form for aktivitet, selv når SoC'en er i EM3 stop-tilstand. Ud over funktioner som RFSENSE beskrevet ovenfor kan andre funktionelle blokke såsom SoC'ens realtidsur (RTC) sikre, at enhedens ur følger med, selv når den sover, og lavenergi-timeren (LETIMER) giver enheden mulighed for at genere forskellige bølgeformer eller fungere som tæller for andet tilbehør. Tilbehør på chippen kan sågar blive ved med at fungere takket være SoC'ens PRS (Peripheral Reflex System), der kan dirigere signaler mellem forskelligt tilbehør på chippen og udføre grundlæggende logikhandlinger i samme ombæring – alt sammen uden brug af CPU'en.
Effektiv systemudvikling
For at accelerere implementeringen af EFR32BG22-baserede løsninger kan udviklere benytte et omfattende sæt værktøjer og biblioteker, der er bygget op om Silicon Labs' integrerede udviklingsmiljø (IDE) Simplicity Studio. I Bluetooth Low Energy-SDK'et (softwareudviklingskit) understøtter Silicon Labs avancerede funktioner inklusive Bluetooth mesh-netværk, AoA- og AoD-beregninger og sikre OTA-firmwareopdateringer. Ud over et komplet sæt Bluetooth-profiler indeholder SDK'er eksempler på applikationer og kildekode som hjælp til at implementere tilpasset software.
Konklusion
Et hurtigt voksende behov for avancerede BLE-funktioner i batteridrevne mobilprodukter lægger et endnu større pres på udviklere for at løse konflikten mellem høj ydeevne og lavt strømforbrug. Tidligere medførte disse modstridende krav ofte kompromiser mht. systemets funktionalitet, størrelse og pris. Med en avanceret Bluetooth SoC kan udviklere dog skabe højvolumen IoT-enheder og andre batteridrevne produkter, der understøtter moderne funktioner såsom indendørs navigation og mesh-netværk – og samtidig kan fungere i flere år på et enkelt knapcellebatteri.
Andre produkter i EFR32BG22-serien omfatter:

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.