Konstruktorzy zestawów NUCLEO zadanie mieli proste: polegało na opracowaniu prostego pod względem budowy, zgodnego ze standardem Arduino i przy tym taniego zestawu uruchomieniowego. Różnorodność wydajności obliczeniowej i możliwości oferowanych użytkownikom przy jednoczesnym obniżeniu kosztów produkcji producent uzyskał dzięki zastosowaniu mikrokontrolerów pochodzących z różnych podrodzin (wyposażonych w różne rdzenie, od Cortex-M0 do Cortex-M4F), ale montowanych w jednakowych obudowach (LQFP64).
Zabieg ten spowodował, że płytki drukowane zestawów STM32NUCLEO (fot. 1) wyglądają tak samo, niezależnie od typu zastosowanego mikrokontrolera. Ujednolicenie sprzętu przez producenta ułatwia użytkownikom - w razie takiej potrzeby - wymianę mikrokontrolera w testowanej aplikacji na inny typ, co jest o tyle istotne, że dostępnych jest obecnie aż 9 typów zestawów NUCLEO z mikrokontrolerami pochodzącymi ze wszystkich rodzin STM32 (zestawiono je w tabeli 1).
Atrakcyjność prezentowanych zestawów zwiększa fakt, że są one od strony mechanicznej i elektrycznej zgodne z systemem Arduino R3, dodatkowo niektóre modele są obsługiwane jako natywne platformy przez internetowe środowisko programistyczne mbed.
Wyposażenie pokładowe prezentowanych zestawów jest dość skromne - są one praktycznie pozbawione zewnętrznych elementów peryferyjnych, nie licząc jednego przycisku i jednej LED do dyspozycji użytkownika - ale wyposażono je w programator-debugger ST-Link/V2-1 o funkcjonalności identycznej z programatoramidebuggerami stosowanymi w nowych modelach Discovery. Interfejs ST-Link/V2-1 jest przystosowany do pracy jako jedno z trzech urządzeń USB: programator-debugger JTAG, pamięć masowa (USB Mass Storage) lub wirtualny port COM (vCOM).
Ponieważ złącze systemowe Arduino R3 zawiera niewiele linii sygnałowych - w przeciwieństwie do mikrokontrolerów stosowanych w zestawach STM32NUCLEO, które wyposażono w dużą liczbę linii GPIO - producent zastosował alternatywny zestaw złączy o nawie Morpho (widoczne na fot. 1 dwurzędowe męskie gold-piny). Zapewniają one większą elastyczność niż Arduino R3, ale dotychczas nie są dostępne ekspandery zgodne z tym standardem.
Prezentowane zestawy są przystosowane do zasilania z wielu różnych źródeł, w tym m.in. z interfejsu USB programatora, a także z zewnętrznego źródła o napięciu 7...12 VDC.
Nowością w ofercie producenta są także ekspandery zgodne z Arduino, opracowane przez STMicroelectronics, które są dostosowane do współpracy z zestawami STM32NUCLEO.
Pierwszy z nich - o nazwie X-NUCLEO-NFC01A1 (fot. 2) - wyposażono w nieulotną pamięć EEPROM-NFC z serii M24SR (zgodną z NFC Forum Tag Type 4). Pamięć ta jest wyposażona w dwa interfejsy komunikacyjne: standardowy, przewodowy interfejs I²C oraz bezprzewodowy interfejs radiowy, zgodny ze standardem NFC (Near Field Communication), który pracuje w paśmie radiowym 13,56 MHz. Ekspander wyposażono w antenę przystosowana do komunikacji RFID wykonaną na PCB, która zapewnia wymianę danych pomiędzy pamięcią M24SR i smartfonem lub czytnikiem NFC/RFID oraz trzy diody LED do wykorzystania w aplikacji użytkownika.
Drugą nowość oznaczono symbolem X-NUCLEO-IDB04A1 (fot. 3), jest to moduł interfejsu Bluetooth 4.0, który komunikuje się z otoczeniem za pomocą synchronicznego interfejsu szeregowego SPI. Tor radiowy obsługuje nowoczesny procesor Bluetooth firmy STMicroelectronics o nazwie BlueNRG.
Prezentowany moduł wyposażono także w szybką pamięć EEPROM z SPI - M95640. Producent przygotował framework dla modułu X-NUCLEOIDB04A1, który jest dostępny w ramach pakietu STM32CubeF4 (dla mikrokontrolerów STM32F4), dostępne są także przykładowe aplikacje demonstrujące możliwości nowoczesnych interfejsów Bluetooth.
Kolejną "ekspanderową" nowością są zestawy oznaczone symbolem X-NUCLEO-IHM01A1 (fot. 4), które wyposażono w inteligentny sterownik bipolarnych silników krokowych L6474. Jest to układ przystosowany do sterowania silnikami zasilanymi napięciami od 8 do 45 V i o maksymalnym prądzie fazy do 3 ARMS.
Napięcia wyjściowe sterowników mocy są monitorowane za pomocą 4 LED, dwie kolejne diody świecące sygnalizują: poprawne zasilanie interfejsu oraz wystąpienie błędu (np. zbyt wysoką temperaturę struktury sterownika, nieprawidłowy kod polecenia, utratę kroku, zbyt niskie napięcie zasilania itp.). Sterownik L6474 wyposażono w interfejs SPI, za pomocą którego zewnętrzny mikrokontroler może konfigurować parametry jego pracy. Sposób dołączenia linii I/O oraz SPI sterownika do wyprowadzeń mikrokontrolera użytkownik może w pewnym zakresie samodzielnie zmieniać, co wymaga przelutowania zwor SMD na płytce zestawu.
Producent zapowiada wprowadzenie do sprzedaży także ekspandera X-NUCLEO-IKP01A (fot. 5), którego sercem jest optyczny sensor gestów i odległości VL6180 (z oferty STMicroelectronics). Przykładowa aplikacja dla tego ekspandera, przygotowana na zestaw NUCLEO-F401RE, umożliwia wykorzystanie go do pomiaru odległości ręki lub innego obiektu od sensora, alternatywnie także do pomiaru natężenia oświetlenia. Wyniki pomiarów są wyświetlane na 4-pozycyjnym, 7-segmentowym wyświetlaczu LED. Aplikacja demonstracyjna potrafitakże wykrywać i obsługiwać proste gesty.
Dla zestawów przedstawionych w artykule firma STMicroelectronics przygotowała wsparcie programowe w postaci np. bibliotek HAL (Hardware Abstraction Layer), bibliotek do obsługi FAT, USB, TCP/IP, przykładowych aplikacji demonstrujących możliwości układów, a także aplikacji pakietu konfigurującego STM32CubeMX. Udostępnione oprogramowanie ułatwia konstruktorom zainteresowanym podjęciem samodzielnych prób szybkie i pozbawione podstawowych problemów rozpoczęcie pracy z mikrokontrolerami STM32.
Piotr Zbysiński