Premiera najnowszej rodziny mikrokontrolerów ST – STM32C5 – skłoniła mnie do zwrócenia uwagi na zmiany, jakie zaszły w designie niezwykle popularnych płytek ewaluacyjnych z rodziny Nucleo. Choć na pierwszy rzut oka podobieństwo nowych zestawów do ich poprzedników z procesorami STM32F0, F3, F4, G0 czy L4 jest bardzo duże, to już po chwili w oczy rzucają się istotne zmiany.
Firma STMicroelectronics od lat promuje swoje mikrokontrolery z rodziny STM32 za pomocą systematycznie rozszerzanej rodziny płytek ewaluacyjnych Nucleo. W istocie ta linia produktów składa się z trzech podgrup: Nucleo-32, Nucleo-64 i Nucleo-144. Pierwsza z nich wymiarami i konstrukcją przypomina nieco Arduino Nano, zaś dwie kolejne można byłoby „na siłę” powiązać z, odpowiednio, Arduino Uno i Arduino Mega. I nie chodzi mi tutaj nawet o złącza zgodne z systemem modułowym włoskiego producenta (które istotnie znalazły się w wersjach Nucleo-64 i Nucleo-144, co umożliwia wykorzystanie niektórych shieldów Arduino), ale o koncepcję, w myśl której wersja najwyższa stanowi de facto rozszerzenie (a raczej wydłużenie) płytki średniej. Wraz ze wzrostem liczby pinów mikrokontrolera zwiększa się jednak nie tylko liczba złączy rastrowych udostępniających piny MCU, ale także funkcjonalność zestawów. Przykładowo, wiele modułów Nucleo-144 otrzymuje nie tylko dodatkowe gniazdo USB (aplikacyjne), ale także port Ethernet.
ST dąży do unifikacji zestawów, czego wyrazem były od dawna próby tworzenia wspólnej części dokumentacji dla wszystkich płytek z danej grupy wymiarowej. Nie jest to bynajmniej zadanie łatwe, zważywszy na ogromną różnorodność portfolio mikrokontrolerów STM32, ale do tej pory zdecydowana większość płytek z serii Nucleo-64 (bo na tych chcę się skupić w tym artykule) była do siebie wręcz łudząco podobna. Większe zmiany konstrukcyjne i funkcjonalne przyszły dopiero w najnowszych zestawach ewaluacyjnych, a zwróciłem na nie szczególną uwagę, zapoznając się z zestawem na bazie mikrokontrolera STM32C562RE.

Nowocześniejsze komponenty, lepszy design i solidne zabezpieczenia
Jedną z bardziej oczywistych zmian jest przejście ze starszych gniazd mini USB na USB-C. I to nie byle jakie, bo marki Amphenol (podobnie jak drugie gniazdo USB-C, przeznaczone do obsługi interfejsu USB głównego mikrokontrolera). W nowej płytce Nucleo-64 inżynierowie ST ewidentnie zadbali o niezawodność także pod innymi względami. Choć starsze płytki z tej serii można było eksploatować naprawdę intensywnie bez żadnego uszkodzenia (a piszę to z wieloletniego doświadczenia), to w projekcie nowego Nucleo pojawił się szereg zabezpieczeń, których próżno szukać w miażdżącej większości innych zestawów ewaluacyjnych dostępnych na rynku. Każdy z przycisków otrzymał swoją własną, mikroskopijną diodę TVS.
Obydwa gniazda USB zabezpieczono za pomocą zintegrowanych filtrów trybu wspólnego (CM) z wbudowanymi transilami (ECMF2-40A100N6). Ochronniki przeciwprzepięciowe umieszczono oczywiście także w obwodzie interfejsu FDCAN. Jakby tego było mało, konstruktorzy nowego zestawu zastosowali na płytce dwa elektroniczne bezpieczniki na bazie układów STEF05SGR i TPS259535DSG, współpracujących z obydwoma gniazdami USB-C. Nowością jest zastosowanie dodatkowego, trzeciego przycisku obsługującego linię BOOT – rozwiązanie takie jest oczywiście dalece bardziej atrakcyjne i wygodne niż użycie zworki.
Wisienką na torcie jest zrewidowany layout 4-warstwowej płytki drukowanej, z bardziej estetyczną warstwą opisową i przemyślanym układem mostków lutowniczych. W przeciwieństwie do starszych wersji Nucleo-64, w tym przypadku wszystkie zworki domyślnie zamknięte znalazły się na górnej stronie PCB, zaś od spodu umieszczono wyłącznie mostki fabrycznie rozwarte. Taki układ diametralnie ułatwia nawigowanie po płytce i wprowadzanie modyfikacji (dawniej jakakolwiek dokonana przez użytkownika zmiana gubiła się w gąszczu zworek umieszczonych raczej dość losowo, tutaj natomiast wszystko jest widoczne jak na dłoni).
Warto także dodać, że producent umieścił na płytce rozbudowaną sekcję przeznaczoną do selekcji źródła napięcia zasilającego. Na bazie listwy typu goldpin, wyposażonej w zworkę, powstał 4-pozycyjny przełącznik, pozwalający na wybranie: jednego z dwóch gniazd USB-C, pinu VIN lub linii EXT. Warto też podkreślić, że dioda LED podłączona do linii PA5 nie jest już bezpośrednio „zawieszona” na wyprowadzeniu procesora, ale buforowana przez tranzystor MOSFET – to ukłon w stronę użytkowników, którzy zechcą wykorzystać piąty pin portu GPIOA do innych celów (np. w roli wejścia ADC bądź komparatora).
Nowy STLINK i… koniec Nucleo w roli debuggera
Zdecydowanie największą zmianą w projekcie nowego STM32 Nucleo jest zastąpienie starszego programatora/debuggera ST-LINK/V2 nowym, wydajnym STLINK-V3. O różnicach pomiędzy wersjami debuggerów pisaliśmy już w tym artykule, dlatego tutaj skupimy się na szczegółach implementacji interfejsu w zestawie Nucleo-64 z układem STM32C562.
Po pierwsze – i to jest mój jedyny zarzut do nowego zestawu – zrezygnowano całkowicie ze złącza umożliwiającego programowanie zewnętrznych układów za pomocą wbudowanego debuggera. Dawniej służyła do tego celu 6-pinowa listwa goldpin, umieszczona po lewej stronie płytki i muszę przyznać, że korzystałem z tego rozwiązania bardzo często. Teraz wprawdzie także umieszczono na płytce złącze SWD, ale… jest to tylko wejście pozwalające podłączyć zewnętrzny debugger do głównego mikrokontrolera. Nucleo nie może więc pełnić funkcji podręcznego programatora. Warto też dodać, że – zgodnie ze schematem blokowym zamieszczonym w dokumentacji – nowe Nucleo ma port VCP podłączony bezpośrednio do procesora, ale… już nie do złącza debuggera, gdyż zamiast STDC14 zastosowano tutaj MIPI10, które omija piny RX i TX STLINK-a (choć skrajne pady istotnie są połączone z UART’em). Złącze MIPI10 należy zatem traktować raczej jako awaryjną alternatywę, niż element użyteczny w codziennej pracy z płytką.

Podsumowanie
Muszę uczciwie przyznać, że – pomijając fakt usunięcia z projektu Nucleo-64 mojego ulubionego złącza debuggera (dawnego CN4) – uważam nowy evalboard od ST za bardzo udany, przemyślany i solidnie opracowany zestaw ewaluacyjny. Przegląd schematu ideowego pokazuje dobitnie, że inżynierowie nie oszczędzali na komponentach zabezpieczających, złączach czy przyciskach, a nowy, szybki programator także jest ważnym atutem opisywanej płytki. Szkoda jedynie, że nie możemy wykorzystać STLINK-V3EC do pracy z własną aplikacją, tym bardziej że bardzo solidnie wykonane zabezpieczenia wróżą nowym Nucleo naprawdę długą, bezawaryjną pracę. Choć z drugiej strony ceny nowych, oficjalnych debuggerów STLINK-V3 zdecydowanie nie należą do zaporowych, więc zakup choćby najprostszego modelu z serii „trójek” nie nadweręży budżetu praktykującego programisty.

