G0: nowe rozdanie w rodzinie STM32
| TechnikaSTMicroelectronics konsekwentnie umacnia swoją pozycję na rynku mikrokontrolerów wyposażonych w rdzenie z rodziny ARM Cortex-M. Gorącą nowością w ofercie produkcyjnej firmy jest nowa rodzina MCU wyposażona w rdzeń Cortex-M0+ o nazwie STM32G0.
Mikrokontrolery STM32G0 tworzą w portfolio STMicroelectronics drugą rodzinę zawierającą rdzeń Cortex-M0+, uzupełniając dotychczas produkowane, bardzo popularne STM32L0 oraz STM32F0, które bazują na nieco starszej wersji CPU - ARM Cortex-M0.
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 bardziej rozbudowaną liczbę rozkazów obsługuje),
- różnej szybkości wykonywania rozkazów, co wiąże się 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 ARM v6-M, obsługują takie same listy rozkazów, a dzięki modyfikacjom sprzętowym rdzeń Cortex-M0+ ma jedynie 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?
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 te uwarunkowania, mikrokontrolery STM32G0 są odpowiedzią na te zjawiska. 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. Teraz jest 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 wydajniejszy rdzeń - Cortex-M4.
Sporo zmian na korzyść
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. Projektantó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 z PD 3.0. Zadbano ponadto o kondycję ogniwa litowo-jonowego 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 +125°C, pozostałe mogą pracować przy temperaturach od -40 do +85°C.
Wprowadzając nową 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 zaburzenia 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.
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 podobne wsparcie techniczne jak ma to miejsce w przypadku starszych mikrokontrolerów. Są już dostępne w sprzedaży tanie zestawy z serii STM32NUCLEO oraz zaawansowane STM32EVAL. W najbliższym czasie będą dostępne 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, a tradycyjnie wysokiej jakości i przejrzysta dokumentacja nowych układów minimalizuje początkowy "próg wejścia".
Prezentowane w artykule nowe mikrokontrolery trudno uznać za przełomowe, ale wprowadzone w nich usprawnienia zdecydowanie podnoszą wygodę ich aplikowania i upraszczają ich stosowanie. Obiecywany zoptymalizowany pobór energii, duża wydajność i odporność na zakłócenia, a także dobre wyposażenie oraz zaawansowany rynkowy "ekosystem" powodują, że - moim zdaniem - 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.
Piotr Zbysiński
STMicroelectronics