Gorące nowości dla fanów STM32: nowe mikrokontrolery, nowy rdzeń (Cortex-M0+), shieldy dla STM32Nucleo, Java dla STM32…

Mikrokontrolery STM32F053 i STM32F334 producent zastosował także w zestawach z serii STM32Nucleo: NUCLEO-L053R8 oraz identycznie wyglądającym NUCLEO-F334R8. Obydwa zestawy są mechanicznie i elektrycznie kompatybilne z systemem Arduino R3, „równolegle″ wyposażono je także w złącza systemu Morpho, na które wyprowadzono wszystkie sygnały GPIO mikrokontrolerów zastosowanych w zestawach. Złącza te zapewniają większą elastyczność niż standardowe złącza Arduino, ale dotychczas nie są ekspandery zgodne z tym standardem.

Wyposażenie tych zestawów jest identyczne ze starszymi modelami Nucleo: są one praktycznie pozbawione zewnętrznych elementów peryferyjnych, ale wyposażono je w programator-debugger ST-Link/V2-1 o funkcjonalności identycznej z interfejsami stosowanymi w nowych modelach Discovery.

Ważną nowością są także pierwsze opracowane przez STMicroelectronics ekspandery zgodne z Arduino, które jest mechanicznie dostosowane do współpracy z zestawami STM32Nucleo.

 

Fot. 3. Wygląd ekspandera dla STM32Nucleo z RFID – SHIELD-M24SR-ADV

 

Pierwszy z nich – o nazwie SHIELD-M24SR-ADV (fotografia 3) – Zestaw wyposażono w nieulotną pamięć EEPROM-NFC z serii M24SR, wyposażoną także w interfejs I2C. Komunikacja z pamięcią jest możliwa przez obydwa interfejsy, radiowy tor NFC (Near Field Communication) można także zastosować do zasilania (energy-harvesting) współpracującego z pamięcią mikrokontrolera. Ekspander wyposażono w antenę RFID wykonaną na PCB, trzy diody LED dla aplikacji użytkownika, a także kompletny system pozyskiwania energii z toru RF.

 

Fot. 4. Wygląd ekspandera Bluetooth 4.0 – X-NUCLEO-IDB04A1 (zastosowano antenę PCB, zewnętrzną można dołączyć za pomocą widocznego na zdjęciu gniazda)

 

Drugi z shieldów oznaczono symbolem X-NUCLEO-IDB04A1 (fotografia 4), 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-NUCLEO-IDB04A1, 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ą nowością na naszym rynku jest kompletny pakiet narzędzi umożliwiających pisanie aplikacji na STM32 w języku Java. Producentem pakietu oprogramowania o nazwie STM32Java jest francuska firma IS2T, której partnerem w naszym kraju jest firma Masters, autoryzowany dystrybutor podzespołów STMicroelectronics. Firma oferuje narzędzia dla programistów (pakiet STM32Java) jak i szkolenia, podczas których są prezentowane praktyczne aspekty ich stosowania. W ramach pakietu programistycznego STM32Java jest dostarczana wirtualna maszyna przystosowana do implementacji w STM32, pakiet bibliotek dla różnych środowisk programistycznych (m.in. IAR Workbench i Keil/ARM mVision) oraz bazujące na Eclipse środowisko dla programisty Java, które jest zorientowaną na mikrokontrolery STM32 wersją pakietu MicroEJ z oferty firmy IS2T. Co interesujące, aplikacje można pisać i testować na symulatorze uruchamianym na PC i następnie łatwo je implementować w mikrokontrolerze (rysunek 5).

 

Rys. 5. Aplikacje tworzone w środowisku STM32Java są pisane na komputerze PC, po zakończeniu testów można je zaimplementować na platformie STM32

 

Podkreślanym przez producenta atutem prezentowanego pakietu jest zorientowanie go na wspomaganie implementacji aplikacji graficznych, co wynika z wyposażenia go w predefiniowane mechanizmy wyświetlania różnego rodzaju grafik (w tym nastawników, mierników różnego typu, wykresów, widgetów, ikon itp.) oraz interakcji z użytkownikiem np. za pomocą touch-panela. Do tworzenia sekwencji przechodzenia menu pakiet wyposażono w narzędzie o nazwie StoryBoard Designer, FrontPanel Designer służy do tworzenia wyglądu interfejsów użytkownika, a Font Designer jest narzędziem umożliwiającym projektowanie skalowalnych fontów.

Czytelnicy zainteresowani pakietem STM32Java znajdą informacje na specjalnej stronie internetowej www.stm32java.com.

Według danych udostępnionych przez producenta zasoby mikrokontrolera wymagane do działania wirtualnej maszyny są niewielkie: wystarczy ok. 30 kB pamięci Flash i 1 kB pamięci SRAM. W przypadku kompletu bibliotek graficznych i zmiennoprzecinkowych konieczne jest ok. 400 kB pamięci Flash i ok. 40 kB pamięci SRAM.

Java w mikrokontrolerach?

Wydawać by się mogło, że uruchamianie na mikrokontrolerach wirtualnej maszyny z interpreterem Javy jest zadaniem nie tylko karkołomnym, ale także pozbawionym sensu. Praktyka pokazała jednak, że duża wydajność mikrokontrolerów STM32 zapewnia wystarczająco szybkie wykonywanie apletów, a niewątpliwe zalety Javy – krótszy niż w „czystym″ C czas tworzenia aplikacji, duża liczba programistów znających ten język, a także łatwość operowania grafiką i fontami – spowodowały duże zainteresowanie narzędziami umożliwiającymi programowanie mikrokontrolerów w tym języku.

Obecnie są dostępne – w sieci dystrybucyjnej STMicroelectronics – dwa zestawy ewaluacyjne z mikrokontrolerami STM32, wyposażone w pakiety STM32Java z 3-miesięcznymi licencjami: STM3220G-JAVA oraz STM3240G-JAVA. Pozwalają one szybko i przy relatywnie niskich kosztach poznać prawdziwe możliwości narzędzia oferowanego przez firmę IS2T.

O autorze