STM32C5 – najważniejsze informacje o najnowszej rodzinie mikrokontrolerów

Udostępnij

Wszystko, co wiąże się z STM32C5, ewidentnie pachnie nowością. Nowoczesna architektura, nowy generator inicjalizacji peryferiów (CubeMX2), przebudowane od zera biblioteki (HAL2) – a to dopiero początek długiej listy zmian. Rodzina STM32C5 jest zdecydowanie najciekawszą premierą mikrokontrolerów marki STMicroelectronics, a zarazem bardzo silnym ciosem w portfolio konkurentów na rynku półprzewodników.

Firma STMicroelectronics przyzwyczaiła nas na przestrzeni ostatniej dekady do tego, że na rynku praktycznie co roku pojawiają się nowe rodziny mikrokontrolerów STM32. W przypadku STM32C5 mamy do czynienia z premierą, którą warto oceniać nie przez pryzmat pojedynczego parametru nowych układów, lecz ich całościowego pozycjonowania w rynkowym ekosystemie.

Producent opracował wydajne procesory oparte na rdzeniu Arm Cortex-M33F pracującym z częstotliwością do 144 MHz, ale wycenił je na poziomie typowym dla budżetowych mikrokontrolerów głównego nurtu. W efekcie układy STM32C5 nie są ani „małymi STM32H5”, ani następcami STM32G4, ani też procesorami ultra-energooszczędnymi w stylu STM32L5 czy STM32U5. Rodzina C5 jest raczej próbą przesunięcia progu wejścia w świat Cortexów M33: z jednej strony wkraczamy do segmentu mikrokontrolerów bardzo atrakcyjnych cenowo, z drugiej zaś – to przesunięcie odbywa się przy zachowaniu obszernej pamięci wbudowanej, nowoczesnych interfejsów komunikacyjnych i wielu sprzętowych mechanizmów bezpieczeństwa. STM32C5 może okazać się bardzo mocnym kandydatem do nowych projektów przemysłowych, m.in. modułów I/O i sterowników, w których liczy się przede wszystkim relacja funkcjonalności i wydajności obliczeniowej do kosztów BOM. Zainteresowanie nową rodziną procesorów jest więc spore, o czym świadczy chociażby wysoka frekwencja na warsztatach STM32C5 organizowanych w największych miastach Polski przez firmę Masters.

Tym bardziej interesujący jest fakt, że pod względem cenowym układy STM32C5 pozycjonują się… tuż za skrajnie budżetową linią STM32C0. Choć to te ostatnie miały z założenia wyprzeć z rynku 8-bitowe „niedobitki”, to nowe C5 są w istocie niewiele droższe od C0, a przepaść wydajnościowa pomiędzy obiema seriami jest naprawdę widoczna. Mikrokontrolery STM32C5 będą pod wieloma względami wyborem optymalnym w szerokiej gamie zastosowań – o ile tylko nie musimy walczyć (dosłownie) o każdy zaoszczędzony grosz w kosztach BOM projektu, a możemy dopłacić złotówkę lub dwie za egzemplarz urządzenia. Rodzina STM32C0 wciąż pozostaje natomiast niedościgniona cenowo w aplikacjach ekstremalnie wyżyłowanych pod względem budżetu, choć nadaje się wyłącznie do relatywnie prostych aplikacji.

Arm Cortex-M33F w wydaniu ekonomicznym

Wszystkie układy STM32C5 bazują na rdzeniu Arm Cortex-M33F – litera „F” oznacza, że w układzie znajduje się jednostka zmiennoprzecinkowa (FPU). Ponadto mamy do dyspozycji zestaw instrukcji DSP oraz jednostkę MPU (Memory Protection Unit). Deklarowany wynik wydajności obliczeniowej to 593 CoreMark, czyli około 4,12 CoreMark/MHz. Jest to poziom porównywalny z kultową rodziną STM32F4, a zarazem około 58% wydajności osiąganej przez STM32H5. W tej klasie cenowej są to osiągi bardzo atrakcyjne, zważywszy na fakt, że C5 ma konkurować nie tylko z innymi układami Arm Cortex-M33, ale również z rodzinami opartymi na Cortex-M0+, Cortex-M23 czy Cortex-M4.

Wydajność nie wynika jednak wyłącznie z samego rdzenia. STM32C5 korzysta z wieloportowej macierzy AHB oraz 8-kilobajtowej pamięci podręcznej ICACHE. Mechanizm ten zwiększa szybkość wykonywania programu, buforując fragmenty kodu, które w przypadku procesorów pozbawionych ICACHE musiałyby zostać pobrane bezpośrednio z obszernej, wbudowanej pamięci Flash lub z pamięci zewnętrznej.

Pamięć programu i danych skaluje się szeroko: od 128 lub 256 kB Flash i 64 kB SRAM w niższych liniach, przez 512 kB Flash i 128 kB SRAM w segmencie środkowym, aż do 1 MB Flash i 256 kB SRAM w najwyższych wariantach. Flash jest dwubankowy, wspiera tryb odczytu podczas trwającego zapisu, a cała pamięć nieulotna jest objęta mechanizmami ECC (korekcji błędów). Dodatkowo dostępny jest obszar user data flash, przewidziany specjalnie z myślą o wykorzystaniu do emulacji pamięci EEPROM.

Podział rodziny STM32C5 na podgrupy

Wszystkie układy należące do rodziny STM32C5 można podzielić na trzy grupy różniące się rozmiarami pamięci, zestawem bloków peryferyjnych oraz liczbą wyprowadzeń. Najlepiej obrazuje to poniższy rysunek, pochodzący z oficjalnej strony STMicroelectronics.

Portfolio układów STM32 (stan na lipiec 2026 r.). Źródło: st.com

STM32C531, STM32C532 i STM32C542

Najniższy segment rodziny tworzą linie STM32C531 i STM32C532. Są to układy z 128 lub 256 kB Flash oraz 64 kB SRAM, przeznaczone do projektów, w których podstawowym argumentem jest koszt, ale jednocześnie z jakichś względów potrzebny jest nowocześniejszy rdzeń niż np. Cortex-M0+. Oficjalne ceny ST dla dużych wolumenów zaczynają się od 0,64 USD, co bardzo jasno pokazuje, w jaki obszar rynku celuje producent. Warto w tym miejscu dodać, że najmniejsze warianty STM32C5 w obudowach TSSOP20, UFQFPN20 i UFQFPN24 sprawiają, iż STM32C531 i STM32C532 można traktować jako swego rodzaju następców budżetowych układów z wcześniejszych rodzin. Ale uwaga – pomimo identycznych obudów, pinouty układów o podobnych oznaczeniach nie są zgodne pomiędzy seriami STM32C0 oraz STM32C5, czego najlepszym przykładem jest poniższe porównanie.

Układy wyprowadzeń układów STM32C531 (po lewej) i STM32C031 (po prawej) w obudowach UFQFPN20 (źródło: noty katalogowe)

STM32C531 jest wariantem prostszym komunikacyjnie, bez FDCAN i Ethernetu, ale zawierającym USB Full-Speed i nowoczesny kontroler I3C. STM32C532 dodaje dwa kontrolery FDCAN, co czyni go bardzo interesującym kandydatem do tanich węzłów magistrali CAN FD w automatyce, np. w prostszych sterownikach przemysłowych, urządzeniach wykonawczych czy modułach wejść/wyjść. W obu przypadkach mowa jednak o wariantach podstawowych: atrakcyjnych cenowo, ale bez ambicji zastępowania bardziej rozbudowanych i wielokrotnie droższych mikrokontrolerów o zaawansowanych funkcjach komunikacyjnych. W przypadku STM32C542, oprócz wszystkich wymienionych powyżej interfejsów, otrzymujemy 256 kB pamięci Flash i 64 kB pamięci SRAM, a dodatkowo sprzętowy koprocesor AES.

Na uwagę zasługuje również część analogowa. Nawet w najprostszym wariancie (STM32C531FB) zawarto nie tylko standardowy, 12-bitowy przetwornik ADC, ale także 2 konwertery DAC, 2 komparatory i jeden wzmacniacz operacyjny. Nie jest to wprawdzie jeszcze poziom godny wyspecjalizowanych rodzin mixed-signal (nie takie było zresztą założenie przyświecające projektantom serii STM32C5), ale w wielu urządzeniach opisany zestaw peryferiów pozwoli konstruktorowi na rezygnację ze stosowania zewnętrznych układów pomocniczych. A to samo w sobie stanowi silne wsparcie ekonomicznego podejścia do projektowania systemów wbudowanych, tak silnie promowanego przez rodzinę C5.

STM32C551, STM32C552 i STM32C562

Środkowy poziom STM32C5 obejmuje linie C551, C552 i C562. W tej części portfolio pamięć rośnie do 256 lub 512 kB Flash, zaś pojemność SRAM we wszystkich modelach jest jednakowa i wynosi 128 kB. STM32C551 jest wariantem bez FDCAN, STM32C552 dodaje jeden kontroler FDCAN, a STM32C562 rozszerza zestaw również o sprzętowy AES. W praktyce C562 może być najbardziej naturalnym wyborem dla wielu projektów, które potrzebują obszernej pamięci Flash, USB Full-Speed, magistrali CAN FD i podstawowej kryptografii, ale mogą obejść się bez Ethernetu. Do dyspozycji konstruktorów pozostaje też więcej linii GPIO (do 100 w przypadku wariantu LQFP) oraz bogatszy zestaw bloków peryferyjnych, w tym 2 przetworniki ADC.

Wysoką pozycję STM32C562 w nowej rodzinie mikrokontrolerów ST najlepiej potwierdza fakt, że liczne przykłady i warsztaty dotyczące omawianej serii układów są oparte na zestawie ewaluacyjnym STM32 Nucleo-C562RE, zawierającym ten właśnie procesor.

Schemat blokowy układu z serii STM32C562 (źródło: nota katalogowa)

STM32C591, STM32C593 i STM32C5A3

Linie STM32C591 i STM32C593 zbliżają się do klasy bardziej rozbudowanych mikrokontrolerów „komunikacyjnych”. Dostępna pamięć Flash/SRAM wynosi odpowiednio 512…1024 kB i 256 kB, a część analogowa obejmuje 3 przetworniki ADC, jeden DAC i komparator. Pojawiają się również cztery liczniki/timery 32-bitowe, co ułatwia budowę bardziej rozbudowanych sterowników, rejestratorów i urządzeń komunikacyjnych, wymagających np. sterowania niektórymi rodzajami silników.

Największa różnica między wariantami C591 i C593 dotyczy łączności. STM32C591 pozostaje wariantem bez FDCAN i Ethernetu, natomiast STM32C593 dodaje od razu dwa kontrolery FDCAN i Ethernet 10/100 zgodny z normą IEEE 802.3‑2015. W dokumentacji pojawia się także odniesienie do wsparcia dla łącza Single Pair Ethernet, czyli Ethernetu realizowanego po jednej parze przewodów, istotnego zwłaszcza w nowych instalacjach przemysłowych czy infrastrukturach budynkowych. Taki zestaw czyni STM32C593 jednym z najciekawszych wariantów C5 dla modułów I/O, sensorów sieciowych, bramek komunikacyjnych i urządzeń przemysłowych, które mają łączyć CAN FD z Ethernetem.

Najbardziej rozbudowanym przedstawicielem całej rodziny STM32C5 jest układ STM32C5A3. Oferuje on 1 MB Flash, 256 kB SRAM, Ethernet 10/100, dwa kontrolery FDCAN oraz koprocesor AES.

STM32C5 jako poligon doświadczalny dla nowego ekosystemu Cube

STM32C5 jest przełomem również z punktu widzenia narzędzi programistycznych. STMicroelectronics łączy tę rodzinę z nową generacją ekosystemu STM32Cube, obejmującą STM32CubeMX2, HAL2 oraz wtyczkę STM32CubeIDE do Visual Studio Code.

Grafika startowa środowiska STM32CubeMX2

STM32CubeMX2 służy do konfiguracji pinów GPIO, zegarów, peryferiów i bibliotek programowych, przy czym zdecydowanie nie jest to po prostu odświeżona wersja poprzedniego generatora (STM32CubeMX). W istocie mamy do czynienia z całkowicie przebudowanym narzędziem, narzucającym nieco inny styl pracy. Szczególnie widoczną zmianą jest wyraźnie hierarchiczny styl prowadzenia użytkownika przez kolejne etapy konfiguracji, w przeciwieństwie do wcześniejszego interfejsu opartego na prostej tabeli właściwości danego bloku peryferyjnego.

Hierarchiczny widok okna konfiguracji UARTa w STM32CubeMX2 (fot. HardwareDesigner.pl)

Przejście z bibliotek HAL na HAL2 stanowi najistotniejszą zmianę spośród wszystkich nowości w ekosystemie programistycznym STM32, pomimo że na pierwszy rzut oka funkcje biblioteki nie różnią się diametralnie od swoich starszych odpowiedników. W rzeczywistości programiści ST całkowicie przedefiniowali cały system „od środka”. HAL2 nie jest już biblioteką rozwijaną niezależnie od sterowników Low Level (LL), ale opartą w 100% właśnie na nich, co wprost wpływa na szybkość wykonywania operacji. Ponadto ST chwali się lepszą integracją z systemami operacyjnymi czasu rzeczywistego, zmniejszeniem narzutu pamięciowego, a także bardziej modularnym stylem API. Nowe środowisko zostało oparte na CMake i Visual Studio Code, co zwiastuje stopniowe oddalanie się ekosystemu STM32 od klasycznego STM32CubeIDE opartego na leciwym Eclipse.

Główne obszary aplikacyjne

Jak już wspomnieliśmy, użycie STM32C5 warto rozważyć w projektach, w których potrzebna jest wyraźnie większa rezerwa obliczeniowa niż w układach Cortex-M0+, a z drugiej strony nie ma sensownego uzasadnienia dla zastosowania droższych układów typu STM32H5 czy też STM32U5. Oprócz wielokrotnie przywołanych wcześniej przykładów z branży przemysłowej, wśród docelowych zastosowań STM32C5 wymieniane są też urządzenia inteligentnego domu, a także elektronika konsumencka (w tym urządzenia USB HID czy kontrolery gier). Z uwagi na sporą ilość wbudowanej pamięci oraz obecność interfejsu OctoSPI, przeznaczonego do obsługi pamięci zewnętrznych, układy STM32C5 mogą także z powodzeniem obsługiwać nowoczesne, graficzne interfejsy użytkownika, choć rzecz jasna przy rozsądnie dobranej rozdzielczości wyświetlacza.

Podsumowanie

STM32C5 nie jest rodziną efektowną ze względu wyśrubowane parametry. Nie ma tu 250-megahercowego taktowania znanego z H5, nie ma niskomocowego profilu L5/U5, pełnej architektury TrustZone czy też koprocesora do obliczeń neuronowych (jak w STM32N6). Siła nowej serii mikrokontrolerów polega na czym innym: firma ST zbudowała rodzinę opartą na Arm Cortex-M33F, która schodzi bardzo nisko pod względem ceny, a jednocześnie oferuje dużą pamięć, rozbudowane funkcje komunikacyjne i wsparcie algorytmów kryptograficznych wystarczające dla dużej części współczesnych systemów wbudowanych. W praktyce STM32C5 może stać się jedną z najbardziej opłacalnych rodzin STM32 dla nowych projektów głównego nurtu.

Z drugiej strony ST grubą kreską oddzieliło nową rodzinę STM32C5 i jej ekosystem od wcześniejszych serii STM32 oraz dotychczasowych narzędzi. Przedefiniowany został praktycznie cały przepływ pracy, począwszy od wizualnego generatora konfiguracji peryferiów, poprzez biblioteki HAL2, aż po integrację z nowym IDE. Dla osób przywiązanych do starszej generacji narzędzi, takie zderzenie z tyloma nowościami naraz może być dość zaskakujące, jednak zdecydowanie warto na spokojnie poznać całe środowisko – tym bardziej że wszystko wskazuje na to, iż zostanie ono z nami na (bardzo) długo.

Sponsorem artykułu jest firma Masters

Masters jest Oficjalnym Dystrybutorem STMicroelectronics w Polsce, Czechach, Słowacji, Ukrainie i Mołdawii. Współpracujemy nieprzerwanie od 2003 roku. Dowiedz się więcej o produktach, usługach i warsztatach, które wspólnie tworzymy na www.masters.com.pl

Przemysław
Przemysław
Redaktor Naczelny portalu HardwareDesginer.pl. Konstruktor elektronik i programista embedded z ponad 20-letnim doświadczeniem w projektowaniu PCB. Z wykształcenia elektronik medyczny i elektroradiolog, specjalizuje się w projektowaniu i badaniach aparatury medycznej, laboratoryjnej i pomiarowej.

Czytaj więcej

Wybrane dla Ciebie