Jste zde

Prodloužení výdrže baterie ve Wi-Fi / Bluetooth aplikacích

U bateriových IoT zařízeních je vyžadována nepřetržitá bezdrátová komunikace a dlouhá výdrž baterie. Tato zařízení bývají vybavena Bluetooth 5 i Wi-Fi technologií. Tymají vlastní mechanismy pro snížení spotřeby energie, ale tato úspora není dostatečná. Proto je nutná změna architektury celého systému. Jednou z možností je, že některé úlohy se přenechají mikrokontrolerům, které mají řádově menší spotřebu energie.

Tento článek se bude věnovat Wi-Fi / Bluetooth připojení a jeho implementací do IoT zařízení. Poté se podrobně podíváme na řešení od společnosti Cypress Semiconductor, které je schopno vyhovět požadavku nepřetržitého připojení a velké výdrže baterie.

Zvýšená poptávka po Wi-Fi / Bluetooth připojení

Připojení Bluetooth je považováno za standard pro komunikaci s uživatelem pomocí mobilního zařízení. IoT zařízení potřebují Wi-Fi připojení pro přístup k bezdrátové místní síti (WLAN), a tím i přístup k internetu a komunikaci s hostitelskými systémy. Prodloužení výdrže baterie se dosáhne tím, že IoT zařízení se připojí k WLAN nebo Bluetooth, když potřebuje přenést data nebo když se provádí měření. Jinak zařízení zůstává v režimu spánku. 

Většina IoT zařízení musí rychle reagovat na asynchronní příkazy a data z hostitelského systému nebo od koncového uživatele. Aby zařízení byla schopna reagovat v přijatelné době, musí být jeho připojení kontinuální nebo se k takovému stavu přiblížit. Toho lze dosáhnout častějším probouzením, ale to má za následek rychlé vyčerpání baterie. Proto mají radiové přijímače větší spotřebu než vysílače. Naštěstí bezdrátové standardy definují procesy, díky nimž se sníží spotřeba energie, aniž by to narušilo kontinuální připojení.

Jak standardy pomáhají snížit spotřebu energie?

V normálním provozu Wi-Fi stanice (STA) šetří energii tím, že vypne většinu svých podsystémů. Aktivní zůstanou jen přístupové body (AP) s vyrovnávací pamětí, která zaručuje, že žádné zprávy nebudou ztraceny. AP pravidelně vysílají beacony, které obsahují bitmapu nazývanou mapou indikace provozu (TIM), která indikuje, zda AP očekává data z STA. AP také periodicky vysílají beacony, které obsahují tzv. doručovací dopravní indikační mapu (DTIM), která indikuje dostupnost multicastových nebo vysílaných dat. STA se probouzí pravidelně v rámci hodnoty DTIM. To je několikanásobek normálního intervalu beaconu. Síť IoT je nakonfigurována s vysokou hodnotou DTIM, aby umožnila zařízením v její síti snížit spotřebu energie. Díky tomu mohou zařízení být déle v režimu spánku a čekat na beacon, který indikuje, že AP pro něj má data. Toto je standardní úsporný mechanismus, který je součástí standardu 802.11.

Bluetooth low energy (BLE) umožňuje zařízením snižovat spotřebu energie optimalizací tzv. advertising intervalu a užitečných dat (payload). Zvýšením advertising intervalu lze zpozdit vysílání a snížením payloadu lze zkrátit dobu vysílání. Ne každá aplikace může tolerovat dlouhé advertising intervaly nebo může snižit užitečná data. Například pro zvuková nebo zařízení pracující v reálném čase znamenají dlouhé advertising intervaly zpožděné připojení, které by mohla mít nepříznivý ovlivnit na chování celé aplikace.

Periferní zařízení mohou používat funkci BLE nazvanou slave latence, která umožňuje přeskočit některé události připojení. Stejně jako u Wi-Fi DTIM, latence BLE slave umožňuje zařízením zůstat v režimu nízké spotřeby po delší dobu, ale přesto podle potřeby se probudit k odesílání dat, aniž by vznikly další latence.

Podpora připojení v duálním režimu a prodloužená výdrž baterie

Výše zmíněné metody vedou ke snížení spotřeby energie, ale tato úspora nemusí být dostatečná. Pro další prodloužení výdrže baterie lze využít hardwarové a softwarové funkce, které jsou ukázány ve vývojovém kitu CY8CKIT-062S2-43012 Wi-Fi BT Pioneer od Cypress Semiconductor. Dodává se s propojovacími vodiči a kabelem USB, a tím poskytuje komplexní vývojovou platformu a plnohodnotný hardwarový systém pro vývoj IoT zařízení s nízkou spotřebou. K dispozici je software Cypress, který umožňuje pochopit a implementovat řadu sofistikovaných funkcí pro správu napájení.

Kromě několika konektorů, tlačítek a LED diod obsahuje vývojový kit také PSoC CY8C5868LTI-LP038 5LP, který umožňuje programování a ladění přímo na desce přes Cypress KitProg3. Pro uložení dat lze využít sériovou NOR flash paměť S25FL512S o velikosti 512 Mbit a sériovou FRAM paměť CY15B104 o velikosti 4 Mbit (obrázek 1).

Obrázek 1: Cypress PSoC 62S2 Wi-Fi BT Pioneer poskytuje komplexní sadu systémových funkcí a obsahuje mikrokontroler PSoC 6 a Wi-Fi / Bluetooth modul. (Zdroj obrázku: Cypress Semiconductor)

Srdcem desky je modul, který obsahuje mikrokontroler PSoC 6 od Cypress Semiconductor a bezdrátový modul Type 1LV LBEE59B1LV od Murata Electronics a to včetně pasivních součástek. Součástí je též vysokofrekvenční přepínač a dvoupásmová čipová anténa 2,45 GHz / 5 GHz. Mikrokontroler PSoC 6 obsahuje dvě jádra Arm. Cortex-M4 s frekvencí 150 MHz, které slouží jako primární aplikační procesor a Cortex-M0+ s frekvencí 100MHz, které zpracovává operace s nízkou spotřebou. PSoC6 obsahuje také Flash a SRAM paměť, kryptografický engine, programovatelné analogové a digitální periferie, podporu dotykového panelu CapSense a několik systémových rozhraní (obrázek 2).

Obrázek 2: Mikrokontroler PSoC 6 využívá vícejádrovou architekturu, aby splňoval požadavky na výkon i nízkou spotřebu. (Zdroj obrázku: Cypress Semiconductor)

Wi-Fi / Bluetooth Modul Murata LBEE59B1LV poskytuje kompletní rádiový subsystém v pouzdře o velikosti 10,0 x 7,2 x 1,4 mm. Tento modul obsahuje bezdrátové připojení k internetu Cypress CYW43012 (WICED – Wireless Internet Connectivity  for Embeded Devices), referenční hodiny a k tomu příslušné filtry (obrázek 3).

Obrázek 3: Wi-Fi / Bluetooth modul Murata Type 1LV LBEE59B1LV poskytuje kompletní předcertifikovaný bezdrátový subsystém postavený na Cypress CYW43012 WICED. (Zdroj obrázku: Murata Electronics)

Modul podporuje bezdrátové připojení 2,4 GHz a 5 GHz s technologií Bluetooth 5.0 a Wi-Fi 802.11a/b/g/n. Modul navíc poskytuje podporuje standard 802.11ac, 256 kvadraturní amplitudovou modulaci (QAM) pro kanály 20 MHz v pásmu 5 GHz a nabízí vyšší propustnost a nižší energii na bit než transceivery pro 802.11n. Modul Murata LBEE59B1LV je předcertifikován, a díky tomu se zkrátí čas vývoje spojený s testováním a certifikací.

V modulu Cypress WICED jsou integrovány jádra Arm Cortex-M3 a Arm Cortex-M4. Jádro Arm Cortex-M3 spouští speciální firmware Cypress, který podporuje operace Wi-Fi. Arm Cortex-M4 spouští Bluetooth stack. Kromě toho může toto jádro spouštět zákaznický kód naprogramovaný pomocí sady Cypress WICED software development kit (SDK).

Metody pro úspory energie v bezdrátových IoT systémech

PSoC 6 a bezdrátový modul obsahují ucelenou sadu napájecích režimů. Společnost Cypress nabízí k této hardwarové platformě řadu softwarových knihoven. Díky ní lze jednoduše implementovat metodu šetření energie pomocí nezávislé knihovny Wi-Fi host driver (WHD).

Pomocí této knihovny lze úsporný režim aktivovat pomocí API funkce whd_wifi_enable_powersave (). Pro deaktivaci se zavolá funkce whd_wifi_disable_powersave (). Pokud je režim aktivován, STA upozorní AP, že je v režimu spánku. Jak již bylo zmíněno dříve, AP ukládá do vyrovnávací paměti všechny rámce určené pro spící STA a nastaví svůj beacon, aby indikoval, že rámce (data) jsou k dispozici. Když se STA probudí, aby zkontroloval beacon, zahájí standardní proces načtení těchto rámců(dat).

Ačkoli mechanismus šetření energie je určen pro STA s pomalými pracovními cykly, podobná metoda, nazývaná úspora energie bez dotazování se používá také pro STA s vyššími požadavky na propustnost. STA pak vysílá datový rámec s nulovou funkcí, který iniciuje přenos rámce z AP.

Úspora energie s nebo bez dotazování umožňuje omezit provoz přijímače, ale nepomáhá eliminovat nepotřebné transakce síťových operací. Například jakákoli síť včetně IoT WLAN přenáší nežádoucí data, když je připojena k externí síti, zejména k veřejnému internetu. Schopnost odfiltrovat tyto pakety v komunikačním subsystému bez zapojení hostitelského procesoru umožní hostitelský procesor ponechat v úsporném režimu delší dobu.

Kromě nežádoucích dat může i běžný síťový provoz způsobit zbytečné probouzení hostitelského procesoru. Například protokol Wi-Fi ARP(Address Resolution Protocol) používá vysílací pakety k mapování adresy IP přidružené na adresu MAC (Media Access Control) . Tato operace je nezbytná pro normální funkci WLAN, protože umožňuje zařízením oslovit ostatní v jejich síti, detekovat duplicitní adresy IP a upozornit ostatní zařízení, pokud se z jakéhokoli důvodu změní adresa IP.

Příkazy a odpovědí ARP jsou pro síťové operace natolik zásadní, že hostitelský procesor může být přetížen pouhým jejich zpracováním. Pokud rozhraní WLAN všechny tyto data (příkazy i odpovědi) předává ke zpracování, dochází k častému probouzení procesoru a někdy i zbytečně.

Právě proto do této výměny dat zasahuje modul bezdrátového připojení Murata. Pokud je PSoC 6 probuzen, hostitelský procesor zpracovává data z aplikaci i ARP data. Pokud je v režimu spánku, Murata modul posílá ARP data s automatickou odpovědí a probudí PSoC 6 pouze v případě, že příchozí požadavek ARP nelze uspokojit položkami uloženými v modulu Murata (obrázek 4, vlevo).

Obrázek 4: ARP zachycuje požadavky ze sítě nebo hostitelského procesoru a automaticky odpovídá a pouze probouzí procesor v případě nutnosti. (Zdroj obrázku: Cypress Semiconductor)

Stejný postup může snížit spotřebu energie WLAN. Za normálního provozu může modul Murata monitorovat (snoop) síťový provoz a ukládat páry IP:MAC z ostatních odpovědí ARP. Pomocí automatické odpovědi může modul Murata odpovídat na požadavky ARP z PSoC 6 a vyvolávat svůj rádiový subsystém pouze v případě, že požadavek PSoC 6 nelze uspokojit z mezipaměti ARP (obrázek 4, vpravo).

Jednoduchá implementace funkcí pro úsporu energie

Implementace zpracování ARP(offloading) pomocí Pioneer kitu je jednoduchá. Nástroj Cypress Device Configurator, který je součástí integrovaného vývojového prostředí (IDE) Cypress ModusToolBox (MTB) umožňuje tuto funkci implementovat několika možnostmi. Cypress poskytuje předem připravené konfigurační soubory nebo použitím Konfigurátoru lze na záložce Nástroje vybrat povolení pinu k probuzení hostitele, pojmenování pinu (CYBSP_WIFI_HOST_WAKE) a nastavení parametrů pinu (obrázek 5).

Obrázek 5: Nástroj Cypress Device Configurator umožňuje nastavit různé možnosti úspory energie dostupné na desce Pioneer. (Zdroj obrázku: Cypress Semiconductor)

Na záložce Wi-Fi – Parameters lze povolit probuzení hostitele a nastavit pin přerušení na dříve zadaný název (CYBSP_WIFI_HOST_WAKE). Další položky povolují offloading ARP, nastavují funkci na automatickou odpověď, povolují síťový snooping a nastavují dobu vypršení platnosti mezipaměti (obrázek 6).

Obrázek 6: Pomocí záložek v nástroji Konfigurátor Cypress lze povolit offloading ARP a specifické funkce, jako je automatická odpověď typu peer. (Zdroj obrázku: Cypress Semiconductor)

Po uložení konfigurace se vygenerují soubory, vytvoří se upravený projekt a naprogramuje se deska Pioneer. Podobným postupem lze nakonfigurovat modul Murata tak, aby odložil filtrování paketů Wi-Fi a vypořádal se s dalšími běžnými typy síťových operací. Stejný postup dokonce umožňuje provádět protokol Wi-Fi TCP Keep Alive potřebný k udržení připojení Wi-Fi - to vše bez probuzení hostitelského procesoru IoT.

V běžných operacích WLAN udržuje zařízení a hostitelský server TCP spojení výměnou udržovacích paketů. Pokud kterákoli strana této výměny neobdrží odpověď po několika pokusech, ukončí připojení. Dokonce i v IoT zařízeních s omezeným napájením se hostitelský procesor musí neustále probouzet, aby se mohl účastnit této výměny, nebo použít ještě více energie k neustálému obnovení připojení.

Stejně jako u offloadingu ARP lze pomocí Konfigurátoru povolit offloading protokolu TCP keep alive. Když je tato funkce povolena, modul Murata automaticky provede protokol Keep Alive, aniž by probudil PSoC 6 (obrázek 7).

Obrázek 7: Když je povoleno snižování zátěže TCP Keep Alive (offloading), modul bezdrátového připojení (zařízení WLAN) automaticky provádí protokol Keep Alive a umožňuje hostitelskému procesoru zůstat v úsporném režimu s nízkou spotřebou. (Zdroj obrázku: Cypress Semiconductor)

Ikdyž Cypress doporučuje použití Konfigurátoru jako nejjednodušší cesty k implementaci, můžeme funkce úspory energie implementovat ručně. Základem obou přístupů je middleware Cypress's Low Power Assistant (LPA), který podporuje nejen tyto úsporné funkce pro Wi-Fi, Bluetooth a mikrokontroler PSoC 6, ale i další funkce, které zde nejsou uvedeny.

Závěr

Kontinuální bezdrátové připojení a prodloužená výdrž baterie v zařízeních IoT jsou protichůdné požadavky, které lze řešit pomocí CY8CKIT-062S2-43012 Wi-Fi BT Pioneer Kitu od Cypress Semiconductor. Rádiový subsystém je schopen obstarávat některé operace sítového protokolu a hostitelský procesor PSoC6 může zůstat delší dobu v režimu spánku.

 

Článek vyšel v originále na webu DigiKey.com, autorem je Stephen Evanczuk.

Hodnocení článku: