Do pozyskiwania energii ze środowiska potrzeba wysokosprawnych kontrolerów

| Gospodarka Artykuły

Dla nowej generacji układów, wyposażonych w inteligentne czujniki i dających się umieszczać w dotychczas niedostępnych dla nich miejscach, kluczowe jest zasilanie poprzez pozyskiwania energii - energy harvesting. Dzięki temu układy takie pozwalają nieprzerwanie monitorować działanie bardzo różnorodnych urządzeń, silników przemysłowych, detektorów środowiskowych czy nawet żywych, na przykład ludzkich, organizmów.

Do pozyskiwania energii ze środowiska potrzeba wysokosprawnych kontrolerów

Samodzielność działania takich aplikacji zwykle zapewniają baterie, których niezbędne systematyczne wymienianie bardzo komplikuje użytkowanie tych aplikacji, a czasem wręcz uniemożliwia. Pojawiły się jednak możliwości pozyskiwania do ich zasilania energii wprost ze środowiska. Energię tę można uzyskiwać i przetwarzać z wielu różnorodnych źródeł, jak wibracje, różnice temperatur czy promieniowanie świetlne lub radiowe.

Powyższe systemy wykraczają poza dotychczasową rutynę i umożliwiają pozyskiwanie energii wystarczającej do zastąpienia baterii w zasilaniu wielu układów. Tworzenie systemów zużywających energię w możliwie najoszczędniejszy sposób staje się zatem pożądane. Na pobór energii w układach w największym stopniu wpływa napięcie zasilania. W układach CMOS pobór energii jest proporcjonalny do kwadratu napięcia, zgodnie z zależnością P = CU²f, w której C oznacza pojemność układu, a f częstotliwość przełączania. Zatem oszczędzanie energii silnie zależy od obniżenia zasilającego napięcia. Bliskoprogowy lub podprogowy reżim pracy tranzystorów pozwala redukować napięcie zasilania mikrokontrolerów i obwodów logicznych do poziomu znacznie niższego od wymaganego w standardowych układach cyfrowych.

Rezygnacja z priorytetowego traktowania progowego napięcia przełączania układów cyfrowych i analogowych pozwala przejść do pracy w reżimie blisko- i podprogowym. Tranzystory logiczne tradycyjnie były projektowane do przewodzenia w stanie nasycenia dużych prądów dla przyspieszenia ładowania pojemności ścieżek, usytuowanych za każdą bramką. Ładowanie tych pojemności w obwodach jest jednak możliwe bez wprowadzania tranzystora w pełne nasycenie, przy obniżonym natężeniu prądu. Skutkuje to spowolnieniem zmian stanów logicznych, ale w typowych układach czujnikowych duża szybkość przełączania nie jest niezbędna. Jednakże wraz z obniżaniem napięcia progowego występuje wykładniczy wzrost prądów upływowych w tranzystorze.

Rys. 1. Straty mocy w zależności od napięcia

Rys. 1. Straty mocy w zależności od napięcia

W miarę jak napięcie obniża się głębiej w domenę podprogową, wzrastają upływowe straty energii, które stają się drugim ograniczeniem obniżania napięcia zasilania (rys. 1).

Przy projektowaniu obwodów podprogowych, w miarę zbliżania napięcia zasilania do poziomu progowego, krytyczne okazują się przebiegi przełączania stanów i ich skutki. Redukowanie tych skutków jest w poprawnym projektowaniu obwodów podprogowych bardzo ważne, dokonuje się tego zwykle przez projektowanie specjalnych przezwyciężających je obwodów dostosowawczych.

Wieloletnie opracowania, dokonywane na Uniwersytecie Michigan i w firmie Ambiq Micro, doprowadziły do wielu innowacji w technice działania podprogowego. Dla jej skutecznego wykorzystania musi zostać zmodyfikowany również cały przebieg i sposób projektowania - od bibliotek komórek standardowych, używanych w realizacji podprogowych układów logicznych, do strategii testowania nano- i pikoamperowego natężenia prądów. Maksymalizacja oszczędzania mocy w projektowaniu układów podprogowych jest możliwa tylko po zainwestowaniu w tę technikę.

Inne podejście

Tabela. Porównanie wydajności metod pozyskiwania energii

Tabela. Porównanie wydajności metod pozyskiwania energii

Chociaż wybór podprogowego reżimu pracy tranzystorów zapewnia maksymalne oszczędności mocy, z uwagi na kwadratową jej zależność od napięcia, nie zawsze jest to wybór optymalny. Czasem korzystniejsze okazuje się zastosowanie wyższego napięcia zasilania, bliskoprogowego czy nawet tradycyjnie ponadprogowego, na przykład w sposobie uzyskiwania dostępu do bloków pamięci.

W projektowaniu energooszczędnego mikrokontrolera i jego obwodów ważna jest analiza kompromisów pomiędzy napięciem, mocą i osiągami. To podejście legło u podstaw Subthreshold Power Optimised Technology (SPOT) firmy Ambiq, zastosowanej do rdzeni mikrokontrolerów serii Apollo.

Chociaż dokonywanie wyborów na poziomie obwodów odgrywa przy projektowaniu znaczącą rolę w optymalizacji pozyskiwania energii dla aplikacji Internetu Rzeczy (IoT), to na całkowity pobór energii decydujący wpływ mają wybory na poziomie systemowym. Najważniejszym krokiem jest zminimalizowanie niepotrzebnych działań, głównie drogą inteligentnego posługiwania się trybami uśpienia, a także kształtowania architektury procesora w sposób maksymalizujący liczbę jego działań w każdym cyklu zegarowym. Mikrokontrolery są zwykle wyposażone w kilka stopni trybu uśpienia, od lekkiego, w którym lokalna pamięć i większość peryferii pozostają zasilone, ale rdzeń CPU nie jest czynny, do uśpienia głębokiego, w którym większość funkcji jest niezasilona i unieruchomiona. Im mniej peryferii i funkcji rdzenia jest czynnych, tym większa jest oszczędność energii. Ale konieczne są kluczowe kompromisy.

Zwykle węzeł czujnika IoT monitoruje otoczenie i środowisko i reaguje na pojawiające się zmiany. Zasadnicze dla optymalizacji systemu z wbudowanym zasilaniem pozyskiwaną energią, zwłaszcza nieciągłym, jest zastosowanie możliwie najgłębszego poziomu uśpienia, zapewniającego jednak w razie potrzeby reakcję w czasie rzeczywistym.

Najgłębszym w praktycznych systemach poziomem uśpienia mikrokontrolera jest taki, w którym zegar czasu rzeczywistego dba o podstawowe funkcje i periodycznie budzi system, na przykład co sekundę, aby sprawdzić, czy stan warunków zewnętrznych się nie zmienił, a wybudza rdzeń procesora całkowicie, gdy program musi przetworzyć pojawiający się sygnał wejściowy. Jednak takie działanie typu sondażowego może być marnotrawne w systemach, w których alerty zdarzają się stosunkowo rzadko i są przypadkowo rozłożone w czasie.

Fot. 2. Prototyp generatora dla sportowców umieszczony w bucie

Szybszą reakcję na przypadkowe przerwania zapewnia system o wyżej energetycznym stanie uśpienia do przetwarzania wejść/wyjść i szybkim wybudzaniu rdzenia procesora po przekroczeniu progu, ale tryb taki może wyczerpywać zapas energii, potrzebnej procesorowi na wygenerowanie niezbędnej odpowiedzi. Jest jednakże możliwe zachowanie najlepszych cech uśpienia głębokiego z możliwością reagowania na podstawowe sygnały wejściowe. Istnieją ultraniskoenergetyczne układy zegarów czasu rzeczywistego, potrafiące sprawdzać zdarzenia zewnętrzne, jak przerwania sprzętowe czy wykrywane przez komparator zmiany napięcia wejściowego. Po wykryciu zdarzenia zewnętrznego system może szybko przerzucać się w stan wybudzenia bez szkody dla zasilania, co maksymalizuje okresy spędzane w trybie głębokiego uśpienia systemu.

Ważne jest, aby program przetwarzania zapewniał maksimum działań w trakcie jednego cyklu zegarowego. Wiele aplikacji czujników IoT musi stosować algorytmy wstępnie przetwarzające sygnały i dane przed ich wysłaniem do użytkownika lub do chmury. Wymaga to stosowania procesora nie 8-bitowego, lecz 32-bitowego, który dokonuje operacji matematycznych w trakcie mniejszej liczby cykli, oraz architektury posługującej się zarówno stało- jak i zmiennoprzecinkowymi instrukcjami przetwarzania sygnałów. Sprzętowe podtrzymywanie arytmetyki zmiennoprzecinkowej zapewnia wykonywanie algorytmów w ciągu mniejszej liczby cykli, umożliwiając rdzeniowi szybkie przechodzenie do bardziej energooszczędnego stanu uśpienia, co dalej redukuje pobór mocy przez system. Opisany zestaw wymagań spełniają takie procesory jak ARM Cortex-M4F i inne.

Dzięki udoskonaleniom sprawności energetycznej zarówno na poziomie systemowym, jak i na poziomie działania obwodów o maksymalnie obniżonym napięciu, pozyskiwanie energii staje się praktyczną opcją dla coraz szerszego zakresu układów i aplikacji czujnikowych w IoT.

KKP