STM32DISCOVERY: nowa generacja popularnych zestawów startowych
| TechnikaZestawy startowe z serii Discovery z mikrokontrolerami STM32 są dostępne na rynku od wielu lat, spełniając - dzięki starannie zbilansowanemu stosunkowi wyposażenie/cena - rolę popularnych, dobrze wyposażonych narzędzi uruchomieniowych. Do sprzedaży wchodzi ich nowa generacja, z której trzy zestawy przedstawiamy w artykule.
Firma STMicroelectronics wraz z wprowadzeniem do swojej oferty mikrokontrolerów z rdzeniami Cortex-M zalała rynek wieloma modelami zestawów startowych, które ułatwiając i niebagatelnie zmniejszając koszty rozpoczęcia samodzielnych prac - i to nie tylko przez zawodowych konstruktorów - spowodowały szybki wzrost popularności mikrokontrolerów z rodziny STM32. Jedną z pierwszych na rynku rodzin tanich narzędzi startowych z STM32 były zestawy Discovery, z których trzy nowe modele przedstawimy w artykule.
Zestawy z serii STM32DISCOVERY są w ofercie STMicroelectronics narzędziem ze "średniej półki", charakteryzując się lepszym wyposażeniem i większymi możliwościami niż najtańsze zestawy startowe z serii STM32NUCLEO. Charakteryzują się bogatym wyposażeniem pokładowym, które zostało dobrane przez producenta w taki sposób, żeby ułatwić poznanie specyficznych możliwości mikrokontrolerów zastosowanych w zestawach.
Dla użytkowników o większych wymaganiach producent przygotował rodzinę jeszcze lepiej wyposażonych zestawów - STM32EVAL - które są jednak droższe od Discovery, a ich potencjał nie zawsze może być w pełni wykorzystany podczas prac konstrukcyjnych. Tradycją już się stało, że wszystkie zestawy narzędziowe produkowane przez STMicroelectronics - począwszy już od STM32NUCLEO - są wyposażane w programator-debugger ST-Link v2-1, który zazwyczaj umożliwia także programowanie mikrokontrolera za pomocą "chmurowego" środowiska programistycznego mbed.
Pierwszą z prezentowanych nowości jest zestaw STM32F723E-DISCO (fot. 1) wyposażony w mikrokontroler z rdzeniem Cortex-M7, taktowanym sygnałem zegarowym o częstotliwości do 216 MHz. Mikrokontroler osiąga wydajność do 462DMIPS, wyposażono go w pamięć Flash o pojemności 512 kB oraz 256 kB SRAM (w tym 64+16 kB pamięci TCMRAM). Dostępna dla użytkownika pamięć może mieć wygodnie powiększoną pojemność dzięki wbudowanemu w mikrokontroler interfejsowi QSPI, który pozwala mapować dołączoną do niego pamięć w liniowej przestrzeni adresowej.
Zestaw STM32F723E-DISCO wyposażono w wyświetlacz TFT LCD o wymiarach matrycy 240×240 punktów z naklejonym touch-panelem pojemnościowym oraz kodek audio WM8994, do którego dołączono m.in. 4 mikrofony MEMS (MP34DT01), także z oferty STMicroelectronics.
Wspomniany wcześniej interfejs QSPI w prezentowanym zestawie został użyty do obsługi pamięci Flash o pojemności 512 Mb, użytkownicy mogą ponadto wykorzystać 8 Mb zewnętrznej pamięci PSRAM, do której mikrokontroler ma dostęp poprzez interfejs równoległy FMC.
Jedną z nowości wprowadzonych w prezentowanym zestawie jest nowy system złączy, w skład którego wchodzą - poza powszechnie stosowanym Arduino Uno rev3 - także Digilent Pmod oraz nowe złącze o nazwie STMod+. Z myślą o ułatwieniu korzystania z tego ostatniego, do zestawu STM32F723E-DISCO dołączono dodatkową płytkę konwertera złączy, który zapewnia konwersję połączeń na standardy Mikrobus, Grove oraz gold-piny 2,54 mm, dodatkowo wyposażono go w złącze kompatybilne z modułem Wi-Fi ESP-01 (ESP8266).
Pozostałe elementy wyposażenia zestawu są podobne do starszych zestawów Discovery, szczególną uwagę zwraca konsekwentne ograniczanie liczby wbudowanych przycisków do 2 sztuk, z czego jeden służy do zerowania systemu.
Kolejnym nowym zestawem w rodzinie STM32DISCOVERY jest STM-32F413H-DISCO (fot. 2), który wyposażono w mikrokontroler z rdzeniem Cortex-M4F przystosowanym do taktowania sygnałem zegarowym o częstotliwości do 100 MHz. Maksymalna wydajność uzyskiwana przez mikrokontroler wynosi 125 DMIPS, jednym z nowatorskich rozwiązań zastosowanym w nim jest system wspomagając oszczędzanie energii BAM (Batch Acquisition Mode), który w modelach STM32F413xG/H jest dostępny w wersji rozbudowanej eBAM (enhanced BAM).
Wyposażenie zestawu jest STM-32F413H-DISCO jest podobne do wcześniej opisanego STM32F723E-DISCO - zastosowano w nim taki sam wyświetlacz LCD TFT z touch-panelem, wewnętrzną pamięć RAM mikrokontrolera (320 kB) poszerzono za pomocą 8 Mb zewnętrznej pamięci PSRAM, a 1,5 MB wewnętrznej pamięci Flash poszerzono o 128 Mb pamięci QSPI.
Dwa pokładowe mikrofony MEMS, które współpracują z kodekiem audio, można "wzbogacić" o 5 dodatkowych mikrofonów zamontowanych na płytce ekspandera wchodzącego w skład zestawu. Rejestrację danych audio ułatwia możliwość użycia kart SD, dla których producent przewidział złącze na płytce.
Zestaw STM32F413H-DISCO wyposażono w znacznie mniejszą, niż wcześniej opisany, liczbę złączy - poza Arduino Uno rev3 użytkownik nie ma bezpośredniego dostępu do linii GPIO mikrokontrolera, co wynika zapewne z ich niewielkiej liczby dostępnych w obudowie LQFP. Brak dostępnych GPIO w znacznym stopniu jest rekompensowane przez wbudowany moduł Wi-Fi (802.11 b/g/n - ISM43362) - dotychczas stosunkowo rzadko dostępne wyposażenie w zestawach mikrokontrolerowych.
W obydwu dotychczas przedstawionych zestawach firma STMicroelectronics zastosowała nowy standard złącza SWD, nazywany w dokumentacji TAG (fot. 3). Jak widać całe "złącze" to kilka złoconych punktów stykowych na PCB oraz trzy otwory prowadzące. Pomysł wydawać się może świetny, bo nieco obniża koszt wykonania zestawu, ale dzieje się to niestety kosztem użytkownika, który chcąc bezpośrednio programować mikrokontroler lub użyć wbudowanego w zestaw programatora do programowania zewnętrznego mikrokontrolera, musi kupić specjalny kabel połączeniowy o nazwie TC2050-IDC-NL (firma Tag Connect), który kosztuje ponad 40 USD w Stanach Zjednoczonych, co w krajowych warunkach z VAT da zapewne kwotę w okolicach 200 PLN. Dla ścisłości: oszczędność na złączu szpilkowym mogła wynieść co najwyżej kilkanaście groszy... Cóż, nie zawsze "nowość" jest synonimem realnego udoskonalenia.
Trzeci zestaw, którym zajmiemy się w artykule - B-L072Z-LRWAN1 (fot. 4) - swoją budową i wyglądem przypomina starsze rozwiązania stosowane w zestawach STM32DISCOVERY. Jest to jeden z pierwszych na rynku tanich zestawów startowych wyposażonych w moduł komunikacyjny zgodny ze standardem LoRa. "Bohaterem" zestawu jest moduł CMWX1ZZABZ-091 firmy Murata, w którym pracują: mikrokontroler STM32L072CZ (Cortex-M0+) oraz transceiver RF SX1276.
Od strony sprzętowej widać, że twórcy zestawu położyli główny nacisk na demonstrację możliwości systemu komunikacji bezprzewodowej LoRa, minimalizując pokładowe wyposażenie zestawu do czterech LED dla aplikacji użytkownika, tradycyjnych dwóch przycisków, złącza Arduino UNO rev3 oraz podwójnego, 1-rzędowego złącza gold-pin. Standardowym elementem wyposażenia zestawu jest antena na pasmo 868 MHz oraz koszyk na ogniwa lub akumulatory, które można wykorzystać jako źródło zasilania podczas testów zestawu w terenie.
Obsługa protokołu LoRa odbywa się na drodze programowej, w tym celu producent udostępnił pakiet niezbędnego oprogramowania o nazwie I-CUBE-LRWAN, które jest zgodne z STM32CUBE. Oprogramowanie realizujące protokół komunikacyjny jest zgodne z zaleceniami LoRa Alliance (LoRaWAN V1.0.2) July 2016 z możliwością implementacji urządzeń bidirectional end w klasach A i C. Sterowanie pracą modemu można realizować dzięki poleceniom AT+, których obsługa została zaimplementowana w udostępnionym oprogramowaniu. Oprogramowanie jest dostępne bezpłatnie, wymaga jedynie rejestracji na stronie STMicroelectronics.
Jak widać, charakter zestawu B-L0-72Z-LRWAN1 jest zdecydowanie odmienny od dwóch wcześniej opisanych, ale warto zwrócić uwagę na fakt, że dla wszystkich zestawów startowych i ewaluacyjnych inżynierowie STMicroelectronics przygotowali spore pakiety przykładów oraz bibliotek, które w większości przypadków umożliwiają testowanie wszystkich zaimplementowanych elementów ich wyposażenia.
Piotr Zbysiński