Zestawy startowe i ewaluacyjne dla mikrokontrolerów STM32
| Prezentacje firmowe ArtykułyJednym z elementów budujących popularność mikrokontrolerów STM32 były i są tanie i łatwo dostępne zestawy startowe i ewaluacyjne oraz inne narzędzia, których ofertę producent konsekwentnie poszerza. Fundamentem tej części oferty są doskonale znane DISCOVERY, które - jak można się spodziewać - będą w niektórych zastosowaniach wypierane przez coraz bardziej popularne zestawy NUCLEO. W artykule przedstawiamy cechy, wyposażenie i możliwości zestawów startowych i ewaluacyjnych firmy STMicroelectronics.
Potencjał rynkowy szerokich rzesz niewielkich klientów jest zazwyczaj skrzętnie ignorowany przez duże firmy półprzewodnikowe, co skutkuje niewielką popularnością oferowanych przez nie rozwiązań. Firma STMicroelectronics wprowadzając do sprzedaży mikrokontrolery STM32 przyjęła inną strategię, która okazała się skuteczna i zaowocowała niebywałym sukcesem: są to obecnie bez wątpienia najbardziej popularne mikrokontrolery i to nie tylko w naszym kraju.
Strategia promocyjna firmy polegała na udostępnieniu konstruktorom naprawdę tanich narzędzi, zarówno programatora-debuggera JTAG/SWD (ST-Link i jego kolejne generacje), jak i wielu rodzajów zestawów startowych i ewaluacyjnych, które pokrótce przedstawimy w artykule. Zaczniemy od najtańszych i najnowszych w ofercie produkcyjnej - zestawów z serii NUCLEO.
Rodzina STM32NUCLEO
Zestawy STM32NUCLEO miały światową premierę w lutym 2014 roku podczas norymberskich targów Embedded World. Ich producent dostrzegł potencjał systemu Arduino, dlatego zestawy STM32NUCLEO są z nim mechanicznie i elektrycznie zgodne. Ze względu na zastosowanie w NUCLEO mikrokontrolerów o liczbie wyprowadzeń znacznie przewyższającej standardowe rozwiązania Arduino (LQFP64), konstruktorzy zestawów zastosowali dodatkowe złącza szpilkowe, na które wyprowadzono wszystkie linie GPIO mikrokontrolera oraz sygnały pomocnicze. Ten alternatywny system złącz nazwano Morpho, umożliwia on wykorzystanie całego potencjału mikrokontrolerów zastosowanych w zestawach.
Wygląd zestawu STM32NUCLEO z mikrokontrolerem STM32F030 pokazano na fot. 1. Obecnie dostępne są wersje tych zestawów wyposażone w modele mikrokontrolerów STM32 ze wszystkimi wersjami rdzeni (Cortex-M0, Cortex-M0+, Cortex-M3 i Cortex-M4F), pochodzącymi ze wszystkich podstawowych podrodzin, w tym także STM32L.
Niezależnie od typu zastosowanego mikrokontrolera, wszystkie wersje zestawów STM32NUCLEO wyglądają tak samo i mają takie same - skromne - wyposażenie. Użytkownik ma do dyspozycji jeden mikroswitch i jedną LED, pozostałe elementy interfejsu użytkownika (2×LED i mikroswitch) spełniają funkcje zdefiniowane przez producenta.
Integralną częścią wyposażenia zestawów STM32NUCLEO jest programator-debugger JTAG/SWD, który jest zgodny z interfejsem ST-Link/v2-1. Jego firmware realizuje - poza obsługą programatora i debuggera także funkcję wirtualnego COM-a, umożliwiającego wygodną komunikację mikrokontrolera z terminalem lub aplikacją działającą na PC, bez konieczności stosowania dodatkowych interfejsów, konwerterów itp.
Programatory-debuggery niektórych wersji STM32NUCLEO producent wyposażył w dodatkowy tryb pracy interfejsu USB: mikrokontroler programatora może emulować tryb pracy mass-storage, który służy do obsługi programowania pamięci Flash z poziomu zdalnego środowiska programistycznego mbed.
Jak widać, standardowe wyposażenie zestawów STM32NUCLEO nie jest bogate, ale dzięki zgodności ze standardem Arduino użytkownicy mogą korzystać z zasobów sprzętowych tego systemu, którego możliwości ogranicza obecnie wyłącznie wyobraźnia użytkownika. Firma STMicroelectronics przygotowuje własne ekspandery dla NUCLEO (na fot. 2 pokazano jeden z dostępnych - X-NUCLEONFC01 do testowania aplikacji NFC/RFID), zorientowane przede wszystkim na prezentację możliwości podzespołów oferowanych przez tę firmę.
Rodzina DISCOVERY
Starszą od NUCLEO rodziną tanich zestawów startowych są płytki DISCOVERY, których pierwsze modele pojawiły się na rynku niemal jednocześnie z pierwszymi mikrokontrolerami STM32. Obecnie dostępnych jest wiele typów zestawów z tej serii, charakteryzujących się odmiennym, lecz bogatym, wyposażeniem, które dobrano w taki sposób, żeby pokazać najważniejsze cechy lub optymalne obszary aplikacyjne zastosowanych mikrokontrolerów. Przykładowo:
- zestaw STM32F429I-DISCO (fot. 3) jest przykładem implementacji zaawansowanego systemu graficznego z mikrokontrolerem STM32F429 oraz kolorowym wyświetlaczem LCD-TFT, touch panelem oraz zewnętrzna pamięcią SDRAM, obsługiwane przez interfejsy i kontrolery wbudowane w mikrokontroler,
- zestaw STM32F401C-DISCO (fot. 4) jest przykładem systemu cyfrowego audio, wykonanym na mikrokontrolerze STM32F401, wyposażonym w mikrofon MEMS, przetwornik C/A, wyjściowy tor analogowy oraz sensory MEMS, które można wykorzystać we własnych eksperymentach,
- zestaw STM32L0538-DISCO (fot. 5) to z kolei przykład systemu energooszczędnego, wykonanego na mikrokontrolerze z rdzeniem Cortex-M0+, który za pomocą aplikacji demonstracyjnej obsługuje wyświetlacz e-paper i monitoruje natężenie prądu pobieranego w różnych trybach pracy przez CPU.
Pokazane przykłady ilustrują zaledwie część możliwości oferowanych użytkownikom przez zestawy DISCOVERY, których obecnie jest dostępnych aż 9 typów. Wspólnym elementem ich wyposażenia jest wbudowany programator-debugger ST-Link/v2, pozostałe elementy wyposażenia są charakterystyczne dla konkretnych zestawów, są to m.in. sensory kompasowe, sterowniki LED średniej mocy, nastawniki i klawiatury zbliżeniowe czy monochromatyczny wyświetlacz LCD.
Wszystkie zestawy z serii DISCOVERY wyposażono także w złącza szpilkowe gold-pin, na które wyprowadzono linie GPIO mikrokontrolerów, linie zasilające oraz sygnały pomocnicze. Niestety rozmieszczenie fizyczne tych złączy i przypisanie sygnałów do poszczególnych szpilek nie są jednolite we wszystkich zestawach, w związku z czym nie powstała wokół nich infrastruktura ekspanderów funkcjonalnych jak w przypadku Arduino, do każdego zestawu konieczne jest budowanie dedykowanych rozwiązań lub trzeba korzystać z ekspanderów uniwersalnych.
Zestawy DISCOVERY, podobnie do NUCLEO, charakteryzują się niskimi cenami, ułatwiając szybkie i tanie rozpoczęcie prac z mikrokontrolerami STM32.
EVAL
Historycznie najstarszą serią zestawów narzędziowych dla mikrokontrolerów STM32 jest seria EVAL (np. STM3240GEVAL - fot. 6), które charakteryzują się bogatym wyposażeniem, pozwalającym kompleksowo testować możliwości mikrokontrolerów i są przeznaczone do prowadzenia prac badawczych w profesjonalnych laboratoriach R&D.
Przykładem wyspecjalizowanego wyposażenia zestawu EVAL, które ma na celu umożliwienie szybkiej ewaluacji mikrokontrolera przez konstruktorów jest m.in. zestaw STM32373C-EVAL (fot. 7), który - poza wieloma standardowymi elementami - wyposażono w analogowy tor wejściowy oraz złocone elektrody do uproszczonego pomiaru EKG. Standardowym elementem wyposażenia zestawów EVAL jest programator-debugger ST-Link, za pomocą którego można programować pamięć Flash mikrokontrolera, debugować przygotowywany program i monitorować jego pracę.
Firma STMicroelectronics oferuje obecnie kilkanaście typów zestawów EVAL oraz specjalistycznych ekspanderów dla nich, jak na przykład: STM32100B-MCKIT do projektowania i testowania aplikacji "silnikowych", aplikacji IoT (STM32429I-EVAL) czy zestaw narzędzi do tworzenia aplikacji w Javie (np. STM3220GJAVA - fot. 8).
Wyposażenie i ukierunkowanie aplikacyjne zestawów EVAL powoduje, że są one znacznie droższe niż narzędzia wcześniej opisane, warto jednak wziąć pod uwagę, że z zestawami są często dostarczane elementy (m.in. biblioteki programistyczne) oferowane wyłącznie jako integralny element zestawu.
Nie tylko sprzęt
Firma STMicroelectronics rozwija od pewnego czasu bezpłatne narzędzia dla programistów korzystających z tanich platform sprzętowych - przede wszystkim NUCLEO. Chodzi o coraz bardziej popularny pakiet graficznego konfiguratora mikrokontrolerów STM32 o nazwie STM32CubeMX (rys. 9) oraz wspomagające tworzenie aplikacji na te mikrokontrolery pakiety bibliotek STM32CubeFx/Lx, w skład których wchodzą: drivery do sprzętu z interfejsem HAL, system plików, prosty RTOS, biblioteki Touch Sensing oraz podstawowe biblioteki z procedurami graficznymi. Biblioteki STM32CubeFx/Lx są dostępne w pakietach dla poszczególnych rodzin mikrokontrolerów (np. dla STM32L0 - STM32CubeL0).
Jak widać z tego krótkiego przeglądu, wybór narzędzi dla konstruktorów korzystających z mikrokontrolerów STM32 jest szeroki, wyraźnie wchodzą one w okres dojrzały: zarówno wyposażenie poszczególnych podrodzin mikrokontrolerów jak i biblioteki wspierające programistów poukładano w przejrzysty, wygodny sposób. Czy są jakieś argumenty przeciw?
Piotr Zbysiński
STMicroelectronics
www.st.com