Przegląd rodziny mikrokontrolerów STM32
Od chwili wprowadzenia do sprzedaży rodzina mikrokontrolerów STM32 przeszła kilka ewolucji, które odbijały się – zazwyczaj z punku widzenia konstruktorów nieszkodliwie – na nomenklaturze opisującej poszczególne podrodziny. Wprowadzenie do produkcji mikrokontrolerów STM32F3 zachęciło nas do powrotu „do korzeni”, w artykule przedstawiamy rodzinę STM32 w konfiguracji aktualnej na jesieni 2012.
Od chwili pojawienia się na rynku pierwszych mikrokontrolerów rodzina STM32 bardzo się rozrosła, obecnie w jej skład wchodzi kilkaset typów mikrokontrolerów wyposażonych we wszystkie popularne rdzenie Cortex-Mx, także w wersjach o różnych maksymalnych częstotliwościach taktowania, co pozwala precyzyjnie dobrać mikrokontroler do wymogów planowanej docelowej aplikacji (rysunek 1).
Rys. 1. Podział rodziny STM32 w funkcji planowanej wydajności
Mikrokontrolery STM32 są dostępne w szerokiej gamie obudów (rysunek 2), w tym dużej liczbie wariantów łatwych w montażu obudów LQFP.
Rys. 2. Dostępne modele mikrokontrolerów STM32
Na rysunku 3 pokazano uproszczone schematy blokowe wszystkich dostępnych obecnie rodzin mikrokontrolerów STM32, także z uwzględnieniem wyposażenia wspólnego dla wszystkich mikrokontrolerów (lewa część rysunku).
Rys. 3. Schematy blokowe mikrokontrolerów STM32
Programy dla mikrokontrolerów STM32 można pisać wykorzystując komercyjne środowiska projektowe (dostępne także w popularnych wersjach ewalucyjnych): ARM-MDK firmy Keil/ARM, TrueSTUDIO firmy Atollic, Embedded Workbench firmy IAR, CrossWorks firmy Rowley, VX-toolset firmy Tasking (Altium), Ride firmy Raisonance i większości innych pakietów bazujących na kompilatorze ARM-GCC. Producent mikrokontrolerów bezpłatnie udostępnił na swojej stronie biblioteki Standard Peripherals Library oraz pakiety przykładowych programów (projekty przygotowano w większości przypadków równolegle dla 4 środowisk!) dla większości oferowanych zestawów ewaluacyjnych, w tym niezwykle popularnych Discovery.
Rodzina entry-level – STM32F0
Mikrokontrolery STM32F0 są wyposażone w rdzeń Cortex-M0 taktowany z maksymalną częstotliwością 48 MHz. Są to układy przeznaczone do stosowania w aplikacjach okupowanych dotychczas przez mikrokontrolery 8- i 16-bitowe, w których istotne jest zapewnienie niewielkiego poboru mocy, dużej mocy obliczeniowej, a także przenośności oprogramowania w ramach rodziny Cortex-M. Prędkość wykonywania przez mikrokontrolery STM32F0 programu wynosi maksymalnie 38 DMIPS. Wyposażono je we wszystkie standardowe peryferia komunikacyjne, 9 timerów uniwersalnych w tum wyspecjalizowany timer do sterowania silników elektrycznych, 12-bitowe przetworniki ADC i DAC (STM32F051), a także interfejs multimedialny HDMI-CEC (STM32F051). Mikrokontrolery STM32F0 są oferowane w obudowach LQFP48/64 oraz UFQFPN32.
Najważniejsze cechy i parametry mikrokontrolerów STM32F0:
- rdzeń Cortex-M0
- częstotliwość taktowania 48 MHz
- wydajność do 38 DMIPS (do 0,9 DMIPS/MHz)
- napięcie zasilania 1,8/2,0…3,6 V
- 16…128 kB Flash
- 4…12 kB SRAM
- USART do 6 Mb/s
- SPI do 18 Mb/s
- I2C do 1 MHz
- I2S: half-duplex 8…96 kHz
- interfejs HDMI-CEC (tylko w F051)
- wbudowane pojemnościowe czujniki zbliżeniowe do implementacji klawiatur i nastawników bezstykowych (tylko w F051)
- GPIO do 12 MHz
- taktowanie timera MC do 48 MHz
- 12-bitowe ADC
- 12- bitowe DAC (tylko w F051)
Dla konstruktorów zamierzających poznać mikrokontrolery STM32F0 producent opracował tani zestaw ewaluacyjny STM32F0Discovery, oferuje także bardziej rozbudowany zestaw STM320518-EVAL.
Zestaw STM32F0Discovery