Szacowanie zużycia energii urządzeń przenośnych
| TechnikaOd urządzeń przenośnych wymaga się wysokiej funkcjonalności i wydajności przy jak najdłuższym czasie życia baterii. Głównym źródłem jej zużycia w aplikacjach zasilanych bateryjnie jest mikrokontroler, dlatego umiejętność szacowania czasu działania jest kluczowa i zostanie pokazana na przykładzie aplikacji pomiarowej.
Do wydłużenia czasu działania baterii należy zminimalizować zużycie energii we wszystkich trybach pracy i przez cały okres życia produktu. W tym celu niektórzy projektanci odczytują z dokumentacji wartość prądu dla częstotliwości zegara wymaganej w danej aplikacji, po czym mnożą ten prąd przez napięcie baterii i na tej podstawie wybierają mikrokontroler o najmniejszej mocy.
Działanie to wydaje się proste, jednak nie jest wystarczające. Zużycie zależy bowiem np. od tego, czy układ przechodzi w tryb standby w czasie nieaktywności mikrokontrolera, czy uaktywnia się w stałych odstępach, mierzy rzeczywiste sygnały lub zapisuje dane do analizy i późniejszej transmisji. W aplikacjach zasilanych bateryjnie odpowiedź na większość tych pytań jest twierdząca, a są one tylko kilkoma z wielu, które należy rozważyć podczas szacowania zużycia energii.
Prosta analiza prądu i napięcia nie pozwoli na dokładne określenie zużycia energii mikrokontrolera, które można podzielić na cztery kategorie (tab. 1). W aplikacjach zasilanych bateryjnie typowe napięcie to 3 V, dla którego określa się zużycie energii w specyfikacjach wielu urządzeń. Jednak, aby analizy ograniczyć tylko do elementów, na które wpływ ma mikrokontroler, w dalszej części napięcie zostanie pominięte, a każdy składnik zużycia będzie przedstawiony jako część prądu średniego, który można opisać następującym wzorem:
Iśredni=Istandby×Rstandby+Iaktywny×Raktywny +Iperyferii×Rperyferii+Ilogowanie×Rlogowanie
gdzie R to współczynnik względnego czasu pracy w danym trybie.
Zużycie w trybie standby
Projektanci często rozpoczynają analizowanie zużycia energii mikrokontrolera od trybu aktywnego, jednak za większość zużycia odpowiada zwykle tryb standby. Tabela 2 pokazuje przykładowy wpływ trybu standby na całkowite zużycie energii mikrokontrolera w zależności od procentowego czasu przebywania w tym trybie.
Jak wynika z zawartych tam danych, im czas pracy w trybie standby dłuższy, tym prąd w tym trybie będzie miał większy wpływ na prąd średni. W ostatnim przypadku błąd oszacowania prądu na poziomie 10% przełożyłby się na ponad 8% błąd obliczonego czasu działania baterii, odpowiadający miesiącom lub nawet latom.
Na prąd pobierany przez mikrokontroler w trybie standby mają wpływ elementy z tabeli 3.
Przy założeniu, że prąd w trybie standby wynosi 500 nA, a układ powraca z trybu standby raz na trzy sekundy, przebywając w nim przez ponad 99% czasu, składowa odpowiadająca prądowi w trybie standby wyniesie:
Istandby×Rstandby=Istandby×(Istandby/Tcalkowity)= 0,5 µA×(2,997 s/3 s)=0,4995 µA
Tryb aktywny
W celu dokładnego oszacowania zużycia w trybie aktywnym, należy uwzględnić elementy z tabeli 4.
Przy założeniu prądu w trybie aktywnym 1,23 mA w 16 MHz i przy 1000 cykli wymaganych do uśrednienia zebranych próbek, składowa odpowiadająca prądowi w trybie aktywnym wyniesie:
Iaktywny×Raktywny=Iaktywny×(Iaktywny/Tcalkowity)= 1230 µA×(0,00006 s/3 s)=0,025 µA
Zużycie energii przez obwody peryferyjne
Systemy wbudowane małej mocy często zawierają interfejsy analogowe i cyfrowe, napięcia referencyjne oraz inne obwody do realizacji wymaganych funkcji. W celu dokładnego oszacowania zużycia energii obwodów peryferyjnych należy uwzględnić elementy z tabeli 5.
Przy założeniu prądu obwodów peryferyjnych 75 µA i 256 próbkach pobieranych przy prędkości 200 tys. próbek na sekundę, składowa odpowiadająca prądowi obwodów peryferyjnych wyniesie:
Iperyferii×Rperyferii=Iperyferii×(Tperyferii/Tcalkowity) =75 µA×(0,00128 s/3 s)=0,032 µA
Energia logowania danych
W wielu aplikacjach wyniki pomiarów są zapisywane w celu ich późniejszego wykorzystania. Prąd wymagany do skasowania i zaprogramowania pamięci Flash może wynieść od 4 do 12 mA, więc do tego celu nie wystarczy mała bateria, której prąd maksymalny jest trzy razy mniejszy. Ponadto w przypadku użycia pamięci zewnętrznej interfejs komunikacji szeregowej stosowanej do transferu danych zwiększy energię obwodów peryferyjnych i energię w trybie aktywnym.
Użycie większej i droższej baterii lub dodanie pamięci zewnętrznej jest drogie i czasem trudne w implementacji ze względu na ograniczenia gabarytowe. Rozwiązaniem może być logowanie danych do pamięci FRAM i z mniejszą prędkością. Zużycie można wtedy obniżyć nawet do 9 µA przy prędkości 13 Kb/s, co jest wartością ok. 500 razy mniejszą niż przy logowaniu z taką samą prędkością do pamięci Flash. Przy założeniu prądu logowania 9 µA i 16 bajtach danych przy prędkości 13 KB/s, składowa odpowiadająca prądowi logowania danych wyniesie:
Ilogowanie×Rlogowanie=Ilogowanie×(Tlogowanie/Tcalkowity) =9 µA×(0,0012 s/3 s)=0,0036 µA
Podsumowanie
Prąd średni będący sumą obliczonych składowych dla analizowanej aplikacji wyniesie:
Iśredni=0,4995+0,025+0,0032 +0,0036=0,5601 µA
Dla założeń typowych w aplikacji pomiarowej największy wpływ na prąd średni ma tryb standby. Czas życia baterii CR2032 o pojemności 230 mAh dla obliczonego prądu średniego wyniósłby 46 lat, czyli byłby znacznie dłuższy, niż wynosi czas samorozładowania, który trwa 8-10 lat, jeśli bateria nie jest używana.
Zwiększenie funkcjonalności i wydajności przy jednoczesnym wydłużeniu czasu działania baterii wymaga zrozumienia specyfikacji mikrokontrolera oraz wymagań projektowanego układu. Należy brać pod uwagę wszystkie cztery składniki zużycia energii. Szczególnie istotne jest jednak zużycie w trybie standby, które można minimalizować, stosując mikrokontrolery z funkcjami bramkowania mocy i zegara, odpowiednie projekty analogowe czy wbudowaną pamięć FRAM.
Ograniczenie zużycia energii przez mikrokontroler pozwala z kolei na implementację dodatkowych funkcji przy jednoczesnym utrzymaniu czasu działania baterii na poziomie 5-10 lat. Przedstawione obliczenia można wykonać, przyjmując założenia odpowiadające różnym mikrokontrolerom, aby porównać ich przydatność do danej aplikacji.
Grzegorz Michałowski