Så här maximerar du batteriets livslängd i Dual-Mode Wi-Fi / Bluetooth IoT-mönster
Bidraget med av DigiKeys nordamerikanska redaktörer
2020-09-24
Konstruktörer av batteridrivna Internet of Things-produkter och andra uppkopplade produkter förväntas uppfylla en del motstridiga krav på både kontinuerlig trådlös uppkoppling och längre batteritid. Den växande efterfrågan på både Bluetooth 5 och Wi-Fi-anslutning i samma produkt, medför ytterligare påfrestningar av redan ansträngda effektbegränsningar. Trots att Wi-Fi- och Bluetooth-protokollen tillhandahåller standardprotokoll för att minska energiförbrukningen, finns mer direkt stöd i form av en arkitektur som kombinerar radiosubsystem som kan avlasta nätverksprocessningsuppgifter med en strömsnål microcontroller.
Denna artikel beskriver vikten av dual-mode Wi-Fi/Bluetooth-uppkoppling och hur det komplicerar IoT-utvecklingen. Den visar sedan hur ett utvecklingskort och tillhörande programvara frånCypress Semiconductor kan användas för utveckling av dual-mode Wi-Fi/Bluetooth IoT-enheter med kontinuerlig uppkoppling och längre batteritid.
Det växande behovet av kontinuerlig Wi-Fi/Bluetooth-uppkoppling med dual-mode
Bluetooth-konnektivitet anses vara ett standardkrav för många IoT-produkter som är utformade för att interagera med användare via Bluetooth-kompatibla smartphones och andra mobila enheter. För många IoT-applikationer behöver dock IoT-enheter en Wi-Fi-anslutning för att komma åt ett trådlöst lokalt nätverk (WLAN) för att nå Internet direkt eller för att interagera med andra peer-enheter och värdsystem i samma nätverk.
På många sätt skulle utvecklarnas förmåga att förlänga batteriets livslängd vara mycket enklare om dessa IoT-enheter bara behövde ansluta till WLAN eller en Bluetooth-värd när de behövde överföra sin data eller andra meddelanden. Eftersom den aktiva arbetscykeln för många IoT-enheter vanligtvis är låg, kan dessa enheter förlänga batteriets livslängd genom att huvudsakligen arbeta i viloläge vid låg effekt, vara vakna tillräckligt länge för att utföra sensormätningar, utföra relaterade beräkningsuppgifter och överföra den resulterande datan innan de återgår till lågeffektläge. I praktiken behöver de flesta IoT-enheter svara snabbt på asynkrona inkommande kommandon och data från peer-enheter, värdsystem och slutanvändare.
För att förbli responsiva måste IoT-enheter ge intryck av en kontinuerlig uppkoppling och vara vakna för inkommande trafik, så att de kan svara inom en acceptabel tidsperiod. Om utvecklarna försöker uppfylla detta grundkrav genom att gång på gång väcka sina enheter för att ta emot inkommande trafik, kommer enhetens batteri snabbt att förbrukas. Faktum är att radiomottagare i batteridrivna Wi-Fi-enheter normalt förbrukar mer ström över tid än radiosändare, trots den högre energiförbrukningen i samband med en enskild överföringsoperation. Naturligtvis är den energi som förbrukas av enhetens värdprocessor i varje mottagningsoperation en betydande belastning på energibudgeten. Lyckligtvis definierar trådlösa standarder protokoll som låter utvecklarna sänka strömförbrukningen, samtidigt som de bibehåller illusionen om kontinuerlig uppkoppling.
Hur trådlösa anslutningsstandarder bidrar till att sänka strömförbrukningen i enheter
I normal drift sparar Wi-Fi-mottagningsstationer (STA) ström genom att stänga av det mesta av sitt Wi-Fi-subsystem. Eftersom åtkomstpunkter (AP:er) buffrar ramar för sovande STA:er går inga meddelanden förlorade. Som en del av deras normala nätverkshanteringsprocedur, sänder AP:er regelbundet ut fyrsignaler som innehåller en bitmapp - benämnd trafikindikeringskarta (TIM) - som indikerar om AP:n har väntande trafik för varje STA. AP sänder också regelbundet ut en fyrsignal som innehåller en leveranstrafikindikeringskarta (DTIM), som anger tillgängligheten av buffrad multicast- eller sändningsdata. STA:er förväntas vakna regelbundet inom DTIM-periodtiden, vilket är en multipel av det normala fyrsignalintervallet. Ett IoT-nätverk konfigurerat med en hög DTIM-periodtid skulle göra det möjligt för enheter i nätverket att minska strömförbrukningen eftersom de kan ligga vilande längre tid innan de väcker sin mottagare för att ta emot en fyrsignal som indikerar att AP:n håller ramar för den. Detta är den grundläggande metodiken bakom strömsparmekanism enligt standard 802.11, vilken beskrivs nedan.
Med Bluetooth Low Energy (BLE) kan enheter minska energiförbrukningen genom att optimera Bluetooth-annonsfrekvensen och nyttolasten. Genom att öka annonsintervallet, kan IoT-enheter fördröja sändningsoperationer: genom att minska nyttolasten kan IoT-enheter minska varaktigheten för sändarhändelser. Naturligtvis tål inte alla applikationer långa annonsintervall eller kraftigt slimmade nyttolaster. I en ljudprodukt eller realtidssensor innebär exempelvis långa annonsintervall, försenade anslutningar som kan påverka applikationens beteende negativt.
Kringenheter kan använda en annan BLE-funktion som kallas slavlatens som gör att kringenheter kan hoppa över anslutningshändelser. Precis som med Wi-Fi DTIM tillåter BLE-slavfördröjningen att enheterna förblir i lågeffektläge under en längre tid. I stället för att bara öka anslutningsintervallet tillåter detta speciella läge kringenheten att hoppa över anslutningshändelser med en värd, men ändå vakna och skicka data efter behov utan ytterligare latens.
Stöd för dual-mode-anslutning och förlängd batteritid
Dessa metoder hjälper till att minska varaktigheten och frekvensen för full effektdrift i Wi-Fi- och Bluetooth-enheter, men utvecklare kan göra mycket mer för att förlänga batteriets livslängd med hjälp av hårdvaru- och programvarufunktioner som visas i Cypress SemiconductorCY8CKIT-062S2-43012 Wi-Fi BT Pioneer Kit. Tillsammans med bygelkablar och en USB-kabel innehåller Cypress-satsen PSoC 62S2 Wi-Fi BT Pioneer-kortet, som ger en omfattande utvecklingsplattform och ett komplett maskinvarusystem för att implementera IoT-konstruktioner med låg effekt. När den används med Cypress programvara ger Cypress-satsen utvecklare möjlighet att omedelbart utvärdera och snabbt distribuera en mängd sofistikerade energihanteringsfunktioner.
Tillsammans med flera gränssnittskontakter, knappar och lysdioder innehåller satsens kort en CY8C5868LTI-LP038 PSoC 5LP-enhet som erbjuder Cypress KitProg3 med programmering och felsökning direkt på kortet. För ytterligare kortlagring innehåller enheten Cypress seriella NOR-flashminne S25FL512S på 512 Mbit och dess seriella ferroelektriska FRAM CY15B104 på 4 Mbit (figur 1).
Figur 1: Cypress PSoC 62S2 Wi-Fi BT Pioneer-kort erbjuder en omfattande uppsättning systemfunktioner byggda runt en bärarmodul som integrerar en PSoC 6-microcontroller och en trådlös Wi-Fi/Bluetooth-anslutningsmodul. (Bildkälla: Cypress Semiconductor)
I hjärtat av kortet finns en bärarmodul med en Cypress SemiconductorPSoC 6-microcontroller och en trådlös anslutningsmodul med passiva komponenter (Murata Electronics Typ 1LVLBEE59B1LV). En radiofrekvensswitch (RF) och en dubbelbandig 2,45/5 GHz minichipantenn kompletterar supportutbudet.
PSoC 6 är utformad speciellt för att eliminera den konventionella kompromissen mellan processprestanda och strömförbrukning och innehåller en 150 MHz Arm® Cortex®-M4, som fungerar som primär applikationsprocessor, och en 100 MHz Arm Cortex-M0+ som hanterar lågeffektdrift. Förutom integrerat Flash och statiskt RAM (SRAM), innehåller PSoC6 en kryptografimotor, programmerbar analog och digital kringutrustning, stöd för CapSense-pekavkänning och flera systemgränssnitt (figur 2).
Figur 2: Inbyggt i Cypress PSoC 62S2 Wi-Fi BT Pioneer-kortets bärarmodul finns en PSoC 6-microcontroller med flerkärnig arkitektur, för att klara av kraven på både applikationsprocessning och realtidsutförande vid låg effekt. (Bildkälla: Cypress Semiconductor)
Murata LBEE59B1LV-modulen erbjuder ett komplett radiosubsystem i ett format på 10,0 x 7,2 x 1,4 mm som inrymmer en Cypress CYW43012 trådlös internetanslutning för inbäddade enheter (WICED) Wi-Fi + Bluetooth-enhet, referensklocka och filter (figur 3).
Figur 3: Murata Type 1LV LBEE59B1LV trådlös anslutningsmodul ger ett komplett, förcertifierat Wi-Fi + Bluetooth-radiosubsystem byggt runt en Cypress CYW43012 WICED-enhet. (Bildkälla: Murata Electronics)
Modulen stödjer 2,4 GHz och 5 GHz trådlös uppkoppling med Bluetooth 5.0 och Wi-Fi 802.11a/b/g/n. Dessutom erbjuder modulen ett 802.11ac-vänligt läge, som stöder 256-kvadraturamplitudmodulering (QAM) enligt 802.11ac för 20 MHz-kanaler i 5 GHz-bandet, vilket ger högre genomströmning och lägre energi per bit än produkter med endast 802.11n. Muratas LBEE59B1LV-modul är utformad för att påskynda utvecklingen och är förcertifierad i flera regioner, vilket eliminerar de långa ledtiderna i samband med testning och normcertifiering.
I modulen innehåller Cypress WICED-enheten en Arm Cortex-M3-processor och Arm Cortex-M4-processor i Wi-Fi/Bluetooth-subsystemen. Även om den inte är tillgänglig för kundkod, kör Arm Cortex-M3-processorn Cypress-firmware som stöder Wi-Fi och andra funktioner, inklusive offload-funktionalitet som beskrivs nedan. Arm Cortex-M4 i Bluetooth-delsystemet kör firmware för Bluetooth-styrning, Bluetooth-stack och profiler. Dessutom kan denna kärna köra kundkod programmerad med Cypress WICED-utvecklingspaketet (SDK).
Använda energibesparingsmetoder i trådlösa IoT-konstruktioner
PSoC 6 och den trådlösa anslutningsmodulen är utformad för att minimera strömförbrukningen och har ett stort antal energilägen och effektreduceringsfunktioner. Cypress stöder denna energieffektiva maskinvaruplattform med ett betydande mjukvarukomplement som är utformat för att förenkla användningen av energisparmetoder i trådlösa IoT-konstruktioner. Till exempel kan utvecklare enkelt implementera den tidigare sparade metoden för energisparläge med hjälp av det oberoende, inbäddade biblioteket för Wi-Fi-värddrivrutiner (WHD).
I API:et anropar utvecklaren bara WHD-funktionen whd_wifi_enable_powersave () för att aktivera energisparläge och whd_wifi_disable_powersave () för att senare inaktivera det i enheten. När det är aktiverat meddelar STA AP:n att den har gått över till viloläge. Som nämnts tidigare buffrar AP:n alla ramar avsedda för den vilande STA:n och konfigurerar dess periodiska fyrsignal för att indikera att ramar är tillgängliga. När STA:n vaknar för att kontrollera fyrsignalen påbörjar den en standardprocess för att hämta dessa ramar.
Även om pollmekanismen för strömbesparing är avsedd för STA med låga arbetscykler, stödjer en liknande metod, kallad energisparing utan pollning, STA:er med högre krav på genomströmning. Här överför STA:n en dataram med null-funktion som initierar ramöverföring från AP:n.
Energisparläge med och energisparläge utan pollning tillåter enheter att reducera mottagaroperationerna, men hjälper inte till att eliminera onödiga transaktioner relaterade till nätverksoperationer. Exempelvis kan alla nätverk, inklusive ett IoT WLAN, bära oönskad pakettrafik när de är anslutna till ett externt nätverk, särskilt det offentliga Internet. Möjligheten att filtrera bort dessa paket i kommunikationssubsystemet utan att involvera IoT-enhetens värdprocessor skulle göra det möjligt för värdprocessorn att förbli i viloläge med låg effekt.
Förutom oönskade paket kan legitim nätverkstrafik få värdprocessorn att vakna i onödan. Till exempel använder Wi-Fi-standardadressprotokollet (ARP) utsända paket som en del av sin funktion för att mappa en IP-adress associerad med en enhet till enhetens MAC-adress (Media Access Control). Denna åtgärd är nödvändig för normal WLAN-funktion, så att enheter kan nå andra i sitt nätverk, upptäcka dubbletter av IP-adresser och meddela andra enheter om en IP-adress ändras av någon anledning.
ARP-förfrågans- och -svarspaket är så grundläggande för nätverksoperationer att en IoT-enhets värdprocessor kan bli överbelastad enbart genom att behandla ARP-förfrågningar och -svar. Om enhetens WLAN-gränssnitt helt enkelt skickar förfrågningar och svar mellan värden och nätverket, kommer varje ARP-förfrågan att väcka värden, ibland i onödan.
Som kontrast, ingriper den trådlösa Murata-anslutningsmodulen i detta utbyte och avlastar hanteringen av ARP-förfrågan från PSoC 6-microcontrollern. När PSoC 6 på annat sätt är upptagen med sin primära IoT-applikationsfunktionalitet, bevarar denna funktion processorcykler för applikationskörning. Om PSoC 6 är i viloläge bidrar denna funktion till att minska IoT-enhetens totala energiförbrukning. Genom att aktivera ARP-avlastning med peer-auto-svar väcker Murata-modulen bara PSoC 6 om en inkommande ARP-begäran inte kan uppfyllas av inmatninger som är cachade i Murata-modulen (figur 4, vänster).
Figur 4: När det är aktiverat avlyssnar ARP-avladdning ARP-förfrågningar från nätverket (vänster) eller värdprocessorn (höger), svarar automatiskt när cache uppfyller begäran (överst) och väcker bara processorn vid cachemiss (nederst). (Bildkälla: Cypress Semiconductor)
Samma metod kan också bidra till att minska WLAN-strömförbrukningen. I normal drift kan Murata-modulen övervaka ("snoopa") nätverkstrafik och cachea IP:MAC-par från andra ARP-svar. Med hjälp av värdautosvar kan Murata-modulen svara på ARP-förfrågningar från PSoC 6 och anropa dess radioundersystem endast om PSoC 6:s begäran inte kan uppfyllas från ARP-cachen (figur 4, höger).
Enkel menybaserad implementering av energisparfunktioner
Att implementera ARP-avlastning med Pioneer-satsen är anmärkningsvärt enkelt. Cypress Device Configurator-verktyget, som ingår i den integrerade utvecklingsmiljön (IDE) CypressModusToolBox (MTB), gör det möjligt för utvecklare att distribuera denna funktion med några menyval. Cypress tillhandahåller förbyggda konfigurationsfiler som gör det möjligt för utvecklare att snabbt välja olika konfigurationer inklusive ARP-avladdning.
Att använda Device Configurator-verktyget för att uttryckligen definiera konfigurationer är nästan lika enkelt. Utvecklare använder verktygets menyalternativ för att aktivera värdens wake-pin, namnge pinnen (CYBSP_WIFI_HOST_WAKE) och ställa in pin-parametrarna (Figur 5).
Figur 5: Cypress Device Configurator-verktyget tillåter utvecklare att använda menyer för att ställa in energisparalternativ som finns tillgängliga på Pioneer-kortet. (Bildkälla: Cypress Semiconductor)
På verktygets Wi-Fi-flik aktiverar utvecklare värdväckning och ställer in avbrottspinnen till namnet som angavs tidigare (CYBSP_WIFI_HOST_WAKE). Ytterligare menyalternativ möjliggör ARP-avlastning: ställ in funktionen på peer auto reply, aktivera nätverkssnooping och ställ in cache-postens utgångstid (figur 6).
Figur 6: Med hjälp av andra menyflikar i verktyget Cypress Device Configurator, kan utvecklare aktivera ARP-avlastning och specifika funktioner som peer auto reply. (Bildkälla: Cypress Semiconductor)
Efter att ha sparat konfigurationen genererar utvecklare helt enkelt källfiler, bygger det modifierade projektet och programmerar Pioneer-kortet. Med hjälp av en liknande procedur kan utvecklare konfigurera Murata-modulen för att ladda ner Wi-Fi-paketfiltrering och hantera andra vanliga typer av nätverksoperationer. Samma tillvägagångssätt gör det även möjligt för en IoT-enhet att utföra "keep alive"-protokollet frö Wi-Fi TCP, för att upprätthålla Wi-Fi-anslutningen - allt utan att väcka IoT-värdprocessorn.
I normala WLAN-operationer upprätthåller en klientenhet och värdserver TCP-anslutningar genom att utbyta "keep alive"-paket. Om någon sida av utbytet inte får svar efter några försök avslutas anslutningen. Även i strömbegränsade IoT-enheter måste värdprocessorn ständigt vakna för att delta i detta utbyte eller använda ännu mer kraft för att ständigt återupprätta anslutningar.
Som med ARP-avlastning, kan utvecklare använda Device Configurator-verktyget för att aktivera TCP-"keep alive"-avlastning. När denna funktion är aktiverad kör Murata-modulen automatiskt keep alive-protokollet utan att väcka PSoC 6 (figur 7).
Figur 7: När TCP-"keep alive"-avlastning är aktiverat utför den trådlösa anslutningsmodulen (WLAN-enheten) automatiskt "keep alive"-protokollet, så att värdprocessorn kan förbli i viloläge med låg effekt. (Bildkälla: Cypress Semiconductor)
Även om Cypress rekommenderar användning av Device Configurator-verktyget som den enklaste vägen till implementering, kan utvecklare också manuellt implementera Cypress-plattformens energibesparingsfunktioner, inklusive ARP-avlastning, paketfiltrering, TCP-"keep alive"-avlastning m.fl.
Till grund för båda tillvägagångssätten ligger Cypress Low Power Assistant (LPA)-middleware som stöder dessa energisparfunktioner för Wi-Fi, Bluetooth och PSoC 6-microcontrollern och andra funktioner utöver de som nämns här.
När utvecklaren har definierat konfigurationer med hjälp av menyer eller genom att lägga till konfigurationskod manuellt, körs LPA-firmwaren transparent för applikationen, och ordnar automatiskt körning av strömsnåla hård- och mjukvarufunktioner.
Sammanfattning
Behovet av kontinuerlig trådlös anslutning och förlängd batteritid i IoT-enheter innebär motstridiga krav för konstruktörer, vilket förstärks ytterligare av behovet av att stödja både Wi-Fi och Bluetooth. Genom att kombinera ett radiosubsystem som kan lasta av nätverksbehandlingsuppgifter med en strömsnål microcontroller, såsom visats, gör Cypress Semiconductor CY8CKIT-062S2-43012 Wi-Fi BT Pioneer Kit det möjligt för konstruktörer att uppfylla kraven på både sina trådlösa IoT-anslutningar och på strömsnålhet.
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.




