Mikroprocesory od czasu wdrożenia na rynek w latach 70. XX wieku szybko zaczęły zyskiwać na popularności zarówno w elektronice profesjonalnej, jak i konsumenckiej. Konstruktorzy stawiani przed nowymi wyzwaniami projektowali nowe rozwiązania techniczne do mikroprocesorów, nieustannie je udoskonalając. Po dziś dzień układy mikroprocesorowe są jednymi z najczęściej stosowanych wynalazków technologii półprzewodnikowej. Możemy je znaleźć nie tylko w komputerach, ale także w samochodach, samolotach, telefonach, zabawkach, aparaturze pomiarowej, robotach przemysłowych, a nawet w sprzęcie gospodarstwa domowego. Wraz z rozwojem mikroprocesorów każdy może poznać tę tematykę od strony praktycznej oraz tworzyć swoje projekty z wykorzystaniem platformy rozwojowej STM32 od STMicroelectronics – narzędzia, po które chętnie sięgają hobbyści, zawodowi konstruktorzy, a także studenci uczelni technicznych.
Wydajny, energooszczędny – mikroprocesor o wszechstronnym zapleczu sprzętowym
Serce płytki STM32 w postaci jednordzeniowego procesora ARM Cortex-M4F realizuje 32-bitową arytmetykę zmiennoprzecinkową. Poprzez konfigurowanie wewnętrznych rejestrów częstotliwość zegara procesora można zwiększyć. W płytkach rozwojowych STM32 częstotliwość zegara wynosi od 32 MHz do 216 MHz. Zastosowana technologia struktury półprzewodnikowej procesorów STM32 odznacza się niskim poborem energii i wysoką efektywnością. Do przechowywania kodu programu służy wbudowana pamięć FLASH o pojemności 64 kB, a pamięć SRAM o pojemności 16 kB realizuje zawarte w kodzie programu instrukcje. Procesor jest wyposażony także w szereg niezbędnych układów peryferyjnych, takich jak przetwornik analogowo-cyfrowy o 12-bitowej rozdzielczości, który można podłączyć jednocześnie do 16 źródeł sygnałów (takich jak np. napięcia wejściowe nastawialne przez potencjometry czy również napięcia wyjściowe z czujników pomiarowych), a także liczniki – sześć 16-bitowych oraz dwa 32-bitowe, które można zaprogramować tak, aby mogły porównywać dane wejściowe i wyjściowe, a także generować sygnał PWM o zmiennym współczynniku wypełnienia. Ponadto płytki STM32 Discovery zostały wyposażone w takie podzespoły jak diody LED, przyciski, mikrofon elektretowy, żyroskop, akcelerometr, magnetometr, a także przetwornik cyfrowo-analogowy. Dzięki temu użytkownik dostaje od razu dodatki sprzętowe, na podstawie których może poznać ich zasadę działania z uwzględnieniem korelacji z kodem programu. Firma STMicroelectronics udostępnia użytkownikom wiele bibliotek wraz z przykładowymi kodami programów, które można pobrać i wgrać do pamięci na płytce z mikrokontrolerem STM32.
Szeroki wybór protokołów komunikacyjnych
Komunikacja płytek STM32 z osprzętem zewnętrznym może odbywać się na kilka sposobów, tj. poprzez interfejs I2C, trzy interfejsy UART o przepustowości 10 Mbit/s, a także poprzez cztery interfejsy SPI o przepustowości 42 Mbit/s. Natomiast porty GPIO można podobnie jak w innych platformach embedded (np. Raspberry Pi) skonfigurować programowo zarówno jako wejścia, jak i wyjścia, które mogą bezpiecznie pracować na napięciach o poziomie TTL (5 V) bez ryzyka uszkodzenia pokładowych obwodów. Do programowania płytki użyto wbudowanego modułu programatora ST-LINK z debuggerem i kompilatorem, który wykorzystuje protokół transmisji szeregowej SWD. W odróżnieniu od popularnego w modułach i programatorach AVR standardu JTAG wymagającego dziesięciu przewodów protokół w standardzie SWD wymaga do transmisji danych zaledwie czterech przewodów. Ponadto płytki STM32 mają wbudowany zegar RTC z funkcją kalendarza oraz port USB 2.0, dzięki któremu płytka może pełnić funkcję komputera komunikującego się z zewnętrznymi urządzeniami USB, a także na odwrót.
Programowanie płytek STM32
W odróżnieniu od środowiska Arduino IDE, programowanie procesorów STM32 jest trochę bardziej złożonym zagadnieniem. Oprogramowanie dla Arduino i STM32 korzysta ze składni języka C, ale proces kompilowania kodu źródłowego przebiega w inny sposób. W związku z tym kod programu napisany w środowisku Arduino IDE na mikrokontroler AVR, który użytkownik będzie chciał wykorzystać przy użyciu płytki STM32 Nucleo lub STM32 Discovery będzie wymagał delikatnej edycji. Szczególnie wyróżniającymi się zaletami rodziny 32-bitowych procesorów ARM Cortex jest możliwość programowania w środowisku programistycznym w przeglądarce internetu, a także dostęp do bibliotek HAL i CUBE od producenta, które dzięki interfejsowi graficznemu znacząco ułatwiają i przyspieszają proces tworzenia aplikacji łącznie z bogatymi opcjami konfigurowania układów peryferyjnych mikroprocesora