Slik maksimerer du batterilevetiden i dobbeltmodus-Wi-Fi/Bluetooth IoT-design
Bidrag fra DigiKeys nordamerikanske redaktører
2020-09-24
Designere av batteridrevne IoT-enheter (tingenes internett-enheter) og andre tilkoblede produkter, blir bedt om å oppfylle de motstridende kravene til kontinuerlig trådløs tilkobling og utvidet batterilevetid. Den økende etterspørselen etter enheter med både Bluetooth 5- og Wi-Fi-tilkobling i samme enhet medfører ytterligere tøying av allerede maksimerte effektbegrensninger . Selv om Wi-Fi- og Bluetooth-protokoller gir standardprotokoller som bidrar til å redusere strømforbruket, kommer mer direkte støtte i form av en arkitektur som kombinerer undersystemer for radio-undersystemer som kan laste av nettverksprosesseringsoppgaver med en mikrokontroller med lav effekt.
Denne artikkelen skisserer viktigheten av dobbeltmodus-Wi-Fi/Bluetooth-tilkobling og hvordan det kompliserer IoT-design. Den viser deretter hvordan et utviklingskort og tilhørende programvare fra Cypress Semiconductor kan brukes til utvikling av dobbeltmodus-Wi-Fi/Bluetooth IoT-enheter som er i stand til kontinuerlig tilkobling og lengre batterilevetid.
Det økende behovet for dobbelmodus Wi-Fi/Bluetooth med kontinuerlig tilkobling
Bluetooth-tilkobling regnes som et standardkrav for mange IoT-enheter som er designet for å samhandle med brukere gjennom Bluetooth-aktiverte smarttelefoner og andre mobile enheter. For mange IoT-applikasjoner trenger IoT-enheter imidlertid Wi-Fi-tilkobling for å få tilgang til et trådløst lokalnettverk (WLAN) for internettilkobling, eller for å samhandle med andre peer-enheter og vertssystemer på samme nettverk.
På mange måter ville utviklernes evne til å forlenge batterilevetiden være mye enklere hvis disse IoT-enhetene bare trengte å koble til WLAN eller Bluetooth-verten når de trengte å overføre dataene sine eller andre meldinger. Siden den aktive driftssyklusen for mange IoT-enheter typisk er lav, kan disse enhetene forlenge batterilevetiden ved å operere hovedsakelig i dvalemodus med lav effekt, våkne lenge nok til å utføre sensormålinger, fullføre relaterte behandlingsoppgaver og overføre de resulterende dataene før du går tilbake til laveffektmodus. I virkeligheten må de fleste IoT-enheter reagere raskt på asynkrone innkommende kommandoer og data fra peer-enheter, vertssystemer og sluttbrukere.
For å forbli responsive, må IoT-enheter gi inntrykk av kontinuerlig tilkobling, samt forbli på vakt mot innkommende trafikk slik at de kan svare innen en akseptabel tidsperiode. Hvis utviklere forsøker å tilfredsstille dette grunnleggende kravet ved gjentatte ganger å vekke enhetene sine for å motta innkommende trafikk, vil enhetens batteri raskt bli tomt. Faktisk vil radiomottakere i batteridrevne Wi-Fi-enheter vanligvis forbruke mer strøm over tid enn radiosendere, til tross for det høyere strømforbruket forbundet med en individuell overføringsoperasjon. Selvfølgelig legger strømmen som forbrukes av enhetens vertsprosessor for sin del i hver mottaksoperasjon sin egen vesentlige belastning til strømbudsjettet. Heldigvis definerer trådløse standarder protokoller som lar utviklere redusere strømmen og samtidig opprettholde illusjonen om kontinuerlig tilkobling.
Slik hjelper trådløse tilkoblingsstandarder enheter med å redusere strømforbruket
Under normal drift sparer Wi-Fi-mottaksstasjoner (STA) strøm ved å slå av det meste av Wi-Fi-undersystemet. Fordi tilgangspunkter (access points – AP-er) bufferrammer for sovende STA-er, går ingen meldinger tapt. Som en del av sine normale nettverksstyringsoperasjoner sender AP-er regelmessig nettvarder (beacon) som inneholder et punktgrafikk, kalt et trafikkindikasjonskart (TIM), som indikerer om AP har ventende trafikk for hver STA. AP-er sender også med jevne mellomrom en nettvarde (beacon) som inneholder et kart over leveringstrafikkindikasjoner (delivery traffic indication map – DTIM), som angir tilgjengeligheten av bufrede multicast- eller sendingsdata. STA-er forventes å våkne regelmessig innenfor DTIM-periodeverdien, som er et multiplum av det normale intervall for nettvarder (beacon). Et IoT-nettverk konfigurert med en høy DTIM-periodeverdi vil gjøre det mulig for enheter i nettverket å redusere strømforbruket fordi de kan sove lenger før de vekker mottakeren for å motta en nettvarde (beacon) som indikerer at AP holder rammer for det. Dette er den grunnleggende tilnærmingen bak standard 802.11 strømsparemekanismen som vi tar for oss nedenfor.
Bluetooth-enheter med lavt energiforbruk (BLE) lar enheter redusere strømforbruket ved å optimalisere Bluetooth-annonsefrekvensen og nyttelasten for enheten. Ved å øke annonseintervallet kan IoT-enheter forsinke senderdrift; ved å redusere nyttelasten kan IoT-enheter redusere varigheten av senderens hendelser. Selvfølgelig tåler ikke alle applikasjoner lange annonseintervaller eller minimal nyttelast. I en lyd- eller sanntidsføleenhet betyr for eksempel lange annonseintervaller forsinkede tilkoblinger, som kan påvirke oppførselen til applikasjonen negativt totalt sett.
Perferienheter kan bruke en annen BLE-funksjon kalt slavelatens, som gjør at perifere enheter kan hoppe over tilkoblingshendelser. Som med Wi-Fi DTIM, tillater BLE-slavelatens at enheter forblir i laveffektmodus i en lengre periode. Istedenfor bare å øke tilkoblingsintervallet, tillater denne spesielle modusen at perferienheten hopper over tilkoblingshendelser med en vert, men at den likevel våkner og sende data etter behov, uten å pådra seg ytterligere latens.
Støtte for dobbeltmodus-tilkobling og utvidet batterilevetid
Disse metodene bidrar til å redusere varigheten og frekvensen av full strømdrift i Wi-Fi- og Bluetooth-enheter, men utviklere kan gjøre mye mer for å forlenge batterilevetiden ved hjelp av maskinvare- og programvarefunksjoner demonstrert i Cypress Semiconductor CY8CKIT-062S2-43012 Wi-Fi BT Pioneer-sett. Sammen med forbindelsesledninger og en USB-kabel, inkluderer Cypress-settet PSoC 62S2 Wi-Fi BT-Pioneer-kortet, som gir en omfattende utviklingsplattform og et fullt utstyrt maskinvaresystem for å implementere IoT-design med lav effekt. Brukt med Cypress-programvare, gjør Cypress-settet det mulig for utviklere å umiddelbart evaluere og raskt distribuere en rekke sofistikerte strømstyringsfunksjoner.
Sammen med flere grensesnittkontakter, knapper og lysdioder, integrerer settets kort en CY8C5868LTI-LP038 PSoC 5LP-enhet som gir Cypress KitProg3 innebygd programmering og feilsøking. For ytterligere innebygd lagring, integrerer Cypress sitt 512 megabit (Mbit) serielle NOR-flashminne S25FL512S og sitt serielle ferroelektriske RAM-minne (FRAM) på 4 Mbit (FIGUR 1).
Figur 1: Cypress PSoC 62S2 Wi-Fi BT-Pioneer-kortet gir et omfattende sett med systemfunksjoner bygget opp rundt en bæremodul som integrerer en PSoC 6-mikrokontroller og en trådløs Wi-Fi/Bluetooth-tilkoblingsmodul. (Bildekilde: Cypress Semiconductor)
Det sentrale ved kortet er at en bæremodul integrerer en Cypress Semiconductor PSoC 6-mikrokontroller og en trådløs tilkoblingsmodul Murata Electronics Type 1LV LBEE59B1LV med passive komponenter. En radiofrekvensbryter (RF) og en dual-band 2,45 GHz/5 GHz minibrikke-antenne runder ut støtteenhetene.
PSoC 6 er utviklet spesielt for å eliminere den konvensjonelle avveiningen mellom prosesseringsytelse og strømforbruk, og integrerer en 150 megahertz (MHz) Arm® Cortex®-M4, som fungerer som primær applikasjonsprosessor, og en 100 MHz Arm Cortex-M0+, som håndterer laveffektdrift. Sammen med integrert flash og statisk RAM (SRAM) inkluderer PSoC6 en kryptografimotor, programmerbare analoge og digitale periferiutstyr, CapSense-berøringssensorstøtte og flere systemgrensesnitt (figur 2).
Figur 2: Innebygget i Cypress PSoC 62S2 Wi-Fi BT-Pioneer-kortets bæremodul, bruker en PSoC 6-mikrokontroller en multikjernearkitektur for å oppfylle kravene til både applikasjonsbehandling og sanntidsutførelse med lav effekt. (Bildekilde: Cypress Semiconductor)
Murata LBEE59B1LV-modulen gir et komplett radiodelsystem i et format på 10,0 x 7,2 x 1,4 mm, som inneholder en Cypress CYW43012-trådløs Internett-tilkobling for innebygde enheter (WICED) Wi-Fi + Bluetooth-enhet, referanseklokke og filtre (figur 3).
Figur 3: Trådløs tilkoblingsmodul Murata Type 1LV LBEE59B1LV gir et komplett, forhåndssertifisert Wi-Fi + Bluetooth-radio-undersystem bygget rundt en Cypress CYW43012 WICED-enhet. (Bildekilde: Murata Electronics)
Modulen støtter 2,4 GHz og 5 GHz-trådløs tilkobling med Bluetooth 5.0 og Wi-Fi 802.11a/b/g/n. I tillegg gir modulen en 802.11ac-vennlig modus, som støtter 802.11acs 256-kvadraturamplitudemodulasjon (QAM) for 20 MHz-kanalene i 5 GHz-båndet, og tilbyr høyere gjennomstrømning og lavere energi per bit enn produkter kun for 802.11n. Murata LBEE59B1LV-modulen er designet for å fremskynde utviklingen, og er forhåndssertifisert i flere regioner, noe som eliminerer de lange forsinkelsene forbundet med samsvarstesting og sertifisering.
I modulen integrerer Cypress WICED-enheten en Arm Cortex-M3-prosessor og Arm Cortex-M4-prosessor i henholdsvis Wi-Fi- og Bluetooth-undersystemene. Selv om den ikke er tilgjengelig for kundekode, kjører Arm Cortex-M3-prosessoren Cypress firmware som støtter Wi-Fi-operasjoner og tilleggsfunksjonalitet, inkludert avlastningsfunksjoner beskrevet nedenfor. Arm Cortex-M4 i Bluetooth-undersystemet kjører Bluetooth-kontrollerens firmware, Bluetooth-stack og profiler. I tillegg kan denne kjernen kjøre kundekode, programmert ved hjelp av Cypress WICED programvareutviklingssett (SDK).
Bruk av strømsparemetoder i trådløse IoT-design
PSoC 6 og den trådløse tilkoblingsmodulen er utviklet for å minimere strømforbruket, den har et omfattende sett med strømmoduser og strømreduksjonsfunksjoner. Cypress støtter denne strømeffektive maskinvareplattformen med et betydelig programvarekomplementering, designet for å forenkle bruken av strømsparemetoder i trådløse IoT-design. Utviklere kan for eksempel enkelt implementere strømsparemetoden nevnt tidligere ved hjelp av det uavhengige Wi-Fi-vertsdriverbiblioteket (WHD).
I API-et kaller utviklere ganske enkelt på WHD-funksjonen whd_wifi_enable_powersave () for å aktivere strømsparingsmodus (power save poll) og whd_wifi_disable_powersave () for senere å deaktivere strømsparingsmodusen i enheten. Når aktivert, varsler STA-enheten AP om at den har gått i dvalemodus. Som nevnt tidligere, buffer AP alle rammer beregnet for sovende STA og konfigurerer sin periodiske nettvarde (beacon) for å indikere at rammer er tilgjengelige. Når STA-enheten våkner for å sjekke nettvarden (beacon), begynner den en standard prosess for å hente disse rammene.
Selv om strømsparemekanismen er beregnet for STA-er med lave driftssykluser, støtter en lignende metode STA-er med høyere gjennomstrømningskrav, disse er kalt strømsparemekanisme uten måling Her overfører STA-enheten en dataramme med nullfunksjon som initierer rammeoverføring fra AP.
Strømspareavstemning og strømsparing uten avstemning tillater enheter å redusere mottakeroperasjoner, men bidrar ikke til å eliminere unødvendige transaksjoner knyttet til nettverksoperasjoner. For eksempel vil ethvert nettverk, inkludert et IoT-WLAN, transportere uønsket pakketrafikk når det er koblet til et eksternt nettverk, spesielt det offentlige internettet. Evnen til å filtrere ut disse pakkene i kommunikasjon-undersystemet uten å involvere IoT-enhetens vertsprosessor, vil tillate vertsprosessoren å forbli i dvalemodus med lav effekt.
I tillegg til uønskede pakker kan legitim nettverkstrafikk føre til at vertsprosessoren våkner unødvendig. Wi-Fi-standard adresseoppløsningsprotokoll (ARP) bruker for eksempel sendingspakker som en del av sin funksjon for å tilordne en IP-adresse tilknyttet en enhet til enhetens MAC-adresse (Media Access Control). Denne operasjonen er viktig for normal WLAN-funksjon, slik at enheter kan nå andre i nettverket, oppdage dupliserte IP-adresser og varsle andre enheter hvis en IP-adresse endres av en eller annen grunn.
ARP-forespørsels- og svarpakker er så grunnleggende for nettverksoperasjoner at en IoT-enhets vertsprosessor kan bli overbelastet bare ved å behandle ARP-forespørsler og svar. Hvis enhetens WLAN-grensesnitt bare sender forespørsler og svar mellom verten og nettverket, vil hver ARP-forespørsel vekke verten, noen ganger unødvendig.
Murata-modulen for trådløs tilkobling griper derimot inn i denne utvekslingen og avlaster ARP-forespørselshåndtering fra PSoC 6-mikrokontrolleren. Når PSoC 6 ellers er engasjert i sin primære IoT-applikasjonsfunksjonalitet, bevarer denne funksjonen prosessorsykluser for applikasjonsutførelse. Hvis PSoC 6 er i dvalemodus, bidrar denne funksjonen til å redusere det totale strømforbruket til IoT-enheten. Ved å aktivere automatisk avlastning av ARP med automatisk svar fra andre, vil Murata-modulen kun vekke PSoC 6 dersom en innkommende ARP-forespørsel ikke kan tilfredsstilles av oppføringer bufret i Murata-modulen (figur 4, venstre).
Figur 4: Når aktivert, avskjærer ARP-avlasting ARP-forespørsler fra nettverket (venstre) eller vertsprosessoren (høyre), svarer automatisk når hurtigbufferen tilfredsstiller forespørselen (øverst) og bare vekker prosessoren ved hurtigbufferfeil (nederst). (Bildekilde: Cypress Semiconductor)
Denne samme tilnærmingen kan også bidra til å redusere WLAN-strømforbruket. Under normal drift kan Murata-modulen overvåke (snoke på) nettverkstrafikk og hurtigbuffer-IP:MAC-PAR fra andre ARP-svar. Ved hjelp av automatisk svar fra verten kan Murata-modulen svare på ARP-forespørsler fra PSoC 6, og påberope seg sitt radio-undersystem bare dersom PSoC 6-forespørselen ikke kan tilfredsstilles fra ARP-bufferen (figur 4, høyre).
Enkel menybasert implementering av strømsparefunksjoner
Å implementere ARP-avlasting med Pioneer-settet er bemerkelsesverdig enkelt. Cypress Device Configurator-verktøyet er inkludert i integrert utviklingsmiljø (Integrated Development Environment – IDE) Cypress ModusToolBox (MTB) og lar utviklere distribuere denne muligheten med noen få menyvalg. Cypress gir forhåndsbygde konfigurasjonsfiler som gjør det mulig for utviklere å raskt velge forskjellige konfigurasjoner, inkludert ARP-avlasting.
Det er nesten like enkelt å bruke enhetskonfiguratorverktøyet til eksplisitt å definere konfigurasjoner. Utviklere bruker verktøyets menyalternativer for å aktivere vertens vekkepinne, gi pinnen navnet (CYBSP_WIFI_HOST_WAKE) og angi pin-parametrene (figur 5).
Figur 5: Cypress Device Configurator-verktøyet lar utviklere bruke menyer for å angi strømsparealternativer som er tilgjengelige med Pioneer-kortet. (Bildekilde: Cypress Semiconductor)
I verktøyets Wi-Fi-fane aktiverer utviklere vertsvekt og angir avbruddspinnen til navnet som ble angitt tidligere (CYBSP_WIFI_HOST_WAKE). Ytterligere menyoppføringer aktiverer avlasting av ARP, angir funksjonen til peer auto-svar, aktiverer nettverksovervåking (nettverkssnoking) og angir utløpstiden for hurtigbufferoppføringen (figur 6).
Figur 6: Ved hjelp av ytterligere menyfaner i Cypress Device Configurator-verktøyet kan utviklere aktivere ARP-avlasting og spesifikke funksjoner som peer auto-svar. (Bildekilde: Cypress Semiconductor)
Når konfigurasjonen er lagret, genererer utviklere bare kildefiler, bygger det endrede prosjektet og programmerer Pioneer-kortet. Ved hjelp av en lignende prosedyre kan utviklere konfigurere Murata-modulen til å laste ut Wi-Fi-pakkefiltrering og håndtere andre vanlige typer nettverksoperasjoner. Denne samme tilnærmingen tillater til og med en IoT-enhet å utføre Wi-Fi-TCP-protokollen for å holde liv i protokollen som er nødvendig for å opprettholde Wi-Fi-tilkoblingen - alt uten å vekke IoT-vertsprosessoren.
I normale WLAN-operasjoner opprettholder en klientenhet og vertsserver TCP-tilkoblinger ved å utveksle og holde pakker i live. Hvis hver side av denne utvekslingen ikke mottar svar etter noen forsøk, avslutter den tilkoblingen. Selv i strømbegrensede IoT-enheter må vertsprosessoren kontinuerlig våkne for å delta i denne utvekslingen eller bruke enda mer strøm til kontinuerlig å gjenopprette tilkoblinger.
Som med ARP-avlasting, kan utviklere bruke enhetskonfiguratorverktøyet til å aktivere TCP for å holde avlastingen i live. Når denne funksjonen er aktivert, utfører Murata-modulen automatisk protokollen for å holde i live uten å vekke PSoC 6 (figur 7).
Figur 7: Når TCP holde i live avlastning er aktivert, utfører den trådløse tilkoblingsmodulen (WLAN-enheten) automatisk holde i live protokollen, noe som tillater vertsprosessoren å forbli i dvalemodus med lav effekt. (Bildekilde: Cypress Semiconductor)
Selv om Cypress anbefaler bruk av enhetskonfiguratorverktøyet som den enkleste banen til implementering, kan utviklere også manuelt implementere Cypress-plattformens strømsparefunksjoner, inkludert ARP-avlasting, pakkefiltrering, TCP for å holde avlastingen i live og andre.
Bak begge tilnærmingene ligger Cypress sin Low Power Assistant (LPA) -middelprogramvare som støtter disse strømsparefunksjonene for Wi-Fi, Bluetooth og PSoC 6-mikrokontrolleren, sammen med andre funksjoner utover de som er nevnt her.
Etter at utvikleren har definert konfigurasjoner ved hjelp av menyer eller ved å legge til konfigurasjonskode manuelt, fungerer LPA-firmwaren gjennomsiktig for applikasjonen, og organiserer automatisk bruk av laveffekts maskinvarefunksjoner og programvarefunksjoner.
Konklusjon
Behovet for kontinuerlig trådløs tilkobling og utvidet batterilevetid i IoT-enheter representerer motstridende krav til designere som bare forverres av behovet for å støtte både Wi-Fi og Bluetooth. Som vist, ved å kombinere et radio-undersystem som kan laste av nettverksprosesseringsoppgaver med en mikrokontroller med lav effekt, lar Cypress Semiconductor CY8CKIT-062S2-43012 Wi-Fi BT Pioneer-sett oppfylle designeres krav til IoT-trådløs tilkobling og lav effekt.
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.




