Nowa rodzina mikrokontrolerów STM32: STM32L0 z rdzeniem Cortex-M0+


 

Mikrokontrolerowa oferta firmy STMicroelectronics bazuje na nowoczesnych 32-bitowych mikrokontrolerach z rdzeniami Cortex-M. Producent rozpoczął od rdzenia Cortex-M3 (STM32F1, STM32F2, STM32L1, STM32W), do którego kilka lat po rozpoczęciu produkcji mikrokontrolerów STM32 dołączyły układy z rdzeniem Cortex-M4F (STM32F3 i STM32F4). Długi czas firma STMicroelectronics „omijała” rdzenie Cortex-M0, ale nacisk klientów spowodował, że wprowadzono do oferty mikrokontrolery STM32F0, a kilka tygodni temu także mikrokontrolery STM32L0,

Rdzeń Cortex-M0+ jest udoskonaloną wersją rdzenia Cortex-M0 (stosowanego m.in. w mikrokontrolerach STM32F0), zwiększono jego wydajność obliczeniową, zmniejszono jednocześnie pobór mocy i elastyczność implementacji w krzemie.

Jako pierwsze w rodzinie STM32L0 pojawiły się mikrokontrolery „środka”, o pojemnościach pamięci Flash 32 i 64 kB, w obudowach o liczbie pinów 32/48/64 (rysunek 1). Dostępne są mikrokontrolery należące do trzech prodrodzin (Access Line, USB Line oraz USB&LCD Line), modele o większej i mniejszej liczbie pinów obudowy oraz pamięciami Flash o pojemnościach 16/128/192 kB będą dostępne nieco później. Mikrokontrolery wyposażone w pamięć Flash o pojemności powyżej 128 kB będą miały dzieloną ja na dwa segmenty, co ułatwi m.in. wymianę firmware’u.

 

Rys. 1. Mikrokontrolery STM32L0 dostępne na rynku i planowane do wprowadzenia do produkcji 

Rys. 1. Mikrokontrolery STM32L0 dostępne na rynku i planowane do wprowadzenia do produkcji

 

Wspólnymi elementami wyposażenia wszystkich mikrokontrolerów STM32L0 są także m.in. (rysunek 2): wbudowana pamięć EEPROM (fizycznie zaimplementowana, a nie emulowana w pamięci Flash), kontroler DMA, komparatory analogowe oraz interfejsy komunikacyjne SPI (z obsługą trybu I2S), I2C z FM+ i nie wymagający stosowania specjalnego rezonatora kwarcowego interfejs USB (z obsługą trybów BCD i LPM), a także 96-bitowy sprzętowy numer seryjny struktury, pozwalający zidentyfikować urządzenie z wbudowanym mikrokontrolerem.

 

Rys. 2. Ogólne schematy blokowe poszczególnych linii mikrokontrolerów STM32L0 (rysunek ten na pewno będzie modyfikowany z biegiem czasu) 

Rys. 2. Ogólne schematy blokowe poszczególnych linii mikrokontrolerów STM32L0 (rysunek ten na pewno będzie modyfikowany z biegiem czasu)

 

Przetwornik A/C wbudowany w mikrokontrolery STM32L0 (schemat blokowy pokazano na rysunku 3) jest przez producenta reklamowany jako 12-/16-bitowy, co wynika z faktu wyposażenia go w sprzętowy oversampling, który umożliwia zwiększenie jego rozdzielczości do 16 bitów (co się wiąże ze zwiększeniem ilości energii potrzebnej do wykonania konwersji). W zależności od potrzeb liczbę nadpróbkowań użytkownik może samodzielnie ustalić w zakresie od 2 do 256 (z krokiem 2n).

 

Rys. 3. Schemat blokowy przetwornika A/C stosowanego w mikrokontrolerach STM32L0 

Rys. 3. Schemat blokowy przetwornika A/C stosowanego w mikrokontrolerach STM32L0

 

Nowością w wyposażeniu mikrokontrolerów STM32L0 jest sprzętowy firewall (rysunek 4), którego zadaniem jest ochrona zawartości zadanych obszarów pamięci nieulotnej oraz RAM przed odczytem przez program uruchamiany z pamięci Flash lub RAM ulokowanych w obszarze niechronionym. Działaniem tego bloku użytkownik może sterować z poziomu swojego programu, włączając i wyłączając ochronę w zależności od bieżących potrzeb. Obszary chronione – w zależności od wybranego segmentu pamięci – mogą mieć rozmiary od 256 B do 64 kB z krokiem 256 B (segment programu i pamięć nieulotna) lub 64 B do 8 kB z krokiem 64 B (pamięć RAM). Firewall jest dostępny w mikrokontrolerach z podrodzin STM32L0x2 oraz STM32L0x3.

 

Rys. 4. Schemat blokowy sprzętowego firewalla chroniącego zadane obszary pamięci w mikrokontrolerach STM32L0 

Rys. 4. Schemat blokowy sprzętowego firewalla chroniącego zadane obszary pamięci w mikrokontrolerach STM32L0

 

Część wewnętrznego wyposażenia jest dostępna wyłącznie w niektórych typach mikrokontrolerów, jak na przykład:

  • koprocesor kryptograficzny AES128, który jest wbudowywany w układy STM32L063x8,
  • kontroler LCD o organizacji 8×48 wbudowany w mikrokontrolery STM32L0x3,
  • interfejsy USB 2.0FS wbudowane w mikrokontrolery STM32L0x2 i STM32L0x3.

 

Rys. 5. Tryby oszczędzania energii przez CPU Cortex-M0+ w STM32L0 

Rys. 5. Tryby oszczędzania energii przez CPU Cortex-M0+ w STM32L0

 

Zastosowany w rodzinie STM32L0 rdzeń Cortex-M0+ jest promowany przez firmę ARM jako jeden z najbardziej energooszczędnych, co – zgodnie z informacjami udzielonymi przez producenta (m.in. na rysunku 5) udało się. Zmniejszenie poboru energii przez rdzeń wynika zarówno z jego przemyślanej konstrukcji, dobrej implementacji w krzemie oraz dostępnym wielu trybom oszczędzania.

Optymalizacja mikrokontrolerów STM32L0 do stosowania w aplikacjach wymagających podzespołów energooszczędnych nie kończy się jednak wyłącznie na wymienionych zabiegach – producent zastosował w tych mikrokontrolerach także bloki peryferyjne o zminimalizowanym poborze mocy. Są to m.in.:

– przetwornik A/C pobierający zaledwie ok. 200 mA przy częstotliwości próbkowania 1,14 MHz,

– interfejs komunikacyjny LPUART, który może realizować dupleksową transmisję danych z prędkością od 300 do 9600 b/s z wykorzystaniem wewnętrznego generatora taktującego 32,768 kHz (wyższe prędkości są możliwe przy zastosowaniu generatora taktującego o większej częstotliwości) i którego wyposażenie umożliwia szybkie wybudzenie CPU z trybu STOP,

– 16-bitowy timer LPTIM przystosowany do realizacji funkcji odmierzania „timeoutów” podczas uśpienia CPU, a także realizacji innych funkcji licznikowych bez ingerencji CPU i aktywnego wewnętrznego generatora taktującego,

– zegar RTC przystosowany do konfigurowanego przez aplikacje użytkownika wybudzania CPU z trybów uśpienia STOP, STANDBY i SLEEP.

 

Fot. 6. Wygląd zestawu STM32Nucleo-L058R8

Fot. 6. Wygląd zestawu STM32Nucleo-L058R8

 

Swoim zwyczajem, firma STMicroelectronics wraz z nowymi mikrokontrolerami wprowadziła do sprzedaży tanie zestawy startowe, przy czym tym razem jako pierwsze na rynku znalazły się zestawy z serii iSTM32Nucleo (fotografia 6). Jest to nowa rodzina zestawów ewaluacyjnych z mikrokontrolerami STM32, które od niezwykle popularnych Discovery różni m.in.:

  • sprzętowa zgodność z płytkami systemu Arduino (rysunek 7),
  • wyposażenie w złącza nowego systemu połączeniowego ST Morpho (rysunek 7),
  • współpraca z bezpłatnym, internetowym pakietem narzędziowym mbed.

 

Rys. 7. Zestawy STM32Nucleo wyposażono w dwa systemy złącz, zgodne z: Arduino oraz ST Morpho 

Rys. 7. Zestawy STM32Nucleo wyposażono w dwa systemy złącz, zgodne z: Arduino oraz ST Morpho

 

Zestaw STM32Nucleo jest wyposażono w zintegrowany programator/debuger ST-LINK/V2-1 (ze zmodyfikowanym firmware, który współpracuje z pakietem mbed), podsystem zasilania, trzy diody LED (w tym jedna dla aplikacji użytkownika, jedna sygnalizująca włączenie zasilania i jedna dwukolorowa – spełnia rolę sygnalizacyjną w programatorze), dwa przyciski (w tym jeden RESET), złącze miniUSB (do zasilania, komunikacji z mikrokontrolerem aplikacji via wirtualny COM, emulacji urządzenia klasy mass storage oraz komunikacji z programatorem ST-Link). Standardowym wyposażeniem prezentowanych zestawów są także złącza z wyprowadzonymi GPIO, co zapewnia im między innymi kompatybilność z płytkami systemu Arduino (shields).

Mikrokontrolery w prezentowanych zestawach wykorzystują wewnętrzne generatory taktujące, ale producent przewidział miejsca na PCB umożliwiające montaż rezonatorów kwarcowych (32,768 kHz dla RTC i głównego). Na ewaluacyjnej części płytki zastosowano także zworkę, która umożliwia zmierzenie poboru prądu przez mikrokontroler. Warto pamiętać, że mikrokontroler programatora realizuje także funkcję wirtualnego COM, którego linie Rx i Tx wyprowadzono na złącze gold-pin płytki programatora, dzięki czemu można je podłączyć do dowolnych linii testowanego mikrokontrolera.

Wspomnianym atutem płytek Nucelo jest ich zgodność z internetowym pakietem narzędziowym mbed (www.mbed.org), dla którego są one natywnymi platformami sprzętowymi. Nie oznacza to jednak, że konstruktorzy przyzwyczajeni do innych środowisk będą musieli zmienić swoje przyzwyczajenia: wbudowany w zestawy programator jest zgodny z popularnym ST-Link/v2, dzięki czemu testowany mikrokontroler można programować z poziomu wszystkich popularnych pakietów narzędziowych, jak na przykład: Keil MDK (mVision), IAR EWARM (Workbench) czy Atollic TrueStudio.

 

 Fot. 8. Wygląd zestawu ewaluacyjnego oraz DISCOVERY z mikrokontrolerami STM32L0

Fot. 8. Wygląd zestawu ewaluacyjnego oraz DISCOVERY z mikrokontrolerami STM32L0

 

Producent zapowiada także wprowadzenie do sprzedaży zestawu DISCOVERY z wyświetlaczem e-paper oraz klasycznego „evala” z wyświetlaczem LCD-TFT i monochromatycznym wyświetlaczem segmentowym (fotografia 8), sterowanym bezpośrednio przez wewnętrzny kontroler mikrokontrolera STM32L0.

 Andrzej Gawryluk

Newsy

Autor: