Sådan maksimeres batteriets levetid i Dual-Mode Wi-Fi / Bluetooth IoT-design

Af Stephen Evanczuk

Bidraget af DigiKeys nordamerikanske redaktører

Designere af batteridrevne Internet of Things (IoT) -enheder og andre tilsluttede produkter bliver bedt om at imødekomme de modstridende krav til kontinuerlig trådløs forbindelse og forlænget batterilevetid. Yderligere strækning af allerede begrænsede strømgrænser er den voksende efterspørgsel efter både Bluetooth 5 og Wi-Fi-forbindelse i den samme enhed. Selvom Wi-Fi- og Bluetooth-protokoller leverer standardprotokoller for at reducere strømforbruget, kommer mere direkte support i form af en arkitektur, der kombinerer radioundersystemer, der kan aflaste netværksbehandlingsopgaver med en mikroeffekt med lav effekt.

Denne artikel beskriver vigtigheden af dual-mode Wi-Fi / Bluetooth-forbindelse og hvordan det komplicerer IoT-design. Derefter vises, hvordan et udviklingskort og tilhørende software fraCypress Semiconductor kan bruges til udvikling af dual-mode Wi-Fi / Bluetooth IoT-enheder, der er i stand til kontinuerlig tilslutning og længere batterilevetid.

Det voksende behov for dual-mode Wi-Fi / Bluetooth kontinuerlig forbindelse

Bluetooth-forbindelse betragtes som et standardkrav for mange IoT-enheder designet til at interagere med brugere via Bluetooth-aktiverede smartphones og andre mobile enheder. I mange IoT-applikationer har IoT-enheder dog brug for Wi-Fi-forbindelse for at få adgang til et trådløst lokalnetværk (WLAN) for at nå internettet direkte eller for at interagere med andre peer-enheder og værtssystemer på det samme netværk.

På mange måder ville udvikleres evne til at forlænge batteriets levetid være meget mere ligetil, hvis disse IoT-enheder kun havde brug for at oprette forbindelse til WLAN eller Bluetooth-værten, når de havde brug for at overføre deres data eller andre meddelelser. Da den aktive driftscyklus for mange IoT-enheder typisk er lav, kan disse enheder strække batteriets levetid ved overvejende at fungere i dvaletilstand med lav effekt, vågne længe nok til at udføre sensormålinger, fuldføre relaterede behandlingsopgaver og transmittere de resulterende data, før de vender tilbage til lavt strømforbrug. I virkeligheden skal de fleste IoT-enheder reagere hurtigt på asynkrone indkommende kommandoer og data fra peer-enheder, værtssystemer og slutbrugere.

For at forblive lydhøre skal IoT-enheder give tilsyneladende kontinuerlig forbindelse og forblive opmærksomme på indgående trafik, så de kan reagere inden for en acceptabel tidsperiode. Hvis udviklere forsøger at opfylde dette grundlæggende krav ved gentagne gange at vække deres enheder for at modtage indgående trafik, bliver deres enheds batteri hurtigt opbrugt. Faktisk vil radiomodtagere i batteridrevne Wi-Fi-enheder typisk forbruge mere strøm over tid end radiosendere på trods af det højere strømforbrug, der er forbundet med en individuel transmission. Selvfølgelig tilføjer den strøm, der forbruges af enhedens værtsprocessor for sin del i hver modtagefunktion, sin egen betydelige belastning til strømbudgettet. Heldigvis definerer trådløse standarder protokoller, der lader udviklere reducere strømmen, mens de stadig opretholder illusionen om kontinuerlig forbindelse.

Hvordan trådløse forbindelsesstandarder hjælper enheder med at reducere strømforbruget

I normal drift sparer Wi-Fi-modtagestationer (STA'er) strøm ved at slukke for det meste af deres Wi-Fi-undersystem. Da adgangspunkter (AP'er) bufferrammer til sovende STA'er, går ingen meddelelser tabt. Som en del af deres normale netværksadministrationsoperationer sender AP'er regelmæssigt fyrtårne, der indeholder en bitmap, kaldet et trafikindikationskort (TIM), som indikerer, om AP har ventetrafik for hver STA. AP'er sender også periodisk et fyrtårn, der indeholder et leveringstrafikindikationskort (DTIM), som angiver tilgængeligheden af bufret multicast- eller broadcastdata. STA'er forventes at vågne op regelmæssigt inden for DTIM-periodeværdien, hvilket er noget multiplum af det normale fyrinterval. Et IoT-netværk konfigureret med en høj DTIM-periodeværdi vil gøre det muligt for enheder i dets netværk at reducere strømforbruget, fordi de kunne sove længere, før de vækker deres modtager for at modtage et beacon, der indikerer, at AP holder rammer til det. Dette er den grundlæggende tilgang bag standard 802.11-strømbesparelsesundersøgelsesmekanismen beskrevet nedenfor.

Bluetooth low energy (BLE) gør det muligt for enheder at reducere strømforbruget ved at optimere dets Bluetooth-frekvens og nyttelast. Ved at øge intervallet kan IoT-enheder forsinke transmitterens operationer; ved at reducere nyttelasten kan IoT-enheder reducere varigheden af senderhændelser. Selvfølgelig kan ikke alle applikationer tåle lange intervaller eller minimale nyttelast. I en lyd- eller realtidsregistreringsenhed betyder for eksempel lange intervaller forsinkede forbindelser, der kan have negativ indflydelse på applikationens opførsel som helhed.

Perifere enheder kan bruge en anden BLE-funktion kaldet slave latency, som gør det muligt for den perifere enhed at springe forbindelseshændelser over. Som med Wi-Fi DTIM tillader BLE-slaveforsinkelse, at enheder forbliver i lavt strømtilstand i længere tid. I stedet for blot at øge forbindelsesintervallet tillader denne specielle tilstand den perifere enhed at springe forbindelseshændelser over med en vært, men alligevel vække og sende data efter behov uden at pådrage sig yderligere latens.

Understøttelse af dual-mode-forbindelse og forlænget batterilevetid

Disse metoder hjælper med at reducere varigheden og frekvensen af fuld strømdrift i Wi-Fi og Bluetooth-enheder, men udviklere kan gøre meget mere for at forlænge batteriets levetid ved hjælp af hardware- og softwarefunktioner, der er demonstreret i Cypress SemiconductorCY8CKIT-062S2-43012 Wi-Fi BT Pioneer Kit. Sammen med jumperledninger og et USB-kabel inkluderer Cypress-sættet PSoC 62S2 Wi-Fi BT Pioneer-kort, der giver en omfattende udviklingsplatform og et komplet hardwaresystem til implementering af IoT-design med lav effekt. Brugt med Cypress-software giver Cypress-sæt udviklere mulighed for straks at evaluere og hurtigt implementere en række sofistikerede strømstyringsfunktioner.

Sammen med flere interface-stik, knapper og lysdioder integrerer sættets kort enCY8C5868LTI-LP038 PSoC 5LP-enhed, der leverer Cypress KitProg3 indbygget programmering og fejlretning. For yderligere indbygget lagerplads integrerer Cypress sineS25FL512S 512 megabit (Mbit) seriel NOR Flash-hukommelsesenhed og densCY15B104 4 Mbit seriel ferroelektrisk tilfældig adgangshukommelse (FRAM) (figur 1).

Diagram over Cypress PSoC 62S2 Wi-Fi BT Pioneer-kort (klik for at forstørre)Figur 1: Cypress PSoC 62S2 Wi-Fi BT Pioneer-kortet giver et omfattende sæt systemfunktioner bygget rundt om et bærermodul, der integrerer en PSoC 6-mikrocontroller og et trådløst Wi-Fi/Bluetooth-forbindelsesmodul. (Billedkilde: Cypress Semiconductor)

I hjertet af tavlen integrerer et bærermodul en Cypress SemiconductorPSoC 6 mikrokontroller og enMurata Electronics Type 1LVLBEE59B1LV trådløst forbindelsesmodul med passive komponenter. En radiofrekvens (RF) switch og en dual-band 2,45 gigahertz (GHz)/5 GHz mini-chipantenne afrunder supportenhederne.

PSoC 6 er designet specielt til at eliminere den konventionelle kompromis mellem processorydelse og strømforbrug og integrerer 150 megahertz (MHz).Arm® Cortex®-M4, der fungerer som den primære applikationsprocessor, og en 100 MHz arm Cortex-M0 +, der håndterer drift med lav effekt. Sammen med integreret Flash og statisk RAM (SRAM) inkluderer PSoC6 en kryptografimotor, programmerbar analog og digital periferiudstyr, CapSense touch sensing support og flere systemgrænseflader (figur 2).

Diagram over Cypress PSoC 62S2 Wi-Fi BT Pioneer-kortets bærermodul (klik for at forstørre)Figur 2: Indbygget i Cypress PSoC 62S2 Wi-Fi BT Pioneer-kortets bærermodul bruger en PSoC 6-mikrocontroller en multicore-arkitektur til at imødekomme krav til både applikationsbehandling og realtidsudførelse med lav effekt. (Billedkilde: Cypress Semiconductor)

Murata LBEE59B1LV-modulet giver et komplet radioundersystem i en 10,0 x 7,2 x 1,4 millimeter (mm) pakke, der indeholder en Cypress CYW43012 trådløs internetforbindelse til indlejrede enheder (WICED) Wi-Fi + Bluetooth-enhed, reference-clock og filtre (figur 3) .

Diagram over Murata Type 1LV LBEE59B1LV trådløs forbindelsesmodulFigur 3: Murata Type 1LV LBEE59B1LV trådløs tilslutningsmodul giver et komplet, præcertificeret Wi-Fi + Bluetooth-radiosystem, der er bygget op omkring en Cypress CYW43012 WICED-enhed. (Billedkilde: Murata Electronics)

Modulet understøtter 2,4 GHz og 5 GHz trådløs forbindelse med Bluetooth 5.0 og Wi-Fi 802.11a/b/g/n. Derudover giver modulet en 802.11ac-venlig tilstand, der understøtter 802.11acs 256 kvadraturamplitudemodulation (QAM) til de 20 MHz-kanaler i 5 GHz-båndet, hvilket giver højere gennemstrømning og lavere energi pr. Bit end kun 802.11n-produkter. Designet til at fremskynde udviklingen, er Murata LBEE59B1LV-modulet præ-certificeret i flere regioner, hvilket eliminerer de lange forsinkelser, der er forbundet med test og certificering af overensstemmelse.

Inden for modulet integrerer Cypress WICED-enheden en Arm Cortex-M3-processor og Arm Cortex-M4-processor i henholdsvis Wi-Fi- og Bluetooth-undersystemerne. Selvom den ikke er tilgængelig for kundekode, kører Arm Cortex-M3-processoren Cypress-firmware, der understøtter Wi-Fi-operationer og yderligere funktionalitet, herunder offload-funktionalitet beskrevet nedenfor. Arm Cortex-M4 i Bluetooth-undersystemet kører Bluetooth-controller firmware, Bluetooth stack og profiler. Derudover kan denne kerne køre kundekode programmeret ved hjælp af CypressWICED softwareudviklingssæt (SDK).

Brug af strømbesparende metoder i trådløse IoT-design

PSoC 6 og det trådløse forbindelsesmodul er designet til at minimere strømforbruget og har et omfattende sæt strømtilstande og strømreduktionsfunktioner. Cypress bakker op om denne energieffektive hardwareplatform med et betydeligt softwarekomplement designet til at forenkle brugen af strømbesparende metoder i trådløse IoT-design. For eksempel kan udviklere nemt implementere den tidligere nævnte strømbesparelsesmetode ved hjælp af den uafhængige integreredeWi-Fi-værtsdriver (WHD) bibliotek.

Udviklere kalder simpelthen WHD-applikationsprogrammeringsgrænsefladen (API) -funktionen whd_wifi_enable_powersave() for at aktivere strømspareafstemning og whd_wifi_disable_powersave() for senere at deaktivere den i enheden. Når denne er aktiveret, underretter STA AP'en om, at den er gået i dvale. Som nævnt tidligere buffrer AP alle rammer, der er beregnet til den sovende STA, og konfigurerer dens periodiske fyr for at indikere, at rammer er tilgængelige. Når STA vågner for at kontrollere fyret, begynder det en standardproces for at hente disse rammer.

Selvom strømbesparelsesundersøgelsesmekanismen er beregnet til STA'er med lave driftscyklusser, understøtter en lignende metode, kaldet strømbesparelse uden afstemning, STA'er med højere krav til kapacitet. Her sender STA en dataframme med nulfunktion, som initierer rammeoverførsel fra AP.

Strømbesparelsesundersøgelse og strømbesparelse uden afstemning tillader enheder at reducere modtageroperationer, men hjælper ikke med at eliminere unødvendige transaktioner relateret til netværksoperationer overhead. For eksempel vil ethvert netværk inklusive et IoT WLAN bære uønsket pakketrafik, når der er forbindelse til et eksternt netværk, især det offentlige internet. Evnen til at filtrere disse pakker ud i kommunikationsundersystemet uden at involvere IoT-enhedens værtsprocessor ville gøre det muligt for værtsprocessoren at forblive i dvaletilstand med lav effekt.

Udover uønskede pakker kan legitim netværkstrafik få værtsprocessoren til at vågne unødvendigt. For eksempel bruger Wi-Fi standard adresseopløsningsprotokol (ARP) udsendelsespakker som en del af sin funktion til at kortlægge en IP-adresse, der er knyttet til en enhed, til enhedens medieadgangskontrol (MAC) -adresse. Denne handling er afgørende for normal WLAN-funktion, der gør det muligt for enheder at nå ud til andre i deres netværk, registrere duplikerede IP-adresser og underrette andre enheder, hvis en IP-adresse ændres af en eller anden grund.

ARP-anmodning og responspakker er så grundlæggende for netværksoperationer, at en IoT-enheds værtsprocessor kan blive overbelastet ved blot at behandle ARP-anmodninger og svar. Hvis enhedens WLAN-interface blot sender anmodninger og svar mellem værten og netværket, vil hver ARP-anmodning vække værten, undertiden unødvendigt.

I modsætning hertil griber Murata trådløse forbindelsesmodul ind i denne udveksling og aflaster ARP-anmodningshåndtering fra PSoC 6-mikrokontrolleren. Når PSoC 6 ellers er involveret i sin primære IoT-applikationsfunktionalitet, bevarer denne funktion processorcyklusser til applikationsudførelse. Hvis PSoC 6 er i dvaletilstand, hjælper denne funktion med at reducere det samlede IoT-enheds strømforbrug. Ved at aktivere ARP-aflæsning med peer-autosvar vil Murata-modulet kun vække PSoC 6, hvis en indgående ARP-anmodning ikke kan imødekommes af poster, der er cachelagret i Murata-modulet (figur 4 til venstre).

Diagram over ARP-offloading aflytter ARP-anmodninger fra netværket eller værtsprocessoren (klik for at forstørre)Figur 4: Når det er aktiveret, aflytter ARP-offloading ARP-anmodninger fra netværket (venstre) eller værtsprocessor (højre), svarer automatisk, når cache tilfredsstiller anmodningen (øverst) og kun vækker processoren på cache-savner (nederst). (Billedkilde: Cypress Semiconductor)

Den samme tilgang kan også hjælpe med at reducere WLAN-strømforbruget. I normal drift kan Murata-modulet overvåge (snoop) netværkstrafik og cache IP: MAC-par fra andre ARP-svar. Ved hjælp af værtsautosvar kan Murata-modulet svare på ARP-anmodninger fra PSoC 6 og kun påkalde dets radioundersystem, hvis PSoC 6's anmodning ikke kan imødekommes fra ARP-cache (figur 4, højre).

Enkel menubaseret implementering af strømbesparende funktioner

Implementering af ARP-aflæsning med Pioneer-sættet er bemærkelsesværdigt enkelt. Inkluderet i CypressModusToolBox (MTB) integreret udviklingsmiljø (IDE), Cypress Device Configurator-værktøjet giver udviklere mulighed for at implementere denne kapacitet med et par menuvalg. Cypress leverer forudbyggede konfigurationsfiler, der giver udviklere mulighed for hurtigt at vælge forskellige konfigurationer, herunder ARP-offloading.

Brug af Device Configurator-værktøjet til eksplicit at definere konfigurationer er næsten lige så ligetil. Udviklere bruger værktøjets menupunkter til at aktivere værtens wake-ben, navngive pin (CYBSP_WIFI_HOST_WAKE) og indstille pin-parametre (figur 5).

Billede af Cypress Device Configurator-værktøj (klik for at forstørre)Figur 5: Cypress Device Configurator-værktøjet giver udviklere mulighed for at bruge menuer til at indstille strømbesparelsesmuligheder, der er tilgængelige på Pioneer-kortet. (Billedkilde: Cypress Semiconductor)

På værktøjets fane Wi-Fi aktiverer udviklere værtsvækning og indstiller afbrydelsesnålen til det navn, der blev indtastet tidligere (CYBSP_WIFI_HOST_WAKE). Yderligere menuposter aktiverer ARP-aflæsning, indstil funktionen til peer-autosvar, aktiver netværkssnooping og indstil udløbstid for cache-indgang (Figur 6).

Billede af yderligere menufaner i Cypress Device Configurator-værktøjetFigur 6: Ved hjælp af yderligere menufaner i Cypress Device Configurator-værktøjet kan udviklere aktivere ARP-aflæsning og specifikke funktioner såsom peer-auto-svar. (Billedkilde: Cypress Semiconductor)

Efter at have gemt konfigurationen genererer udviklere simpelthen kildefiler, bygger det ændrede projekt og programmerer Pioneer-kortet. Ved hjælp af en lignende procedure kan udviklere konfigurere Murata-modulet til at aflaste Wi-Fi-pakkefiltrering og håndtere andre almindelige typer netværkshandlinger. Den samme fremgangsmåde tillader endda en IoT-enhed at udføre den trådløse Wi-Fi TCP-protokol, der er nødvendig for at opretholde Wi-Fi-forbindelse - alt sammen uden at vække IoT-værtsprocessoren.

I normale WLAN-operationer opretholder en klientenhed og værtsserver TCP-forbindelser ved at udveksle holde pakker i live. Hvis hver side af denne udveksling ikke modtager svar efter et par forsøg, afslutter det forbindelsen. Selv i strømbegrænsede IoT-enheder skal værtsprocessoren konstant vågne op for at deltage i denne udveksling eller bruge endnu mere strøm til løbende at genoprette forbindelser.

Som med ARP-offloading kan udviklere bruge Device Configurator-værktøjet til at aktivere TCP at holde i live offloading. Når denne funktion er aktiveret, udfører Murata-modulet automatisk holde-levende-protokollen uden at vække PSoC 6 (figur 7).

Diagram over WLAN-enhed, der automatisk udfører protokollen for at holde i live (klik for at forstørre)Figur 7: Når TCP keep live offload er aktiveret, udfører det trådløse tilslutningsmodul (WLAN-enhed) automatisk keep alive-protokollen, så værtsprocessoren kan forblive i dvaletilstand med lavt strømforbrug. (Billedkilde: Cypress Semiconductor)

Selvom Cypress anbefaler brug af Device Configurator-værktøjet som den nemmeste vej til implementering, kan udviklere også manuelt implementere Cypress-platformens strømbesparende funktioner, herunder ARP-aflæsning, pakkefiltrering, TCP holder levende aflæsning og andre.

Underliggende for begge tilgange er Cypress's Low Power Assistant (LPA) middleware, der understøtter disse strømbesparende funktioner til Wi-Fi, Bluetooth og PSoC 6-mikrocontroller sammen med andre funktioner ud over de her nævnte.

Når udvikleren har defineret konfigurationer ved hjælp af menuer eller ved manuelt at tilføje konfigurationskode, fungerer LPA-firmwaren gennemsigtig for applikationen og orkestrerer automatisk brugen af hardware med lav effekt og softwarefunktioner.

Konklusion

Behovet for kontinuerlig trådløs forbindelse og forlænget batterilevetid i IoT-enheder præsenterer modstridende krav til designere, der kun forværres af behovet for at understøtte både Wi-Fi og Bluetooth. Som vist ved Cypress Semiconductor CY8CKIT-062S2-43012 Wi-Fi BT Pioneer Kit ved at kombinere et radioundersystem, der er i stand til at aflaste netværksbehandlingsopgaver med en laveffektmikrocontroller, designere at imødekomme deres IoT trådløse tilslutningsmuligheder og krav til lav effekt.

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