Programatory/debuggery
Jeszcze do niedawna zadania programatorów/debuggerów sprzętowych ograniczały się zwykle do zapisywania i odczytywania pamięci Flash mikrokontrolera oraz (w przypadku bardziej zaawansowanych rodzin procesorów, w tym ARM) do monitorowania oraz modyfikacji zawartości rejestrów i zmiennych. Dziś producenci narzędzi dla programistów coraz częściej integrują w nich szereg funkcji dodatkowych, znakomicie zwiększających użyteczność. Jako przykład warto tutaj wymienić programatory ST-Link zintegrowane z płytkami ewaluacyjnymi z serii STM32 Nucleo. Przykładowo – płytka NUCLEO-F439ZI zawiera (w „górnej” części, połączonej z głównym modułem za pomocą trzech wyłamywalnych łączników – fotografia 1) nowoczesny interfejs programistyczny typu STLINK/V2-1, STLINK-V3E lub STLINK-V3EC. Oprócz standardowego programowania i debugowania, umożliwia on także komunikację w trybie wirtualnego portu szeregowego – jeden z bloków USART głównego procesora STM32F439ZI jest sprzężony z mikrokontrolerem zawiadującym pracą interfejsu, co po odpowiedniej konfiguracji umożliwia przesył danych do/z procesora, bez konieczności stosowania zewnętrznego konwertera USB-UART.
Jeszcze ciekawsze rozwiązania konstrukcyjne zastosowała firma ST Microelectronics w opracowanym przez siebie urządzeniu STLINK-V3PWR (fotografia 2). Narzędzie, oprócz pełnienia funkcji programatora/debuggera, może także odgrywać rolę źródła mierzącego (SMU – source measurement unit), przeznaczonego do badania i profilowania poboru mocy układów energooszczędnych, np. czujników IoT czy urządzeń noszonych. Pomimo kompaktowych rozmiarów, narzędzie pozwala na zasilanie docelowego urządzenia napięciem w zakresie od 1,6 V do 3,6 V, przy poborze prądu nieprzekraczającym 500 mA (zabezpieczenie OCP jest ustawione na 550 mA).
Co ważne, programowalna częstotliwość próbkowania może wynosić od 1 Sps do 100 kSps, przy czym zakres dynamiki pomiaru prądu jest niebywale szeroki – mierzalne są już natężenia na poziomie kilku nanoamperów, a górna granica zakresu jest równa 500 mA. Przyrząd oferuje interfejsy JTAG oraz SWD (Serial Wire Debug), wspiera ponadto komunikację przez port wirtualny (VCP). Mało tego – producent udostępnił nawet… wbudowany mostek USB – SPI/I²C/CAN/GPIO, dzięki czemu użytkownicy mogą jeszcze łatwiej debuggować swoje projekty poprzez bezpośredni dostęp do warstwy fizycznej lokalnych interfejsów szeregowych. Warto dodać, że – jak zawsze w przypadku narzędzi deweloperskich ze stajni ST – także i w tym przypadku sprzęt ma pełne wsparcie ze strony IDE. Jednostka SMU sprawnie współpracuje bowiem z oprogramowaniem STM32CubeMonitor-Power (rysunek 1), pozwalając na wygodne prowadzenie akwizycji oraz zapisywanie danych pomiarowych, rejestrowanych przy określonych przez użytkownika parametrach zasilania i wyzwalania.
Inne ciekawe rozwiązanie opracowała – doskonale znana na rynku narzędzi dla programistów embedded – firma MikroElektronika. Niewielkie urządzenie o nazwie UNI CODEGRIP (fotografia 3) to w pełni bezprzewodowy, uniwersalny programator/debugger przeznaczony do użycia z mikrokontrolerami STM32, Kinetis, TIVA, CEC, MSP, PIC, dsPIC, PIC32, AVR oraz GD32, co daje łącznie ponad 2700 modeli obsługiwanych układów(!). Komunikację z komputerem zapewnia wbudowany moduł Wi-Fi, choć nic nie stoi na przeszkodzie, by skorzystać z konwencjonalnego, przewodowego połączenia przez USB-C. Producent oferuje także szereg kompatybilnych z urządzeniem adapterów, pozwalających na podłączenie programatora/debuggera do różnych urządzeń docelowych.
Platformy do prototypowania modułowego
Sporym zainteresowaniem inżynierów cieszą się rozmaite platformy sprzętowe, przeznaczone do budowy prototypów systemów embedded przy pomocy łatwych w użyciu modułów czujnikowych, komunikacyjnych i wykonawczych, łączonych ze wspólną płytą bazową. Choć opis ten wielu osobom skojarzy się zapewne w pierwszej chwili z popularnymi płytkami Arduino oraz nakładkami Arduino Shield, to w zastosowaniach komercyjnych na prowadzenie wysuwa się znów firma MikroElektronika.
Opracowany przez nią otwarty standard mikroBUS (rysunki 2 i 3) stanowi fundament potężnego ekosystemu deweloperskiego, zawierającego obecnie przeszło 1500 modułów Click board (fotografia 4) oraz szeroki wachlarz płyt bazowych.
Do tych ostatnich zaliczyć można zarówno rozbudowane płyty nieco starszej, 7. generacji (fotografia 5), jak i ultra-nowoczesne, w pełni profesjonalne zestawy ewaluacyjne 8. generacji (fotografia 6).
Te ostatnie można już określić mianem „klasy luksusowej” – doskonałe wyposażenie w postaci bogatego zestawu bloków peryferyjnych, przycisków, złączy komunikacyjnych oraz slotów pod moduły rozszerzeń, zostało bowiem uzupełnione przez szereg konstrukcyjnych „smaczków”.
Zintegrowany programator/debugger Wi-Fi, a także moduł pełniący funkcję zasilacza UPS, są ukryte pod specjalnymi osłonami (fotografia 7), zaś wygodną pracę z płytą umożliwia system zintegrowanych podpórek (fotografia 8).
Elastyczność aplikacyjną zapewnia system wymiennych kart z różnymi typami mikrokontrolerów, łączonych z płytą bazową przy pomocy złączy typu Mezzanine.
Konstruktorzy poszukujący prostszego, budżetowego narzędzia, także zapewniającego wygodny dostęp do linii GPIO oraz możliwość rozszerzania systemu o dodatkowe moduły, mogą skorzystać z oferty marki Waveshare.
Opracowany przez nią ekosystem STM32 Open składa się z płyt bazowych z wymiennymi modułami „procesorowymi” (fotografia 9) oraz całkiem obszernej serii modułów dodatkowych, wpinanych w odpowiednie gniazda na brzegach płytki (fotografia 10).
Firma oferuje nie tylko płyty bazowe, moduły z mikrokontrolerami oraz płytki rozszerzeń, ale także rozmaite modele wysokiej jakości wyświetlaczy graficznych, zaś całość uzupełniają repozytoria typu wiki, w których znajdują się liczne programy przykładowe, biblioteki oraz tutoriale ułatwiające rozpoczęcie pracy z ekosystemem Waveshare.
Podsumowanie
W artykule zaprezentowaliśmy kilka wybranych narzędzi przydatnych programistom i konstruktorom systemów embedded. Własne konstrukcje zestawów ewaluacyjnych, programatorów/debuggerów oraz rozmaitych narzędzi pomocniczych ma w swojej ofercie każdy producent mikrokontrolerów, zaś całości dopełniają uniwersalne platformy prototypowe, oferowane przez partnerów półprzewodnikowych potentatów – oraz rozmaite firmy niezależne. Warto zatem śledzić ten dynamiczny segment rynku, gdyż odpowiedni dobór narzędzi sprzętowych może niebywale poprawić komfort pracy, skrócić czas budowy prototypu, a w efekcie – przyspieszyć wprowadzenie produktu na rynek.
inż. Przemysław Musz, EP