
Prąd pobierany przez urządzenie IoT może zmieniać się o kilka rzędów wielkości między fazą uśpienia a transmisją radiową – krótkie impulsy nakładają się na sumaryczny, często niewielki prąd zasilania procesora, czujników i innych elementów urządzenia. Potrzebny jest zatem przyrząd pomiarowy łączący duży zakres dynamiki z odpowiednią rozdzielczością czasową i dokładnością. Jednym z najbardziej przystępnych cenowo urządzeń, szczególnie użytecznym w systemach opartych na STM32, jest STLINK-V3PWR.
Źródło mierzące, programator, debugger i… jeszcze więcej
Zdecydowanie najbardziej atrakcyjną częścią urządzenia o nazwie STLINK-V3PWR, należącego do obszernej rodziny narzędzi dla programistów STM32, jest tor SMU, czyli tzw. źródło mierzące (ang. Source Measurement Unit), realizujące jednocześnie funkcję programowalnego zasilacza stałonapięciowego oraz precyzyjnego miernika prądu, napięcia i mocy pobieranej przez testowany układ. Oprócz niego ta niewielka przystawka USB zapewnia także pomocnicze źródło napięcia (AUX) oraz interfejsy służące do debugowania mikrokontrolerów STM32 i komunikacji szeregowej w wielu różnych standardach. Wbudowany port USB-C zapewnia zasilanie i przesył danych do/z komputera.
Wyjście jednostki SMU (OUT) zasila badany obwód i mierzy jego prąd; osobna linia AUX pozwala zasilić dodatkowe obciążenie, ale bez funkcji pomiarowej. Na jednym z dłuższych boków obudowy dostępne jest złącze rastrowe udostępniające mostek USB do SPI, I2C, CAN i GPIO. Z kolei port debugera, wraz z liniami wirtualnego portu szeregowego, wyprowadzono na złącze STDC14.
Najważniejsze parametry funkcji SMU zebraliśmy poniżej.
- Napięcie wyjściowe (OUT): 1,6…3,6 V z krokiem co 100 mV,
- Prąd ciągły (OUT): 500 mA,
- Próg zabezpieczenia OCP: 550 mA,
- Częstotliwość próbkowania: 1 Hz…100 kHz,
- Pasmo analogowe: 50 kHz.

Pomiar wykorzystuje cztery tory analogowe i dwa 12-bitowe przetworniki ADC mikrokontrolera STM32H745. Automatyczny dobór zakresu oraz odpowiednie przetwarzanie zmierzonego sygnału umożliwiają obserwację zarówno małych prądów na poziomie nanoamperów, jak i gwałtownych zmian obciążenia do kilkuset miliamperów. Rozdzielczość zależy od zakresu, co najlepiej obrazuje poniższy rysunek.

Warto pamiętać, by nie utożsamiać rozdzielczości pomiaru z jego dokładnością. W najniższym zakresie (RANGE1) dokładność wynosi ±0,4% ±8 nA, zaś w najwyższym (RANGE4) już ±0,3% ±200 μA.
Regulacja napięcia wyjściowego w zakresie już od 1,6 V pozwala badać pracę układów przy obniżonym zasilaniu, o ile oczywiście dopuszcza je konkretny STM32 i jego peryferia. Pod tym względem zakres napięć logiki jest nieznacznie (bo zaledwie o 50 mV) szerszy, niż w innych rodzajach programatorów STM32, np. w STLINK-V3MINIE, ale w nielicznych przypadkach może to mieć znaczenie praktyczne.
Górna granica 3,6 V uniemożliwia jednak odtworzenie pełnego zakresu napięcia typowego ogniwa Li-Ion/Li-Po, ładowanego do 4,2 V. Można sprawdzić fragment charakterystyki lub zasilać szynę za stabilizatorem, lecz taki pomiar nie obejmuje strat pominiętego stopnia zasilania.
Instalacja i pierwsze połączenie
Program nosi nazwę STM32CubeMonitor-Power. Ze strony ST pobieramy pakiet dla wybranego systemu i rozpakowujemy archiwum. W Windows uruchamiamy instalator EXE, w macOS otwieramy DMG i przenosimy aplikację do Applications. Instalator linuksowy JAR wymaga środowiska Java; uruchamia się go poleceniem java -jar nazwa_instalatora.jar.


Przed pomiarem aktualizujemy firmware sondy narzędziem STSW-LINK007. USB musi obsługiwać transmisję danych oraz udostępniać zasilanie co najmniej 5 V/1,5 A.
Wyjście OUT urządzenia łączymy z wejściem zasilania badanego obwodu, a GND z jego masą.
UWAGA: aby zapobiec konfliktowi napięć, przed wykonaniem połączeń odpinamy wszystkie inne źródła zasilające tę samą szynę!
Na początku wybieramy z listy SELECT BOARD numer portu szeregowego, pod którym STLINK zgłosił się w systemie operacyjnym.

Jeżeli program nawiązał połączenie z urządzeniem, aktywny stanie się przycisk TAKE CONTROL. Po jego kliknięciu otworzy się panel CONFIGURATION.

Warto dodać, że obecność samego gniazda USB-C nie gwarantuje odpowiedniego zasilania. Przy niewystarczającym budżecie mocy wyjścia OUT i AUX pozostają wyłączone; takiej sytuacji odpowiada komunikat pokazany na poniższym zrzucie ekranu. W przypadku jego pojawienia się należy sprawdzić, czy wybraliśmy odpowiedni port USB komputera – warto dodać, że urządzenie nie uruchomi wyjść zasilania, jeżeli zostanie wpięte kablem USB-A – USB-C do zwykłego portu USB typu A.

Ustawienia akwizycji i wyzwalanie
Sampling Frequency określa częstotliwość próbkowania w zakresie 1…100 000 Hz. Mniejsza częstotliwość ogranicza szum i ilość danych, ale wygładza lub wręcz redukuje na wykresie prądu krótkie zdarzenia, związane np. z obsługą przerwania i ponownym uśpieniem procesora.
Acquisition Time pozwala dobrać określony limit czasu rejestracji albo wybrać ∞ – w takim przypadku pomiar należy zakończyć ręcznie. Tryb bez limitu nadal ograniczają oczywiście zasoby pamięci operacyjnej komputera.
Input Voltage oznacza tak naprawdę napięcie wyjściowe SMU, zasilające testowane urządzenie (DUT) i ustawiane co 100 mV.
Trigger delay dodaje opóźnienie od momentu wyzwolenia do rozpoczęcia rejestracji.
Opcja Trigger source odpowiada za sposób wyzwolenia pomiaru. sw oznacza wyzwolenie programowe, a hw sygnał zewnętrzny na linii TGI.

Po skonfigurowaniu pomiar uruchamiamy przez kliknięcie przycisku START ACQUISITION.
Dwa prototypy, dwa profile prądowe
Na potrzeby artykułu uruchomiliśmy dwa prototypy urządzeń o różnych profilach poboru prądu. Pierwszy z nich, zarejestrowany przy zasilaniu napięciem 3,6 V i próbkowaniu z Fs = 10 kHz, przedstawiono na poniższym zrzucie ekranu. Prąd między impulsami wynosi około 10…11 mA, a najwyższe zarejestrowane piki dochodzą do 28 mA. Powiększenie wykresu ujawnia grupy impulsów i zdarzenia o różnych amplitudach, słabo rozróżnialne w widoku całej rejestracji.


Funkcja Show Report pokazuje statystyki – dla całego zapisu minimum to około 9,2 mA, maksimum to niecałe 28 mA, zaś średnia wynosi w tym przypadku 11,52 mA. Dla zaznaczonego odcinka o długości niecałych 800 ms średnia wynosi około 11,54 mA, a energia – 33,07 mJ. Tak szczegółowe statystyki pozwalają ocenić energię pobieraną podczas konkretnej sekwencji pracy.

Drugi prototyp pobierał około 3 mA i wykazywał niewielkie okresowe wzrosty oraz rzadsze, wąskie piki do około 7,4 mA. Z uwagi na krótki czas impulsów zastosowano maksymalną Fs = 100 kHz. Powiększenie pokazuje impuls trwający około 0,7 ms, czyli obejmujący około 70 próbek. Przy 100 Hz tak krótki przebieg nie mógłby zostać odwzorowany z podobną szczegółowością.


Podsumowanie
STLINK-V3PWR to niezwykle użyteczny przyrząd w pracowni projektanta i testera systemów wbudowanych. Oprócz funkcji typowych dla debuggerów z rodziny STLINK, wersja STLINK-V3PWR pozwala dokładnie zbadać profil prądowy i zestawić średni pobór z czasem i amplitudą poszczególnych zdarzeń. Ocena zmian konstrukcyjnych lub firmware pod względem energooszczędności staje się wręcz banalnie prosta – a z pewnością także nieporównanie przyjemniejsza i szybsza niż próby użycia do tego celu oscyloskopu bądź nawet wysokiej klasy multimetru.
Źródła
- STLINK-V3PWR – opis produktu
- UM3097 – budowa i parametry STLINK-V3PWR
- UM2202 – STM32CubeMonitor-Power; pobieranie programu
- AN5999 – podłączenie, pomiary i wyzwalanie

Sponsorem artykułu jest firma Masters
Masters jest Oficjalnym Dystrybutorem STMicroelectronics w Polsce, Czechach, Słowacji, Ukrainie i Mołdawii. Współpracujemy nieprzerwanie od 2003 roku. Dowiedz się więcej o produktach, usługach i warsztatach, które wspólnie tworzymy na www.masters.com.pl

