STM32G0: nowe rozdanie w rodzinie
STM32G0 to nowe mikrokontrolery firmy STMicroelectronics, które umacniają jej pozycję na rynku mikrokontrolerów wyposażonych w rdzenie z rodziny ARM Cortex-M. Bazują na rdzeniu Cortex-M0+ jak dobrze już znane STM32L0. Uzupełniają one dotychczas produkowane, bardzo popularne STM32L0 oraz STM32F0, które bazują na nieco starszej wersji CPU – ARM Cortex-M0.
Lista rozkazów
Różnice pomiędzy poszczególnymi rdzeniami zastosowanymi w mikrokontrolerach STM32 są znaczące, polegają przede wszystkim na:
- odmiennych listach obsługiwanych rozkazów (rysunek 1 – im „większy” rdzeń, tym większą liczbę rozkazów obsługuje),
- różnej szybkości wykonywania rozkazów. Wiąże się to z rozmiarami struktury półprzewodnikowej mikrokontrolera (m.in. dzięki integracji pamięci TCM, sprzętowym mechanizmom potokowania itp.),
- obudowaniu CPU sprzętowymi koprocesorami, jak na przykład FPU czy DSP.
Tak spektakularnych różnic nie ma pomiędzy rdzeniami Cortex-M0 i Cortex-M0+: obydwa bazują na architekturze Armv6-M, obsługuje takie same listy rozkazów i dzięki modyfikacjom sprzętowym rdzeń Cortex-M0+ ma nieco większą wydajność (2,46 CoreMark/MHz) niż Cortex-M0 (2,33 CoreMark/MHz). W dotychczas produkowanych mikrokontrolerach STM32 obydwa najprostsze rdzenie były już dostępne, czym więc odróżniają się od nich układy STM32G0?
Rosnące wymagania
Bezwzględna konkurencja na rynku półprzewodników wymusza ciągłe obniżanie cen podzespołów, przy jednocześnie rosnących wymaganiach im stawianych. Firma STMicroelectronics dostrzega to zjawisko, mikrokontrolery STM32G0 są odpowiedzią na nie. M.in. cena układów została zminimalizowana dzięki zastosowaniu nowego, gęstszego, procesu litograficznego, dzięki któremu powierzchnia struktur półprzewodnikowych układów została zmniejszona. Optymalizując projekt CPU producent zwiększył maksymalną częstotliwość taktowania rdzenia do 64 MHz, jednocześnie rozbudowując mechanizmy oszczędzania energii (aż 6 trybów low-power charakteryzujących się krótkim czasem powrotu do normalnej pracy), zastosowano także sprzętowe rozwiązania zapewniające możliwość wewnętrznego skalowania napięcia zasilającego (Dynamic Voltage Scaling). Skuteczność zastosowanych w STM32G0 rozwiązań wspierających oszczędzanie energii i duża wydajność CPU powodują, że sam producent porównuje układy z tej serii z układami STM32L4, które wyposażono w mocniejszy rdzeń – Cortex-M4.
Minimalizacja poboru mocy
Poza optymalizacją cen i poboru mocy, w mikrokontrolerach rodziny STM32G0 zastosowano kilka sprytnych rozwiązań sprzętowych, które upraszczają korzystanie z tych układów w rzeczywistych aplikacjach. Projekantów PCB na pewno ucieszy fakt, że zasilania doprowadzane są do mikrokontrolerów tylko jedną parą wyprowadzeń (rysunek 2), co spowodowało, że np. w przypadku obudowy LQFP64 do konstruktor ma do dyspozycji o 5 linii GPIO więcej niż w dotychczas produkowanych układach.
Wewnątrz struktur niektórych typów mikrokontrolerów STM32G0 zintegrowano także kompletny interfejs USB-C PD3.0, zadbano ponadto o kondycję ogniwa litowego podtrzymującego pracę niektórych obszarów pamięci RAM, RTC i innych bloków mikrokontrolerów – a to dzięki wbudowanemu konfigurowalnemu systemowi doładowywania baterii backupowej (rysunek 3).
Mikrokontrolery STM32G0 są prze producenta pozycjonowane jako zoptymalizowane rozwiązanie także dla aplikacji IoT, co wynika zarówno z integracji w układach jednostek MPU, jak i bloków kryptograficznych AES256 oraz zaawansowanego, sprzętowego generatora liczb losowych. Wybrane modele prezentowanych mikrokontrolerów są ponadto przystosowane do pracy w zakresie temperatur rozszerzonym do +125oC, pozostałe mogą pracować przy temperaturach od -40 do +85oC.
Wprowadzając nowa rodzinę układów do produkcji zadbano także o poprawę bezpieczeństwa aplikacji, w których będą one stosowane. Wynika ona z:
- większej niż w starszych rodzinach odporności mikrokontrolerów na zakłócenia EM,
- zintegrowanego systemu monitorowania poprawności taktowania (+2 sprzętowe watchdogi), a także
- wyposażeniu kontrolera pamięci Flash w autonomiczny system korekcji błędów.
Budowa
Na rysunku 4 pokazano schemat blokowy mikrokontrolera STM32G081, który należy do podrodziny STM32G0 Access Line.
W jej ramach są oferowane układy z wbudowanymi blokami kryptograficznymi lub bez nich, w obudowach których zakres pokazano na rysunku 5. W tym zestawieniu widać, że producent nie oszczędzał na zasobach RAM dostępnej w STM32G0 dla użytkownika – nawet najprostsze modele (w tym planowany do wdrożenia 8-nóżkowiec) będą miały 8 kB RAM, co gwarantuje duży komfort pracy programistom.
Producent przewidział dla rodziny STM32G0 podobny support techniczny jak w przypadku starszych mikrokontrolerów. Już dziś są dostępne w sprzedaży tanie zestawy z serii STM32NUCLEO oraz zaawansowane STM32EVAL. W najbliższym czasie producent udostępni rozbudowane zestawy startowe z rodziny STM32DISCOVERY. Najnowszą wersję pakietu STM32CubeMX wyposażono w kreator podłączeń bloków peryferyjnych STM32G0, dostępne są już także zestawy bibliotek HAL/Cube. Tak więc rozpoczęcie prac projektowych z nowymi układami nie wymaga wyrafinowanych zabiegów ze strony programistów. Prace upraszcza dokumentacja – tradycyjnie wysokiej jakości i przejrzysta.
Prezentowane w artykule nowe mikrokontrolery trudno uznać za przełomowe. Wprowadzone w nich usprawnienia zdecydowanie podnoszą wygodę ich aplikowania i upraszczają ich stosowanie, w czym pomagają:
- obiecywany zoptymalizowany pobór energii,
- duża wydajność,
- odporność na zakłócenia,
- dobre wyposażenie oraz
- zaawansowany rynkowy „ekosystem”.
Wiele wskazuje na to, że konstruktorzy będą chętnie sięgać w swoich opracowaniach po STM32G0.
Jaki będzie kolejny „mikrokontrolerowy” krok firmy STMicroelectronics? Intuicja i logika mówią mi, że pojawią się w sprzedaży modele bazujące na rozwiązaniach STM32G ale z rdzeniem Cortex-M4. Czy tak się stanie – zobaczymy zapewne w najbliższych miesiącach.