Precyzyjne pomiary zasilania STM32 z użyciem STLINK-V3PWR

Udostępnij

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.
Urządzenie STLINK-V3PWR – widok z góry (fot: HardwareDesigner.pl)

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.

Podział zakresów pomiaru prądu (źródło: st.com)

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.

Okno startowe programu (źródło: HardwareDesigner.pl)
Okno główne programu tuż po otwarciu w środowisku Linux (źródło: HardwareDesigner.pl)

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.

Lista wyboru wirtualnego portu szeregowego (źródło: HardwareDesigner.pl)

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

Panel konfiguracyjny programu (źródło: HardwareDesigner.pl)

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.

Komunikat informujący o niewystarczającej wydajności prądowej portu USB (źródło: HardwareDesigner.pl)

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.

Przykładowe ustawienie parametrów pomiaru (źródło: HardwareDesigner.pl)

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.

Przykładowy pomiar pierwszego prototypu (źródło: HardwareDesigner.pl)
Przykładowy pomiar pierwszego prototypu – przybliżenie wykresu ukazuje szczegóły pików prądowych (źródło: HardwareDesigner.pl)

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.

Przykładowy pomiar pierwszego prototypu – widoczne statystyki poboru prądu (źródło: HardwareDesigner.pl)

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ą.

Przykładowy pomiar drugiego prototypu (źródło: HardwareDesigner.pl)
Przykładowy pomiar drugiego prototypu – przybliżenie wykresu ukazuje szczegóły jednego z pików prądu (źródło: HardwareDesigner.pl)

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

  1. STLINK-V3PWR – opis produktu
  2. UM3097 – budowa i parametry STLINK-V3PWR
  3. UM2202 – STM32CubeMonitor-Power; pobieranie programu
  4. 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

Przemysław
Przemysław
Redaktor Naczelny portalu HardwareDesigner.pl. Konstruktor elektronik i programista embedded z ponad 20-letnim doświadczeniem w projektowaniu PCB. Z wykształcenia elektronik medyczny i elektroradiolog, specjalizuje się w projektowaniu i badaniach aparatury medycznej, laboratoryjnej i pomiarowej.

Czytaj więcej

Wybrane dla Ciebie