Hoe de levensduur van de batterij te maximaliseren in Dual-Mode Wi-Fi/Bluetooth IoT-ontwerpen
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2020-09-24
Ontwerpers van batterij-aangedreven Internet of Things (IoT) apparaten en andere aangesloten producten worden gevraagd om te voldoen aan de tegenstrijdige eisen van continue draadloze connectiviteit en verlengde levensduur van de batterij. Het verder uitrekken van de reeds beperkte vermogensgrenzen is de groeiende vraag naar zowel Bluetooth 5- als Wi-Fi-connectiviteit in hetzelfde apparaat. Hoewel de Wi-Fi- en Bluetooth-protocollen standaardprotocollen bieden om het stroomverbruik te helpen verminderen, komt er meer directe ondersteuning in de vorm van een architectuur die radiosubsystemen combineert die netwerkverwerkingstaken kunnen ontladen met een microcontroller met een laag stroomverbruik.
Dit artikel schetst het belang van dual-mode Wi-Fi/Bluetooth-connectiviteit en hoe het de IoT-ontwerpen bemoeilijkt. Het zal dan laten zien hoe een ontwikkelbord en bijbehorende software van Cypress Semiconductor kan worden gebruikt voor de ontwikkeling van dual-mode Wi-Fi/Bluetooth IoT-apparaten die in staat zijn tot continue connectiviteit en een langere levensduur van de batterij.
De groeiende behoefte aan dual mode Wi-Fi/Bluetooth ononderbroken connectiviteit
Bluetooth-connectiviteit wordt beschouwd als een standaardvereiste voor veel IoT-apparaten die zijn ontworpen voor interactie met gebruikers via smartphones en andere mobiele apparaten met Bluetooth. Voor veel IoT-toepassingen hebben IoT-toestellen echter Wi-Fi-connectiviteit nodig om toegang te krijgen tot een draadloos lokaal netwerk (WLAN) om rechtstreeks het internet te bereiken, of om te kunnen communiceren met andere peer-apparaten en hostsystemen op hetzelfde netwerk.
In veel opzichten zou het voor ontwikkelaars veel eenvoudiger zijn om de levensduur van de batterij te verlengen als deze ivd-toestellen alleen verbinding met de WLAN- of Bluetooth-host hoeven te maken wanneer ze hun gegevens of andere berichten moeten verzenden. Omdat de actieve activiteitscyclus voor veel IoT-apparaten doorgaans laag is, kunnen deze apparaten de levensduur van de batterij verlengen door voornamelijk in de spaarstand te werken, lang genoeg wakker te worden om sensormetingen uit te voeren, gerelateerde verwerkingstaken te voltooien en de resulterende gegevens te verzenden alvorens terug te keren naar de spaarstand. In werkelijkheid moeten de meeste IoT-apparaten snel reageren op asynchrone inkomende opdrachten en gegevens van peer-apparaten, host-systemen en eindgebruikers.
Om te kunnen blijven reageren, moeten IoT-apparaten de schijn van continue connectiviteit wekken en alert blijven op binnenkomend verkeer, zodat ze binnen een aanvaardbare termijn kunnen reageren. Als ontwikkelaars proberen aan deze fundamentele eis te voldoen door hun apparaten herhaaldelijk wakker te maken om binnenkomend verkeer te ontvangen, zal de batterij van hun apparaat snel uitgeput raken. In feite zullen radio-ontvangers in batterijgevoede Wi-Fi-apparaten na verloop van tijd doorgaans meer stroom verbruiken dan radiozenders, ondanks het hogere stroomverbruik dat gepaard gaat met een individuele transmissiehandeling. Natuurlijk voegt de stroom die de hostprocessor van het apparaat van zijn kant in elke ontvangstoperatie verbruikt, zijn eigen aanzienlijke belasting toe aan het stroombudget. Gelukkig definiëren draadloze standaarden protocollen waarmee ontwikkelaars het vermogen kunnen verminderen, terwijl de illusie van continue connectiviteit behouden blijft.
Hoe draadloze connectiviteitsstandaarden apparaten helpen het stroomverbruik te verminderen
Bij normaal gebruik besparen Wi-Fi-ontvangststations (STA's) energie door het grootste deel van hun Wi-Fi-subsysteem uit te schakelen. Omdat access points (AP's) bufferframes voor slapende STA's, gaan er geen berichten verloren. Als onderdeel van hun normale netwerkbeheeractiviteiten zenden AP's regelmatig bakens uit die een bitmap bevatten, een zogenaamde verkeersaanwijzingskaart (TIM), die aangeeft of de AP wachtend verkeer heeft voor elke STA. AP's zenden ook periodiek een baken uit dat een leveringsverkeersaanwijzingskaart (DTIM) bevat, die de beschikbaarheid van gebufferde multicast- of uitzendgegevens aangeeft. Van STA's wordt verwacht dat ze regelmatig wakker worden binnen de DTIM-periodewaarde, die een veelvoud is van het normale bakeninterval. Een ivd-netwerk dat is geconfigureerd met een hoge DTIM-periodewaarde zou de apparaten in het netwerk in staat stellen het stroomverbruik te verminderen omdat ze langer kunnen slapen voordat ze hun ontvanger wekken om een baken te ontvangen dat aangeeft dat het AP er frames voor vasthoudt. Dit is de fundamentele benadering achter het standaard 802.11 power saving poll mechanisme dat hieronder wordt besproken.
Bluetooth low energy (BLE) laat apparaten het stroomverbruik verminderen door de frequentie en het laadvermogen van de Bluetooth-reclame te optimaliseren. Door het verhogen van het reclame-interval kunnen ivd-apparaten de werking van de zender vertragen; door het verlagen van het laadvermogen kunnen IoT-apparaten de duur van de zendgebeurtenissen verkorten. Natuurlijk kan niet elke toepassing lange reclame-intervallen of een minimaal laadvermogen verdragen. In een audio- of realtime detectieapparaat betekenen lange reclame-intervallen bijvoorbeeld vertraagde verbindingen die het gedrag van de applicatie als geheel negatief kunnen beïnvloeden.
Randapparaten kunnen een andere BLE-functie gebruiken die slavesvertraging heet en waarmee het randapparaat verbindingssituaties kan overslaan. Net als bij Wi-Fi DTIM zorgt de BLE-slavesvertraging ervoor dat apparaten langer in de low-power modus kunnen blijven. In plaats van de verbindingsinterval te verhogen, kan het randapparaat in deze speciale modus verbindinggebeurtenissen met een host overslaan, maar desalniettemin gegevens wekken en verzenden zonder extra vertraging op te lopen.
Ondersteuning voor dual-mode connectiviteit en verlengde levensduur van de batterij
Deze methoden helpen de duur en frequentie van de werking op volle kracht te verminderen in Wi-Fi- en Bluetooth-apparaten, maar ontwikkelaars kunnen veel meer doen om de levensduur van de batterij te verlengen met behulp van de hardware en software mogelijkheden gedemonstreerd in de Cypress Semiconductor CY8CKIT-062S2-43012 Wi-Fi BT Pioneer Kit. De Cypress-kit bevat samen met de startkabels en een USB-kabel het PSoC 62S2 Wi-Fi BT Pioneer-bord, dat een uitgebreid ontwikkelingsplatform en een compleet hardwaresysteem biedt voor de implementatie van low-power IoT-ontwerpen. De Cypress-kit wordt gebruikt in combinatie met Cypress-software en stelt ontwikkelaars in staat om een verscheidenheid aan geavanceerde mogelijkheden voor energiebeheer onmiddellijk te evalueren en snel in te zetten.
Samen met meerdere interfaceconnectors, knoppen en LED's, integreert het bord van de kit een CY8C5868LTI-LP038 PSoC 5LP-apparaat dat voorziet in Cypress KitProg3 onboard programmering en debugging. Voor extra opslag aan boord integreert Cypress zijn S25FL512S 512 megabit (Mbit) serieel NOR flash-geheugenapparaat en zijn CY15B104 4 Mbit serieel ferro-elektrisch willekeurig toegankelijk geheugen (FRAM) (Afbeelding 1).
Afbeelding 1: De Cypress PSoC 62S2 Wi-Fi BT Pioneer-bord biedt een uitgebreide set systeemfuncties die zijn opgebouwd rond een draaggolfmodule die een PSoC 6-microcontroller en een Wi-Fi/Bluetooth draadloze connectiviteitsmodule integreert. (Bron afbeelding: Cypress Semiconductor)
In het hart van het bord integreert een dragermodule een Cypress Semiconductor PSoC 6-microcontroller en een Murata Electronics Type 1LV LBEE59B1LV draadloze connectiviteitsmodule met passieve componenten. Een radiofrequentieschakelaar (RF) en een dual-band 2,45 gigahertz (GHz)/5 GHz mini-chipantenne ronden de ondersteuningsapparaten af.
De PSoC 6 is speciaal ontworpen om de conventionele afweging tussen verwerkingsprestaties en stroomverbruik te elimineren en integreert een 150 megahertz (MHz) Arm® Cortex®-M4, die dienst doet als de primaire applicatieprocessor, en een 100 MHz Arm Cortex-M0+, die een laag stroomverbruik aankan. Samen met geïntegreerde flitser en statisch RAM (SRAM), bevat de PSoC6 een cryptografie-engine, programmeerbare analoge en digitale randapparatuur, CapSense touch sensing ondersteuning, en meerdere systeeminterfaces (Afbeelding 2).
Afbeelding 2: In de draagmodule van de Cypress PSoC 62S2 Wi-Fi BT Pioneer-bord is een PSoC 6-microcontroller ingebouwd die gebruik maakt van een multicore-architectuur om te voldoen aan de vereisten voor zowel applicatieverwerking als realtime uitvoering met laag vermogen. (Bron afbeelding: Cypress Semiconductor)
De Murata LBEE59B1LV-module biedt een compleet radiosubsysteem in een pakket van 10,0 x 7,2 x 1,4 millimeter (mm) met een Cypress CYW43012 draadloze internetverbinding voor Embedded Devices (WICED) Wi-Fi + Bluetooth-apparaat, referentieklok en filters (Afbeelding 3).
Afbeelding 3: De Murata Type 1LV LBEE59B1LV draadloze connectiviteitsmodule biedt een compleet, vooraf gecertificeerd Wi-Fi + Bluetooth radiosubsysteem dat is opgebouwd rond een Cypress CYW43012 WICED-apparaat. (Bron afbeelding: Murata Electronics)
De module ondersteunt 2,4 GHz en 5 GHz draadloze connectiviteit met Bluetooth 5.0 en Wi-Fi 802.11a/b/g/n. Bovendien biedt de module een 802.11ac-vriendelijke modus, die de 256 kwadratuur amplitudemodulatie (QAM) van 802.11ac ondersteunt voor de 20 MHz-kanalen in de 5 GHz-band, wat een hogere doorvoercapaciteit en een lagere energie per bit biedt dan 802.11n-only-producten. Ontworpen om de ontwikkeling te versnellen, is de Murata LBEE59B1LV-module vooraf gecertificeerd in meerdere regio's, waardoor de lange vertragingen in verband met het testen en certificeren van de naleving worden geëlimineerd.
Binnen de module integreert het Cypress WICED-apparaat een Arm Cortex-M3-processor en Arm Cortex-M4-processor in respectievelijk de Wi-Fi- en Bluetoothsubsystemen. Hoewel het niet beschikbaar is voor klantcode, voert de Arm Cortex-M3-processor Cypress-firmware uit die Wi-Fi-bewerkingen en aanvullende functionaliteit ondersteunt, inclusief offload-functionaliteit die hieronder wordt beschreven. De Arm Cortex-M4 in het Bluetooth-subsysteem stelt de Bluetooth-controlleringebouwde programmatuur, de Bluetooth-stapel en de profielen in werking. Daarnaast kan deze kern klantcode draaien die is geprogrammeerd met de Cypress WICED software development kit (SDK).
Het gebruik van energiebesparende methoden in draadloze IoT-ontwerpen
De PSoC 6 en de draadloze connectiviteitsmodule zijn ontworpen om het stroomverbruik tot een minimum te beperken en zijn voorzien van een uitgebreide set vermogensmodi en mogelijkheden om het stroomverbruik te verminderen. Cypress ondersteunt dit energie-efficiënte hardware-platform met een aanzienlijke software-aanvulling die is ontworpen om het gebruik van energiebesparende methoden in draadloze IoT-ontwerpen te vereenvoudigen. Ontwikkelaars kunnen bijvoorbeeld gemakkelijk de eerder genoemde methode voor een energiebesparende peiling implementeren met behulp van de onafhankelijke embedded Wi-Fi host driver (WHD) bibliotheek.
Ontwikkelaars roepen eenvoudigweg de WHD applicatie programmeer interface (API) functie whd_wifi_enable_powersave() aan om power save poll in te schakelen en whd_wifi_disable_powersave() om het later in het apparaat uit te schakelen. Wanneer de STA is ingeschakeld, meldt de AP dat hij is gaan slapen. Zoals eerder vermeld, buffert de AP alle frames die bedoeld zijn voor de slapende STA en configureert de periodieke baken om aan te geven dat er frames beschikbaar zijn. Wanneer de STA wakker wordt om het baken te controleren, begint het een standaardproces om die frames op te halen.
Hoewel het energiebesparingsoproepmechanisme bedoeld is voor STA's met lage bedrijfscycli, ondersteunt een vergelijkbare methode, genaamd energiebesparingsoproep zonder peiling, STA's met hogere doorvoervereisten. Hier stuurt de STA een nul-functie-dataframe, dat de frame-overdracht van het AP in gang zet.
Stroombesparing en stroombesparing zonder poll maken het mogelijk dat apparaten de werking van de ontvangers verminderen, maar helpen niet bij het elimineren van onnodige transacties met betrekking tot de overhead van netwerkbewerkingen. Zo zal bijvoorbeeld elk netwerk, inclusief een IoT WLAN, ongewenst pakketverkeer vervoeren wanneer het is aangesloten op een extern netwerk, met name het openbare internet. De mogelijkheid om die pakketten binnen het communicatiesubsysteem uit te filteren zonder de hostprocessor van het IoT-apparaat te betrekken, zou de hostprocessor in de slaapstand met een laag stroomverbruik laten staan.
Naast ongewenste pakketten kan legitiem netwerkverkeer ervoor zorgen dat de hostprocessor onnodig wakker wordt. Het Wi-Fi-standaardadresresolutieprotocol (ARP) maakt bijvoorbeeld gebruik van broadcast-pakketten als onderdeel van zijn functie om een IP-adres dat aan een apparaat is gekoppeld, in kaart te brengen op het media-toegangscontrole-adres (MAC-adres) van het apparaat. Deze handeling is essentieel voor de normale WLAN-functie, waardoor apparaten anderen in hun netwerk kunnen bereiken, dubbele IP-adressen kunnen opsporen en andere apparaten op de hoogte kunnen brengen als een IP-adres om welke reden dan ook wordt gewijzigd.
ARP-aanvraag- en antwoordpakketten zijn zo fundamenteel voor netwerkbewerkingen dat de hostprocessor van een IoT-apparaat overbelast kan raken door simpelweg ARP-aanvragen en -antwoorden te verwerken. Als de WLAN-interface van het apparaat eenvoudigweg verzoeken en antwoorden tussen de host en het netwerk doorgeeft, zal elke ARP-aanvraag de host wakker maken, wat soms onnodig is.
Daarentegen grijpt de Murata draadloze connectiviteitsmodule in deze uitwisseling in, waarbij ARP-aanvraagafhandeling van de PSoC 6-microcontroller wordt ontladen. Wanneer de PSoC 6 op een andere manier bezig is met de primaire functionaliteit van de IoT-toepassing, behoudt deze mogelijkheid de processorcycli voor de uitvoering van de toepassing. Als de PSoC 6 in de slaapstand staat, helpt deze mogelijkheid het totale stroomverbruik van het IoT-apparaat te verminderen. Door ARP offload met peer auto reply in te schakelen, zal de Murata-module de PSoC 6 alleen wakker maken als een binnenkomend ARP-verzoek niet kan worden voldaan met entries die in de Murata-module in de cache staan (Afbeelding 4, links).
Afbeelding 4: Wanneer ingeschakeld, onderschept ARP offloading ARP-verzoeken van het netwerk (links) of de host-processor (rechts), reageert automatisch wanneer de cache voldoet aan het verzoek (boven) en maakt de processor alleen wakker als de cache mist (onder). (Bron afbeelding: Cypress Semiconductor)
Deze zelfde aanpak kan ook helpen om het WLAN-stroomverbruik te verminderen. In normaal bedrijf kan de Murata-module (snoop) netwerkverkeer monitoren en IP:MAC-paren van andere ARP-reacties cachen. Met behulp van host auto reply kan de Murata-module antwoorden op ARP-verzoeken van de PSoC 6, waarbij het radiosubsysteem alleen wordt aangeroepen als het verzoek van de PSoC 6 niet kan worden voldaan vanuit de ARP-cache (Afbeelding 4, rechts).
Eenvoudige menu-gebaseerde implementatie van energiebesparende functies
Het implementeren van de ARP-lading met de Pioneer-kit is opmerkelijk eenvoudig. In de Cypress ModusToolBox (MTB) geïntegreerde ontwikkelomgeving (IDE), stelt de Cypress Device Configurator tool ontwikkelaars in staat om deze mogelijkheid te implementeren met een paar menuselecties. Cypress biedt vooraf gebouwde configuratiebestanden waarmee ontwikkelaars snel verschillende configuraties kunnen selecteren, waaronder ARP offloading.
Het gebruik van de Device Configurator tool om expliciet configuraties te definiëren is bijna net zo eenvoudig. Ontwikkelaars gebruiken de menuopties van de tool om de host-waakpin in te schakelen, de naam van de pin (CYBSP_WIFI_HOST_WAKE) te geven en de pinparameters in te stellen (Afbeelding 5).
Afbeelding 5: Met de Cypress Device Configurator tool kunnen ontwikkelaars menu's gebruiken om energiebesparende opties in te stellen die beschikbaar zijn met het Pioneer-bord. (Bron afbeelding: Cypress Semiconductor)
In het Wi-Fi-tabblad van de tool schakelen ontwikkelaars de host wake in en stellen ze de interruptspeld in op de eerder ingevoerde naam (CYBSP_WIFI_HOST_WAKE). Extra menu-items schakelen ARP offloading in, stellen de functie in op peer auto reply, schakelen netwerk snooping in en stellen de vervaltijd van de cache-invoer in (Afbeelding 6).
Afbeelding 6: Met behulp van extra menutabbladen in de Cypress Device Configurator tool kunnen ontwikkelaars ARP offloading en specifieke functies zoals peer auto reply inschakelen. (Bron afbeelding: Cypress Semiconductor)
Na het opslaan van de configuratie genereren de ontwikkelaars eenvoudigweg de bronbestanden, bouwen ze het gewijzigde project en programmeren ze het Pioneer-bord. Met behulp van een vergelijkbare procedure kunnen ontwikkelaars de Murata-module configureren om Wi-Fi-pakketfiltering te ontladen en andere veelvoorkomende soorten netwerkbewerkingen aan te pakken. Dezelfde aanpak maakt het zelfs mogelijk dat een IoT-apparaat het Wi-Fi TCP-protocol in leven houdt dat nodig is om de Wi-Fi-connectiviteit te behouden, zonder dat de hostprocessor van het IoT wakker wordt.
Bij normale WLAN-operaties onderhouden een clientapparaat en een host-server TCP-verbindingen door het uitwisselen van pakketten in leven te houden. Als een van beide zijden van deze uitwisseling na enkele pogingen geen antwoord krijgt, wordt de verbinding verbroken. Zelfs bij apparaten met stroombeperkingen moet de hostprocessor voortdurend wakker worden om deel te nemen aan deze uitwisseling of om nog meer stroom te gebruiken om voortdurend verbindingen te herstellen.
Net als bij ARP offloading kunnen ontwikkelaars de Device Configurator tool gebruiken om TCP keep alive offloading mogelijk te maken. Zodra deze functie is ingeschakeld, voert de Murata-module automatisch het keep alive-protocol uit zonder de PSoC 6 wakker te maken (Afbeelding 7).
Afbeelding 7: Wanneer TCP keep alive offload is ingeschakeld, voert de draadloze connectiviteitsmodule (WLAN-apparaat) automatisch het keep alive protocol uit, waardoor de hostprocessor in de slaapmodus met laag vermogen kan blijven. (Bron afbeelding: Cypress Semiconductor)
Hoewel Cypress het gebruik van de Device Configurator tool aanbeveelt als de gemakkelijkste weg naar implementatie, kunnen ontwikkelaars ook handmatig de energiebesparende functies van het Cypress-platform implementeren, waaronder ARP offloading, packet filtering, TCP keep alive offloading, en andere.
Onderliggend aan beide benaderingen is Cypress's Low Power Assistant (LPA) middleware die deze energiebesparende functies voor Wi-Fi, Bluetooth en de PSoC 6-microcontroller ondersteunt, samen met andere functies die verder gaan dan de hier genoemde.
Nadat de ontwikkelaar configuraties heeft gedefinieerd met behulp van menu's of door handmatig configuratiecode toe te voegen, werkt de LPA-firmware transparant voor de toepassing, waardoor het gebruik van energiebesparende hardwarefuncties en softwaremogelijkheden automatisch wordt georkestreerd.
Conclusie
De behoefte aan continue draadloze connectiviteit en een langere levensduur van de batterij in IoT-apparaten stelt tegenstrijdige eisen aan ontwerpers die alleen maar worden verergerd door de noodzaak om zowel Wi-Fi als Bluetooth te ondersteunen. Zoals blijkt, kan de Cypress Semiconductor CY8CKIT-062S2-43012 Wi-Fi BT Pioneer Kit, door het combineren van een radiosubsysteem dat in staat is om netwerkverwerkingstaken te ontladen met een low-power microcontroller, ontwerpers in staat stellen om te voldoen aan hun IoT draadloze connectiviteit en low-power eisen.
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.




