Na czym polega sekret długiego czasu pracy niektórych aplikacji (np. IoT), które mogą działać nawet latami, zasilane jedynie z pojedynczej baterii pastylkowej?

Powstaje coraz więcej aplikacji, od których wymaga się bardzo długiego (wręcz ogromnego, z punktu widzenia innych zastosowań) czasu pracy, przy zasilaniu z pojedynczej baterii, nierzadko pastylkowej typu CR2032. Czas ten wynosić ma nawet kilka miesięcy, choć coraz częściej wymaga się, by ten czas był liczony w latach. Przykładem takich aplikacji mogą być urządzenia IoT (zwłaszcza te związane z systemami bezpieczeństwa i zdrowia ludzkiego), ale też np. urządzenia wchodzące w skład systemów automatyki budynków. Na rynku pojawia się coraz więcej komponentów, które wspierają tego typu czasu pracy. Ale jak to działa?

Always-on, czyli za czym gonią dzisiaj projektanci

Mimo, że na rynku pojawiają się komponenty, które w trybie aktywnym zużywają coraz mniej energii, to jednak nadal sporo, by zapewnić nieprzerwaną pracę przez kilka miesięcy. Mowa tu o podejściu ‘always-on’ (AON). Aby zapewnić tak długi czas pracy, należy główne elementy SoC po prostu uśpić. W takim trybie potrafią zużywać pojedyncze nA, często poniżej 500 nA. Jednak gdy układ SoC będzie ciągle i całkowicie uśpiony, nie będzie wykonywał swojej pracy. W tym celu stosuje się inteligentne usypianie, które polega na usypianiu jedynie nieużywanych bloków układu. Nowoczesne układy SoC posiadają bowiem kilka trybów uśpienia (np. “Sleep”, “Stand-by”, “Deep-sleep”, “Idle”, “Power-down” oraz w końcu także i “Off”), które pozwalają decydować projektantom o tym, które bloki układu będą pracować i w jaki sposób.

Inteligentne zarządzanie energią i tymi blokami oraz czasem wybudzenia sprawia, że gotowa aplikacja jest w stanie pracować miesiącami. Średnie zużycie energii takiej aplikacji jest bowiem bardzo małe. Oczywiście powstają też układy, które mają tryby, a także powiązane z nimi bloki funkcyjne ustawione tak, by odpowiadały potrzebom konkretnych aplikacji. Aby maksymalnie wydłużyć czas pracy, stosuje się też różne metody wybudzania układu, jedynie na krótki czas. Przykładem mogą być tu aplikacje, które komunikują się za pośrednictwem interfejsu bezprzewodowego.

Przez większość czasu (99%, a nawet więcej) aplikacje takie są uśpione. Gdy jednak pojawi się odpowiedni warunek, układ wybudza się, by wykonać jakąś akcję, np. wysłanie komunikatu do jednostki głównej o stanie sensorów. Wybudzanie może być wykonywane co jakiś czas (sygnałem z zegara RTC), bądź też poprzez sygnał z zewnątrz (podawany na wejście GPIO lub ADC, gdy podawane napięcie przekroczy jakiś ustalony próg).

Z czego składa się niewyłączalne urządzenie?

Głównym elementem typowej architektury AON jest układ logiki, czyli np. ACU (Activity Control Unit) lub ePMC (embedded Power Management Unit). Są to jednostki kontrolujące pracę SoC, a także procesu jego wybudzania i usypiania (etapy przejścia). Równie istotne są tu też aktywatory (Triggers), które monitorują w tle stan wejść lub innych zdarzeń, które miałyby stanowić sygnał wybudzający układ SoC. Może to być wspomniany sygnał na wejściu GPIO, odpowiedni upływ czasu na zegarze RTC, przekroczenie progu napięciowego, ale też sygnał z czujnika dźwięku/głosu (aktywujący się po wykryciu jakiegoś dźwięku, bądź na określoną komendę, po rozpoznaniu danego wyrazu) lub po wykryciu twarzy lub odciska kciuka użytkownika.

Nie mniej istotne jest tu też podtrzymanie oscylatorów, zapewniających odpowiedni sygnał taktowania, nie tylko dla RTC, ale też jednostek kontrolnych. Najczęściej stosuje się dwa rodzaje: XTAL (dokładniejszy i o niskim zużyciu energii, ale wolny w rozruchu) i RC (szybki, ale mniej dokładny). Trzeba też jeszcze podtrzymywać dane w pamięci RAM.

To tylko przykład tego, co się może dziać, gdy układ SoC zostanie uśpiony. Uśpiony, nie znaczy wcale, że jest bezczynny. I właśnie to podejście wykorzystuje się przy tworzeniu aplikacji, które mają pracować latami. Ważne jest jednak, by poprawnie oszacować, w jaki sposób aplikacja będzie działać. Przykładem może być tu aplikacja wyzwalana czasowo, np. LoRa. Nie będzie ona nieustannie przesyłać danych, a jedynie co jakiś czas.

Oczywiście różne aplikacje, będą miały inne wymagania, a zużycie energii również będzie inne. Jednak proces wyliczania czasu pracy będzie podobny i podobne będą też problemy, z jakimi borykać się będą projektanci gotowych aplikacji. Choć producenci układów SoC i innych komponentów starają się nieustannie wychodzić naprzeciw potrzebom projektantów aplikacji poszukujących komponentów, które będą coraz skuteczniej gospodarować energią, a elementy tych SoC będą zużywać coraz mniej energii.

źródło: evertiq.pl

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj