Minimalizacja poboru energii pochłania dużo energii producentów półprzewodników, co – ja pokazuje przykład STMicroelectronics zilustrowany na rysunku 1 – daje dobre efekty. Energooszczędne optymalizacje wprowadzone przez producenta do rodziny mikrokontrolerów STM32L4 umożliwiły osiągnięcie niewielkiego poboru prądu i to pomimo silnego rdzenia – Cortex-M4F, który jest przystosowany do taktowania sygnałem zegarowym o maksymalnej częstotliwości do 80 MHz. Wartości pokazane na wykresach podano dla wyłączonego/włączonego wewnętrznego RTC.

Rys. 1. Podawane przez producenta wartości natężenia poboru prądu (z wewnętrznym RTC/bez RTC)

Obecnie dostępne 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 (rysunek 2). W każdym przypadku pamięć RAM ma pojemność 128 kB, co tworzy dogodne środowisko do realizacji aplikacji o niewielkim poborze prądu.

Rys. 2. Portfolio rodziny STM32L4 (w szarych prostokątach typy mikrokontrolerów planowanych do wdrożenia)

Mikrokontrolery STM32L4 uzupełniają ofertę popularnych rodzin mikrokontrolerów energooszczędnych: STM32L0 (rdzeń Cortex-M0+) oraz STM32L1 (rdzeń Cortex-M3). Ich wewnętrzna budowa nie odbiega od dotychczasowych rozwiązań, co widać na schemacie blokowym pokazanym na rysunku 3. 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, I2C i SPI. Peryferia LP są taktowane niezależnym (od głównego zegara systemowego) sygnałem zegarowym, co zwiększa elastyczność konfiguracji systemu taktującego.

Rys. 3. Schemat blokowy mikrokontrolerów STM32L486

Także wokół CPU producent zastosował rozwiązania wspomagające oszczędzanie energii, w tym wiele trybów oszczędzania, możliwość szybkiego i łatwego wybudzenia CPU (rysunek 4) z trybów uśpienia i szereg innych mechanizmów o wspólnej nazwie FlexPowerControl.

Rys. 4. Atutem mikrokontrolerów STM32L4 jest krótki czas wybudzania m.in. z trybu oszczędzania energii STOP

Wszystkie rozwiązania energooszczędne zastosowane w mikrokontrolerach STM32L4 umożliwiły minimalizację poboru energii, ale nie odbiło się w dokoczliwy sposób na wypadkowej wydajności ich CPU. W syntetycznych testach prezentowane mikrokontrolery osiągają wyniki 273 CoreMark oraz 100 DMIPS (1,25 DMIPS/MHz), co wynika w znacznym stopniu z wyposażenia układów w interfejs ST ART Accelerator (pośredniczącym w dostępie CPU do pamięci Flash) oraz systemu magistralowego multi-AHB, który „obudowano” lokalnymi kontrolerami DMA.
Z myślą o rynkowym wparciu nowych mikrokontrolerów firma STMicroelectronics przygotowała dwa tanie zestawy startowe:

Fot. 5. Wygląd zestawu STM32L476G-DISCO

Fot. 6. Wygląd zestawu NUCLEO-L476RG

Obydwa zestawy wyposażono w mikrokontrolery STM32L476 (w różnych wersjach obudów) z wewnętrzną pamięcią Flash o pojemności 1 MB i wbudowaną SRAM o pojemności 128 kB. Standardowym wyposażeniem obydwu zestawów jest programator-debugger ST-Link/V2-1 (współpracujący ze środowiskiem sieciowym mbed.org) i przycisk zerujący oraz:

obydwa możliwe do wykorzystania w aplikacji użytkownika. Użytkownik ma także do dyspozycji jedną (w NUCLEO)/cztery (w DISCOVERY) diody LED, co jest standardem w każdym z tych zestawów.
Tradycyjnie wyposażenie zestawu DISCOVERY jest bogatsze od wyposażenia wbudowanego w NUCLEO, a w jego skład – poza dotychczas wymienionym – wchodzą także:

Fot. 7. Sensory MEMS 9DoF umieszczono pod wyświetlaczem LCD zestawu

  • sensory MEMS 9DoF (cyfrowy kompas i akcelerometr LSM303C + żyroskop L3GD20 – obydwa umieszczone pod wyświetlaczem LCD – fotografia 7),
  • wyświetlacz alfanumeryczny LCD o organizacji 4 x 24 segmenty,
  • pamięć Flash qSPI o pojemności 128 Mb,
  • przetwornik C/A audio z wyjściem Minijack 3,5 mm,
  • mikrofon MEMS MP34DT01 dołączony do wejścia interfejsu DFSDM (Digital Filter for Delta-Sigma Modulator), który jest wbudowany w mikrokontroler,
  • system pomiaru poboru prądu przez testowany mikrokontroler,
  • interfejs USB-OTG do wykorzystania w aplikacji użytkownika.

Zestaw NUCLEO-L476RG jest dostarczany ze standardową aplikacją demonstracyjną, która realizuje funkcję migania pokładową diodą LED z możliwością zmiany częstotliwości jej migania za pomocą jedynego przycisku użytkownika.

Fot. 8. Przykładowe komunikaty z menu wyświetlane na LCD zestawu STM32L476G-DISCO

Aplikacja demonstracyjna zestawu STM32L476G-DISCO składa się z aż siedmiu przykładów, które użytkownik może wybrać korzystając z joysticka i komunikatów na wyświetlaczu LCD (przykłady pokazano na fotografii 8). Dostępne aplikacje są następujące:

  • pomiar napięcia zasilającego mirokontroler,
  • 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.

Zestawy z serii NUCLEO są zgodne z systemem Arduino (w wersji z zasilaniem 3,3V), co pozwala łatwo i wygodnie konfigurować różnorodne systemy z użyciem tanich shieldów oferowanych przez 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.