STM32L4 - energooszczędny Cortex-M4F z rodziny STM32

| Technika

STMicroelectronics powoli domyka ofertę swoich mikrokontrolerów dla standardowych aplikacji, czego jednym z ostatnich przejawów są ultraszybkie mikrokontrolery STM32F7, wyposażone w rdzeń Cortex-M7. Jeszcze gorętszą nowością w ofercie producenta są mikrokontrolery o skrajnie odmiennym obszarze aplikacyjnym - STM32L4 - zoptymalizowane konstrukcyjnie do spełniania rygorystycznych wymogów minimalizacji poboru energii. W artykule pokrótce przedstawimy same mikrokontrolery i tanie zestawy startowe dla nich, wywodzące się ze znanych serii zestawów: NUCLEO i Discovery.

STM32L4 - energooszczędny Cortex-M4F z rodziny STM32

Rys. 1. Wykresy ilustrujące pobór prądu przez mikrokontroler STM32L4 (dane producenta)

Minimalizacja poboru energii przez pracujący rdzeń mikrokontrolera pochłania firmę STMicroelectronics od lat, co - po latach rozwoju - przynosi coraz lepsze efekty. Coraz bardziej zaawansowana technologia produkcji struktur półprzewodnikowych oraz coraz bardziej zaawansowane pomysły implementowane zarówno w samej CPU, jak i blokach peryferyjnych, którymi CPU jest obudowywana, umożliwiają osiąganie coraz mniejszego poboru mocy bez szczególnej utraty wydajności.

Na rysunku 1 przedstawiamy przybliżone wartości natężenia prądu pobieranego przez CPU w mikrokontrolerach STM32L4 w różnych trybach pracy i ograniczonej aktywności w różnych trybach oszczędzania energii.

Mikrokontrolery STM32L4 uzupełniają ofertę popularnych rodzin mikrokontrolerów energooszczędnych: STM32L0 (rdzeń Cortex-M0+) oraz STM32L1 (rdzeń Cortex-M3 + peryferie low-power). Ich wewnętrzna budowa nie odbiega od dotychczasowych rozwiązań, co widać na schemacie blokowym z rysunku 2.

Rys. 2. Uproszczony schemat blokowy mikrokontrolerów STM32L4

Podobnie jak w przypadku starszych mikrokontrolerów STM32L, najpoważniejszą różnicą w stosunku do klasycznych wersji STM32 jest użycie bloków peryferyjnych wykonanych w technologii low-power, dotyczy to przede wszystkim przetworników A/C (5 MSps - pobierają zaledwie 200 µA/MHz), timerów oraz bloków komunikacyjnych: UART, I²C i SPI. Peryferie LP są taktowane niezależnym (od głównego zegara systemowego) sygnałem zegarowym, co zwiększa elastyczność konfiguracji systemu taktującego.

Mikrokontrolery STM32L4 wyposażono w zaawansowany rdzeń Cortex-M4F (zintegrowany z FPU), który może być taktowany sygnałem zegarowym o częstotliwości 80 MHz. Produkowane obecnie mikrokontrolery są wyposażane w pamięci Flash o pojemności 1 MB (dual bank) lub 512 kB, w najbliższym czasie planowane są także układy o pojemności pamięci 256 kB (rys. 3). W każdym przypadku pamięć RAM ma pojemność 128 kB, co tworzy dogodne środowisko do realizacji aplikacji o niewielkim poborze prądu.

Wokół CPU producent zastosował wiele trybów oszczędzania, możliwość szybkiego i łatwego wybudzenia CPU z trybów uśpienia i szereg innych mechanizmów o wspólnej nazwie FlexPowerControl.

Fot. 3. Wygląd zestawu STM32L476G-DISCO

Zastosowane przez producenta w STM32L4 rozwiązania energooszczędne realnie ograniczyły pobór prądu, ale - jak pokazują testy CoreMark wykonane przez EEMBC - nie odbiło się to w znaczny sposób na wypadkowej wydajności CPU.

W publikowanych testach prezentowane mikrokontrolery osiągają wyniki 273 CoreMark oraz 100 DMIPS (1,25 DMIPS/MHz), co wynika między innymi z faktu wyposażenia ich w interfejs ST ART Accelerator (pośredniczący w dostępie CPU do pamięci Flash) oraz system magistralowy multi-AHB, który "obudowano" lokalnymi kontrolerami DMA.

Samodzielną weryfikację parametrów mikrokontrolerów STM32L4 umożliwiają - już tradycyjnie - tanie zestawy startowe przygotowane przez producenta. Wśród rozwiązań cieszących się dużą popularnością (co wynika z ceny) są dwa zestawy startowe: STM32L476G-DISCO (fot. 3) oraz Nucleo-L476RG (fot. 4).

Fot. 4. Wygląd zestawu NUCLEO-F476RG

Obydwa zestawy wyposażono w mikrokontrolery STM32L476 z pamięcią Flash o pojemności 1 MB i 128 kB RAM. Standardowym wyposażeniem obydwu zestawów jest programator-debugger ST-Link/V2-1 (w wersji współpracującej ze środowiskiem mbed.org), przyciski RESET oraz joystick lub mikroswitch do wykorzystania w aplikacji użytkownika. Jak widać, wyposażenie zestawu Discovery jest bogatsze niż Nucleo, w jego skład - poza mikrokontrolerem - wchodzą także:

  • system pomiaru poboru prądu przez testowany mikrokontroler (fot. 5),
  • sensory MEMS 9DoF (w tym cyfrowy kompas),
  • wyświetlacz alfanumeryczny LCD o organizacji 4×24 segmenty,
  • pamięć Flash qSPI o pojemności 128 Mb,
  • kodek audio z wyjściem mini Jack 3,5 mm,
  • mikrofon MEMS,
  • interfejs USB-OTG do wykorzystania w aplikacji użytkownika.

Fot. 5. Zestaw STM32F476G-DISCO wyposażono w system pomiaru natężenia prądu pobieranego przez mikrokontroler w różnych trybach pracy

Zestaw NUCLEO-L476RG jest dostarczany ze standardową aplikacją demonstracyjną, która realizuje funkcję migania pokładową diodą LED z częstotliwością zależną od ustawienia za pomocą przycisku użytkownika. Zestaw STM32L476G-DISCO dzięki bogatszemu wyposażeniu może zademonstrować więcej - domyślnie jest to przykładowych 7 aplikacji, w tym:

  • pomiar napięcia zasilającego mikrokontroler,
  • pobór prądu przez mikrokontroler w różnych trybach pracy (RUN @24MHz, SLEEP @24MHz, LPRUN, PL SLP @2MHz, STOP2, STDBY, SHTDWN),
  • zapis sygnału audio do pamięci Flash qSPI (próbka 16-bitowa @48 kHz),
  • odtwarzanie zapisanych sygnałów audio z pamięci Flash,
  • cyfrowy kompas z procedurą kalibracji 3D,
  • miernik natężenia dźwięku w otoczeniu (próbka 16-bitowa @48 kHz),
  • stroik gitarowy (fot. 6).

Fot. 6. Zestaw STM32F476G-DISCO jest dostarczany przez producenta z siedmioma aplikacjami zapisanymi w pamięci Flash. Na zdjęciu widać wybraną jedną z nich - stroik gitarowy

Zestawy z serii Nucleo są zgodne z systemem Arduino (w wersji z zasilaniem 3,3 V), co pozwala wygodnie konfigurować różnorodne systemy z użyciem tanich ekspanderów oferowanych przez bardzo wielu producentów na świecie.

Uniwersalność zestawów Discovery jest mniejsza - nie są one bowiem kompatybilne ze sobą nawet w ramach rodziny, ale dzięki wyprowadzeniu wielu linii GPIO na złącza szpilkowe i bogate wyposażenie własne mogą być stosowane jako doskonałe narzędzie ewaluacyjne, także w zastosowaniach profesjonalnych.

Oprogramowanie demonstracyjne oraz konfiguracyjne dla obydwu zestawów jest dostarczane w ramach pakietu CUBE-L4, który można wykorzystywać samodzielnie lub jako element konfiguracji środowiska STM32Cube.


Piotr Zbysiński