Minimalizowanie poboru mocy w sieciach ZigBee

| Technika

Specyfikacja IEEE 802.15.4 określa standard bezprzewodowej transmisji danych odbywającej się z małą prędkością przy bardzo małym poborze mocy. Standard ZigBee natomiast, jest zestawem protokołów komunikacyjnych opracowanych na podstawie specyfikacji IEEE 802.15.4. Urządzenia zaprojektowane do pracy zgodnie z tym standardem znajdują zastosowanie w automatyce przemysłowej, systemach kontroli i pomiaru, automatyce budynków oraz wszędzie tam gdzie potrzebna jest energooszczędna transmisja radiowa. Specyfikacja IEEE 802.15.4 określa sprzętową stronę komunikacji. W połączeniu z ZigBee zapewnia ona niezawodną wymianę danych pomiędzy urządzeniami dowolnie zlokalizowanymi w ramach układu automatyki. Standard ZigBee specyfikuje warstwę sieciową, strukturę i profile aplikacji, co zapewnia prawidłową współpracę urządzeń pochodzących od różnych producentów. Połączenia w ramach sieci są szyfrowane. Najważniejszą jednak funkcją ZigBee jest zdefiniowanie topologii sieci, w szczególności topologii typu mesh.

Minimalizowanie poboru mocy w sieciach ZigBee

Rys. 1. Sieć ZigBee o topologii drzewa.

Urządzenie, które pomyślnie przejdzie certyfikację ZigBee jest jednocześnie zgodne ze standardem 802.15.4. Natomiast nie wszystkie urządzenia zgodne z IEEE 802.15.4 będą działać w ramach ZigBee. Jeśli w konkretnej aplikacji używany jest sprzęt tylko jednego producenta i nie wymaga ona skomplikowanej topologii typu mesh, w zastosowaniu wygodniejsza może okazać się sieć IEEE 802.15.4, nie koniecznie zgodna z ZigBee, z uwagi na prostszą implementację.

W ramach ZigBee i IEEE 802.15.4 możliwe są trzy rodzaje organizacji sieci: według topologii gwiazdy, drzewa oraz typu mesh. Pierwsza z nich wykorzystywana jest głównie w zastosowaniach domowych. Jest prosta w implementacji i wymaga małej ilości kodu do uruchomienia. Natomiast ograniczona jest w niej liczba węzłów sieci oraz obszar działania. Topologia drzewa znajduje zastosowanie w układach pomiarowych. Pozwala ona na dołączenie większej liczby węzłów i tym samym pokrycie większego obszaru. Jej wadą jest występowanie opóźnień w transmisji danych. Dodatkowo, awaria jednego węzła może zakłócić pracę pozostałych. Implementacja sieci o strukturze drzewa wymaga większej ilości kodu niż dla topologii gwiazdy.

Topologia kratowa (mesh) określa najbardziej skomplikowaną strukturę sieci. Jej utworzenie wymaga największej ilości kodu, jednak ma ona kilka cech nadających jej uniwersalny charakter. Sieci typu mesh posiadają zdolność do dynamicznego kierowania przepływem danych tak, aby był on jak najbardziej efektywny. Możliwość zmiany drogi, po której przesyłane są informacje nadają sieci zdolność do samonaprawy. Jeśli z jakiegokolwiek powodu któryś z węzłów uległ uszkodzeniu, sieć sama zmieni tor przesyłu danych omijając go. Zdolność do samonaprawy czyni topologię kratową najbardziej optymalną do zastosowań na dużych obszarach, zwłaszcza w automatyce budynków. Topologia ta jest najtrudniejsza w implementacji. Przy budowie sieci w oparciu o tą strukturę zdecydowanie zaleca się dostosowanie do standardu ZigBee.

Rys. 2. Przykładowy pobór mocy przez mikrokontroler. Energooszczędny mikrokontroler ATmega 165P pobiera 340źA w stanie aktywnym i 650nA w stanie czuwania. Załóżmy, że w pewnej aplikacji budzi się on raz na sekundę i działa aktywnie przez 10źs. Wynika z tego, że w stanie aktywnym znajduje się tylko przez 0,001% czasu. Średni pobór prądu będzie wynosił 0,6534źA.

W każdej z trzech topologii wyróżnia się trzy rodzaje węzłów. Są to węzły kontrolne, pełnofunkcyjne oraz o ograniczonej funkcjonalności. Każdy z nich składa się co najmniej z radia, mikrokontrolera, warstwy MAC oraz sieciowej. Poszczególne rodzaje węzłów różnią się między sobą sposobem przetwarzania danych, wielkością pamięcią, a także poborem mocy. Węzły kontrolne oraz pełnofunkcyjne, stosowane np. w stacjach łączności z zewnętrzną sieciową komputerową, są z reguły podłączone do zewnętrznego źródła napięcia. Natomiast węzły o ograniczonej funkcjonalności, podłączone do takich elementów jak czujniki czy przełączniki i zwykle zasilane są z akumulatorów. Pociąga to za sobą wymóg długowieczności stosowanych baterii. Według standardu ZigBee ich żywotność powinna wynosić co najmniej dwa lata, a im jest ona większa tym lepsza. Wynika to z faktu, że węzły sieci mogą znajdować się w trudno dostępnych miejscach, co utrudnia wymianę baterii.

Techniki ograniczania

Na pobór mocy przez dany węzeł sieci składają się moce pobierane przez poszczególne podzespoły. Najwięcej energii zużywa nadajnik, odbiornik oraz mikrokontroler. Duży wpływ ma także częstotliwość pracy mikrokontrolera oraz liczba układów peryferyjnych, takich jak wzmacniacze mocy. Transceiver i mikrokontroler są zasilane napięciami z zakresu 1,8 do 3,6V. Oczywistą zależnością jest, że im mniejsze jest napięcie zasilania tym pobór mocy urządzenia jest mniejszy. Niektóre urządzenia pracujące przy napięciu 1,8V potrzebują wyższego napięcia w granicach 2,2V do zapisu informacji w pamięci Flash, dlatego przy projektowaniu układu warto więc dokładnie sprawdzić napięcie zasilania mikrokontrolera. W przybliżeniu można przyjąć, że pobór mocy jest proporcjonalny do napięcia. Tak więc jeśli danemu urządzeniu wystarczy 1,8V zamiast 2,2V, będzie ono mogło zasilane z tej samej baterii pracować o ok. 20% dłużej.

Pobór prądu przez transceiver jest różny podczas nadawania i odbioru. Dostępne są układy, które przy wysyłaniu danych pobierają prąd od 17 do 38mA, a podczas odbioru od 15 do 36mA. Zależność mocy nadajnika i czułości odbiornika od poboru prądu nie jest jednak oczywista. Jeśli transceiver ma małą moc należy do niego dołączyć wzmacniacz. A ten z kolei pobiera do 50mA. Dlatego regułą jest, że przy projektowaniu elementów sieci ZigBee stosuje rozwiązania bez zewnętrznych wzmacniaczy. Mikrokontroler powinien być wyposażony w jednostkę MAC, które działa przy jak najmniejszej liczbie cyklów zegara. Napięcie zasilania układu powinno być jak najniższe i wynosić 1,8V. Jednak najważniejszym jednak czynnikiem wpływającym na ilość pobieranej energii przez węzeł sieci jest pobór mocy w stanie uśpienia.

Rys. 3. Przeciętna czas działania układu z baterii.

Większość zasilanych z baterii węzłów w sieci ZigBee, tj. czujników i przełączników, znajduje się w stanie uśpienia przez 99,9 % czasu. Są one wzbudzane jedynie na kilka milisekund, aby dokonać odczytu czujnika lub skontaktować się z innymi elementami sieci. Całkowity pobór mocy takich węzłów jest bliski poborowi mocy w stanie uśpienia. Dla przykładu rozpatrzmy węzeł, w którym znajduje się czujnik temperatury. Mikrokontroler pobiera w stanie pracy prąd 8mA, w stanie uśpienia jedynie 1,5μA. Transceiver podczas nadawania i odbioru pobiera odpowiednio 17 i 15mA, a w stanie uśpienia 0,7μA. Podczas jednego okresu aktywności cały węzeł pobiera 0,0011mAh energii na co składa się przejście do stanu aktywnego, odczyt, wysłanie danych i otrzymanie potwierdzenia odbioru oraz przejście z powrotem do stanu czuwania. Jeśli węzeł ten uaktywniałby się tylko raz na minutę, to biorąc pod uwagę pobór energii w stanie uśpienia będzie on średnio pobierał 0,0706mA na godzinę. Dwie baterie AA o pojemności 2700mAh wystarczą więc na 5 lat. Jeśli zwiększyć by prąd pobierany w stanie uśpienia po 1 μA, zmniejszy to żywotność baterii o prawie 10%. Przy projektowaniu układów należy zwrócić szczególną uwagę czy mikrokontrolery dostosowane do pracy przy napięciu 1,8V nie wymagają w niektórych sytuacjach napięcia wyższego, na przykład 2V. Taka niewielka wydawałoby się różnica ma istotny wpływ na czas działania.

Inne szczegóły

Rys. 4. Dokładność monitorowania spadków napięcia.

W elementach pracujących w sieciach ZigBee należy ponadto zadbać o wykrywanie spadków napięcia. Jeśli napięcie zasilania spadnie poniżej ustalonego poziomu układ powinien się sam wyłączyć, gdyż praca przy zbyt niskim napięciu grozi błędami w pracy mikrokontrolera, a także może uszkodzić zawartość pamięci. Niestety, jak każdy element, układ do monitorowania poziomu napięcia również pobiera prąd. Istnieją układy, tzw. zerowej mocy, które pobierają bardzo mały prąd rzędu kilku nanoamperów, jednak ich czas reakcji jest dłuższy, a próg wyzwalania może być niewystarczający dla dobrego funkcjonowania mikrokontrolera. W celu ograniczenia pobieranej mocy detektor spadku napięcia można włączać razem z całym elementem sieci, gdy ten przechodzi do stanu aktywności i następnie wyłączać po przejściu w stan czuwania.

Marcin Kmieć

Zobacz również