STM32L0x nowe mikrokontrolery
| TechnikaFirma ST Microelectronics wprowadza na rynek nowe wersje 32-bitowych mikrokontrolerów z rodziny STM32L0, po raz kolejny potwierdzając swoją determinację i zaangażowanie w rozwój kompletnego portfolio układów, pokrywającego wszystkie potrzeby konstruktorów. Nowe jednostki wyróżniają się w porównaniu do poprzedników jeszcze niższym poborem mocy, szerszym zakresem temperatur pracy i przeznaczone są do aplikacji zasilanych z baterii, takich gdzie wymiana ogniw powinna być możliwie najrzadsza, a więc takie jak czujniki bezprzewodowe, elementy sieci IoT, a także sprzęt medyczny i diagnostyczny.
Celem konstruktorów było zapewnienie, że przy zasilaniu z baterii guzikowej nie trzeba będzie jej wymieniać częściej niż raz na 2 lata w typowych aplikacjach, a większe ogniwa mają starczyć nawet na dekadę. Nowe mikrokontrolery bazują na rdzeniu ARM Cortex M0+, który jest promowany przez firmę ARM jako jeden z najbardziej energooszczędnych, mają 12-bitowy przetwornik ADC, a wybrane wersje zawierają interfejs USB 2.0 full-speed z opcją pracy bez rezonatora kwarcowego w oparciu o wewnętrzny oscylator 48 MHz. Przetwornik ADC obsługuje sprzętowy oversampling, zapewniający mu równoważną 16-bitową rozdzielczość konwersji. Wielkość nadpróbkowania można regulować w zakresie od 2 do 256. Mikrokontrolery mają też wiele funkcji, które przydają się przy zasilaniu z wbudowanego akumulatora, jak na przykład wykrywanie podłączonej ładowarki do portu USB.
Jeśli chodzi o pamięć to dostępne wersje mają do 64 KB pamięci Flash, maksymalnie 8 KB SRAM i 2 KB wbudowanej strukturę fizycznej pamięci EEPROM. Są kompatybilne z STM32L1 i innymi układami STM32, co zapewnia łatwą migrację. 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 w okresie późniejszym. Niski pobór mocy dotyczy wszystkich bloków peryferyjnych mikrokontrolera, nie tylko jednostki centralnej.
Przykładowo przetwornik analogowo-cyfrowy pobiera 48 µA podczas konwersji z szybkością 100 KS/s i 200 µA przy 1 MS/s. Pobór prądu przez przetwornik ADC jest proporcjonalny do szybkości akwizycji danych, przez co konstruktor ma możliwość wyboru. Gdy akwizycja zachodzi powoli, pomiędzy kolejnymi konwersjami przetwornik przechodzi w stan uśpienia, a pobór prądu spada do ułamków mikroampera (auto off).
Ponieważ pobór mocy przez jednostkę centralną zależy w największym stopniu od szybkości taktowania i napięcia zasilającego, w układach STM32L0xx większość układów logicznych zasilana jest z wewnętrznego stabilizatora o minimalnym napięciu wyjściowym zapewniającym stabilną pracę (1,2V).
Zapewnia to minimalne zużycie energii i stabilną pracę już od 1,65 V. Wraz z rozbudowanym systemem taktowania dobierającym częstotliwość do wykonywanego zadania, bramkowaniem sygnału zegarowego, aktywacją i deaktywacją bloków i peryferii, i skalowaniem napięcia, zapewniono możliwość pracy nawet do 10 lat na pojedynczym ogniwie Li-Ion.
Układy STM32L0 dostępne są w trzech grupach: podstawowej, USB oraz USBLCD. Wszystkie zapewniają bardzo niski pobór mocy rzędu 139 µA/MHz przy taktowaniu 32 MHz i 87 µA/MHz w trybie oszczędnościowym. W trybie Stop z pełnym podtrzymaniem zawartości RAM i cyklicznym wybudzaniem za pomocą timera LPTIM pobierany prąd spada do 440 nA. Mają też kontroler DMA, komparatory analogowe oraz interfejsy komunikacyjne SPI (z obsługą trybu I²S), I²C z FM+.
Jako jedyne na rynku układy pozwalają na pracę w temperaturze do +125°C i nie pobierają więcej mocy w podwyższonej temperaturze, co dodatkowo stabilizuje ich pracę na skutek ograniczenia efektu samonagrzewania, co jest w dużej mierze zasługą opracowanego przez firmę procesu technologicznego CMOS o wymiarze charakterystycznym 110 nm o niskich wartościach prądu upływu. Ceny hurtowe nowych mikrokontrolerów zaczynają się od 85 centów za sztukę dla zamówień 1000 jednostek.
Spojrzenie na nowe układy
Układy podstawowe (access line) STM32L0x1 dostępne są w małych obudowach WLCSP32, zawierają do 64 KB pamięci Flash, do 8 KB RAM i 2 KB EEPROM. Z układów peryferyjnych mają wbudowany zegar czasu rzeczywistego przystosowany do konfigurowanego przez aplikacje użytkownika wybudzania CPU z trybów uśpienia stop, standby i sleep, generator zegarowy, sprzętowy moduł szyfrujący oraz 12-bitowy przetwornik ADC o niskim poborze prądu rzędu 48 µA przy 100 kS/s. Pracę oszczędnych energetycznie aplikacji wspierają też inne peryferia jak liczniki i timery, które działają też w trybie stop, bez konieczności zapewniania taktowania rdzenia.
Mikrokontrolery te przeznaczone są do układów wymagających małej i średniej wydajności obliczeniowej, takich jak mierniki zużycia mediów, układy komunikacyjne i interfejsowe dla urządzeń peryferyjnych, terminali, zdalnych klawiatur, systemów alarmowych i podobnych obszarów aplikacyjnych. We wszystkich tych obszarach przydatna jest jednostka szyfrująca (AES 128-bit) pozwalająca zapewnić poufność komunikacji, a także 96-bitowy sprzętowy numer seryjny struktury, pozwalający zidentyfikować urządzenie z wbudowanym mikrokontrolerem, co jest ważne dla zapobiegania podróbkom lub też ograniczającym możliwość wytworzenia dodatkowej serii przez producenta kontraktowego poza umową.
To, że dla producentów OEM jest to coraz bardziej istotny problem może jeszcze świadczyć dostępność wbudowanego sprzętowego firewalla, zapewniającego ochronę 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.
Układy z rodziny STM32L0x2 (USB line) mają podobne właściwości jak opisana wcześniej rodzina podstawowa, ale dodatkowo zawierają interfejs USB 2.0 full speed (z obsługą trybów BCD i LPM) niewymagający zewnętrznego rezonatora kwarcowego. Układy mają także interfejs do 16 pojemnościowych przycisków i generator liczb losowych TRNG (true random number generator).
Układy STM32L0x2 zawierają do 64 KB pamięci Flash, do 8 KB RAM i 2 KB EEPROM i produkowane są w obudowach UQFN, LQFP i WLCSP. Mikrokontrolery STM32L0x3 z linii USB i LCD zawierają podobnie jak poprzednik USB 2.0 FS obsługujący wykrywanie ładowarki oraz funkcję power link, interfejs klawiszy pojemnościowych, generator liczb, a także driver LCD. Obsługuje on typowe znakowe panele o wymiarach maksymalnych 8 linii po 32 segmenty. Zapewniona została możliwość programowego wyboru linii I/O obsługujących wyświetlacz, a wbudowany w sterownik wewnętrzny stabilizator podwyższający napięcie wymagane do zapewnia kontrastu pracuje w szerokim zakresie napięć zasilania i pobiera jedynie 5 µA.
Układy są dostępne w obudowach LQFP i BGA. W jednostkach STM-32L063 wbudowano moduł szyfrujący AES 128-bitowy. Szyfrowanie AES 256-bit, DES, 3DES, RSA i ECCC można zrealizować za pomocą funkcji z bibliotek oprogramowania. Zapewniona została kompatybilność pinowa pomiędzy wymienionymi układami.
Narzędzia rozwojowe
Wraz z nowymi układami w sprzedaży pojawiły się zestawy startowe z serii STM32Nucleo o funkcjonalności podobnej do znanych Discovery, ale zapewniające sprzętową zgodność z płytkami systemu Arduino. Zostały one wyposażone w złącza nowego systemu połączeniowego o nazwie ST Morpho i współpracują z bezpłatnym, internetowym pakietem narzędziowym mbed.