Zestawy ewaluacyjne pełnią niezwykle ważną funkcję w arsenale narzędzi współczesnego elektronika: pozwalają bardzo szybko i łatwo zapoznać się z funkcjonalnością układu scalonego bądź modułu, bez konieczności wykonywania jakichkolwiek prac projektowych lub montażowych. Rynek płytek uruchomieniowych to zarówno proste układy zawierające kilka lub kilkanaście elementów, jak i niezwykle bogato wyposażone, kilkunastowarstwowe płyty drukowane przeznaczone do pracy z najnowocześniejszymi macierzami FPGA, procesorami aplikacyjnymi czy też układami mixed-signal o najwyższej wydajności. Ważne miejsce na rynku EVB (ang. EValuation Boards) zajmują ekosystemy elektroniki modułowej, które z równym powodzeniem znajdują swoich odbiorców wśród początkujących amatorów, jak i profesjonalistów opracowujących prototypy nowych urządzeń komercyjnych.
mikroBUS (MikroElektronika)
Większość elektroników, zapytana o pierwsze skojarzenie z hasłami „nakładka” czy „moduł”, wskaże zapewne bez zastanowienia platformę Arduino lub Raspberry Pi. Pomimo to naszą prezentację rozpoczniemy nieco zaskakująco, bo od opisu dwóch standardów opracowanych przez serbską markę MikroElektronika.
Ta niezwykle dynamicznie rozwijająca się firma może poszczycić się naprawdę dużymi osiągnięciami w obszarze rozwoju systemów do szybkiego prototypowania urządzeń elektronicznych – w jej ofercie znajduje się przeszło 1700(!) produktów z serii Click Boards (fotografia 1), które można w dowolny sposób łączyć z licznymi zestawami deweloperskimi (fotografia 2).
Mało tego – standard mikroBUS, który MikroElektronika opracowała i opublikowała za darmo na swojej oficjalnej witrynie internetowej, jest już stosowany także przez innych producentów zestawów ewaluacyjnych, w tym firmę Microchip (fotografia 3).
Standard połączeń mikroBUS opiera się na dwóch 8-pinowych gniazdach szpilkowych o rastrze 2,54 mm, rozstawionych na odległości 900 milsów (22,86 mm) – patrz rysunek 1. Producent zdecydował się na wyprowadzenie wszystkich najważniejszych linii interfejsów szeregowych (UART, I²C, SPI), linii kontrolnych (RST, CS), dwunapięciowego zasilania (3,3 V oraz 5 V), a także trzech dodatkowych linii: AN (linia analogowa), PWM oraz INT (przerwanie). Tylko tyle i aż tyle.
Dostępne w sprzedaży moduły występują w trzech rozmiarach: S, M i L – różniących się długością płytki (odpowiednio: 28,6 mm, 42,9 mm oraz 57,15 mm), przy czym wymiary głównej części zawierającej złącza szpilkowe są identyczne w każdym module (rysunek 2). Dłuższe płytki są zwykle stosowane w przypadku modułów radiowych, transceiverów RFID (z anteną pętlową wykonaną w postaci ścieżki na PCB), czy też niektórych rodzajów czujników. Zachowanie zunifikowanych wymiarów ma duże znaczenie, gdyż standard wskazuje także dopuszczalne ułożenie sąsiadujących ze sobą slotów – jest ono na tyle ciasne, że w przypadku zbyt szerokiego modułu sloty mikroBUS znajdujące się w jego sąsiedztwie mogłyby zostać przysłonięte przez brzegi płytki. Warto dokładnie przestudiować oryginalny opis standardu mikroBUS, jako przykład dobrze opracowanej, rzetelnej i dokładnej dokumentacji technicznej.
Wspomnijmy ponadto, że inżynierowie z firmy MikroElektronika opracowali także standard ClickID (rysunek 3). Ma on na celu rozszerzenie funkcjonalności produktów Click Boards o możliwość automatycznego „przedstawiania się” przez moduł nadrzędnemu procesorowi po wpięciu nakładki do slotu. W tym celu na płytkach montowane są dodatkowe układy scalone, które współdzielą linie CS oraz Reset z głównym modułem (np. transceiverem radiowym czy czujnikiem). Komunikacja odbywa się wg popularnego standardu 1-Wire, dzięki czemu działanie żadnego z interfejsów szeregowych (UART, I²C, SPI) nie zostaje zakłócone przez dodatkową komunikację z chipem odpowiedzialnym za autoidentyfikację.
SiBRAIN (MikroElektronika)
Kolejny standard, który trafił do naszego opracowania, także pochodzi ze stajni serbskiego producenta, tym razem jednak mamy do czynienia z rozwiązaniem nieporównanie bardziej rozbudowanym. Interfejs SiBRAIN służy do łączenia płytek-córek (ang. daughter boards) – zawierających rozmaite modele mikrokontrolerów – z odpowiednimi złączami znajdującymi się na głównych płytach ewaluacyjnych.
Całość opiera się na dwóch 168-pinowych złączach Mezzanine (rysunek 4), co pozwala na współpracę nawet z największymi procesorami aplikacyjnymi oraz mikrokontrolerami.
Kompaktowe rozmiary (60,96×60,96 mm – rysunek 5) umożliwiają zastosowanie modułów z różnymi modelami płyt bazowych (fotografia 4).
STM32 Morpho (ST Microelectronics)
Firma ST Microelectronics opracowała własny standard stosowany do łączenia płytek bazowych z serii STM32 Nucleo (fotografia 5) z rozmaitymi nakładkami rozszerzającymi możliwości platformy o dodatkowe funkcje. Dużą zaletą standardu STM32 Morpho jest wyprowadzenie sporej liczby linii GPIO oraz zasilających przy zastosowaniu zwykłych złączy goldpin i pasujących do nich gniazd. Niestety, firma ST wpadła we własną pułapkę, wynikającą z klęski urodzaju. Płytki Nucleo-64 są produkowane jako podstawowe zestawy ewaluacyjne do wybranych przedstawicieli wszystkich rodzin mikrokontrolerów STM32.
Taka różnorodność powoduje jednak spory chaos – poszczególne wersje, pomimo że wyglądają łudząco podobnie, różnią się sposobem podłączenia części pinów, przez co projekt własnej nakładki – opracowany w oparciu o dokumentację wybranej płytki Nucleo – może nie działać po przełożeniu na płytę bazową zawierającą inny model procesora. Być może to właśnie jest jedna z przyczyn, dla których oferta tego półprzewodnikowego potentata w segmencie nakładek Nucleo Expansion Boards jest stosunkowo wąska – o ile bowiem liczba dostępnych modułów rozszerzeń wynosi obecnie około 100 (licząc tylko te o aktywnym statusie marketingowym), to w przypadku płytek bazowych z różnorodnymi modelami mikrokontrolerów liczba ta jest ponad dwukrotnie większa.
Przykładowy układ wyprowadzeń złączy Morpho pokazano na rysunku 6, zaś jedną z nakładek (przeznaczoną do testów 8-kanałowego, izolowanego przekaźnika półprzewodnikowego ISO8200AQ) pokazano na fotografii 6.
Grove (Seeedstudio)
Firma Seeedstudio opracowała ekosystem modułowy o nazwie Grove, który opiera się na bardzo prostym, bo zaledwie 4-pinowym (lecz – niestety – niestandardowym) złączu o rastrze 2,0 mm. Złącze to przenosi nie tylko napięcie zasilające, ale także sygnały cyfrowe lub analogowe. Producent zdefiniował cztery kategorie modułów – w zależności od rodzaju sygnałów można wyróżnić:
- Grove Digital:
- pin 1: cyfrowa linia I/O (główna),
- pin 2: cyfrowa linia I/O (pomocnicza),
- pin 3: VCC (zasilanie 3,3 V lub 5 V),
- pin 4: GND (masa),
- Grove Analog:
- pin 1: wejście analogowe (główne),
- pin 2: wejście analogowe (pomocnicze),
- pin 3: VCC (zasilanie 3,3 V lub 5 V),
- pin 4: GND (masa),
- Grove UART:
- pin 1: UART RX (odbiór danych przez płytę bazową),
- pin 2: UART TX (nadawanie danych przez płytę bazową),
- pin 3: VCC (zasilanie 3,3 V lub 5 V),
- pin 4: GND (masa),
- Grove I²C:
- pin 1: SCL,
- pin 2: SDA,
- pin 3: VCC (zasilanie 3,3 V lub 5 V),
- pin 4: GND (masa).
Standard Grove przyjął się na rynku zestawów ewaluacyjnych i edukacyjnych do tego stopnia, że wielu producentów oraz „niezrzeszonych” projektantów także korzysta z niego w swoich projektach – na łamach „Elektroniki Praktycznej” publikujemy zresztą rozmaite miniprojekty bazujące właśnie na złączach Grove. Warto dodać, że pełna zgodność ze standardem to nie tylko układ wyprowadzeń złączy i odpowiedni poziom napięcia zasilania – ale także określone wymiary i specyficzna geometria płytek modułów rozszerzeń, przywodząca na myśl… elektroniczne puzzle. Jeden ze szkiców wymiarowych zaczerpnięty z dokumentacji producenta można zobaczyć na rysunku 7 – należy nadmienić, że oprócz modułu o wymiarach podstawowych 20×20 mm oferowane są także wersje 20×40 mm, 20×60 mm, 40×40 mm oraz 40×60 mm.
Na fotografii 7 pokazano natomiast zawartość jednego z zestawów modułów Grove, przeznaczonych do współpracy z Arduino – Grove Creator Kit.
Qwiic (SparkFun)/STEMMA QT (Adafruit)
Interfejs Qwiic został opracowany przez firmę SparkFun, jednego z głównych graczy na rynku elektroniki modułowej, zestawów oraz rozmaitych akcesoriów dla modelarzy i fanów konstrukcji DIY. Standard opiera się na kompaktowym złączu 4-pinowym o rastrze 1,0 mm i jest przystosowany tylko i wyłącznie do współpracy z czujnikami oraz innymi modułami wyposażonymi w interfejs I²C. Układ wyprowadzeń pokazano na rysunku 8.
Charakterystyczną cechą modułów zgodnych z Qwiic jest przelotowy charakter połączeń – każda płytka wyposażona została w dwa gniazda, co pozwala na łączenie płytek w łańcuch typu „daisy chain” (fotografia 8). Co ważne, interfejs Qwiic okazuje się kompatybilny wyłącznie z modułami bazowymi oraz czujnikami zasilanymi napięciem 3 V. Z dokładnie tego samego układu wyprowadzeń oraz typu złącza korzysta ponadto konkurencyjny standard STEMMA QT opracowany przez firmę Adafruit – w tym przypadku jednak dopuszczalne jest stosowanie napięcia zasilania 5 V, więc kompatybilność pomiędzy modułami obydwu producentów zostaje w naturalny sposób ograniczona tylko do układów 3-woltowych.
Inne standardy
Warto wiedzieć, że na rynku istnieją także dwa inne, również dość popularne standardy połączeń pomiędzy płytkami bazowymi a czujnikami oraz innymi modułami rozszerzeń. Firma Adafruit stosuje w niektórych modułach interfejs określany mianem STEMMA (bez przyrostka QT), który występuje w dwóch wersjach – złącza 3-pinowe typu JST PH obsługują moduły wyposażone w linię cyfrową, analogową lub PWM, zaś 4-pinowe mogą dodatkowo pracować z układami komunikującymi się przez I²C. Nieco podobnie rzecz ma się także w przypadku standardu Gravity marki DFRobot – tutaj jednak mamy do dyspozycji także moduły nawiązujące komunikację z hostem za pomocą interfejsu UART. Aby lepiej zrozumieć różnice pomiędzy poszczególnymi standardami, warto spojrzeć na tabelę 1, w której zebrano najważniejsze informacje o wszystkich pięciu opisanych dotąd standardach. Dalszych informacji na temat kompatybilności dostarcza tabela dostępna na stronie firmy Adafruit pod adresem: https://learn.adafruit.com/introducing-adafruit-stemma-qt/stemma-qt-comparison.
Feather (Adafruit)
Z interesującą propozycją wyszła do swoich odbiorców wspomniana już kilkukrotnie firma Adafruit, która opracowała własny standard niewielkich, ale doskonale wyposażonych płytek bazowych oraz kompatybilnych z nimi nakładek funkcjonalnych (fotografia 9).
Każdy z modułów głównych jest wyposażony w wydajny mikrokontroler i – w większości przypadków – moduł radiowy, zaś niektóre spośród płytek zamiast transceivera mają wbudowane gniazdo kart microSD.
Układ wyprowadzeń – także bazujący na standardowych goldpinach 2,54 mm – pokazano na rysunku 9, zaś przykładową nakładkę z maleńkim, 1-calowym ekranem OLED, można zobaczyć na fotografii 10.
BBC micro::bit/micro::bit 2
Platforma micro::bit powstała z myślą o nauczaniu wg paradygmatu STEM – z założenia miał to być projekt tani, łatwo dostępny i dający spore możliwości rozbudowy. W odróżnieniu od wszystkich opisanych do tej pory standardów, ekosystem micro::bit korzysta nie z typowych złączy rastrowych, ale z… nietypowego złącza krawędziowego (rysunek 10).
Co ciekawe, pomimo niewielkich rozmiarów płytki (50×40 mm), jej projektanci zdołali zmieścić na niej (w wersji 2) naprawdę pokaźny zestaw hardware’u: transceiver Bluetooth Nordic nRF52833, mikrokontroler ARM z serii KL27Z, mikrofon MEMS, miniaturowy głośnik oraz… 3-osiowy akcelerometr/żyroskop LSM303 (fotografia 11).
Po drugiej stronie płytki znajduje się prosty wyświetlacz w postaci matrycy 25 dyskretnych diod LED SMD oraz dwa przyciski. Także ta platforma doczekała się sporej oferty kompatybilnych nakładek – choć, z uwagi na rozmiary modułu głównego, należałoby raczej nazywać je płytami bazowymi (fotografia 12).
Raspberry Pi
Omawiając ekosystemy ewaluacyjne i edukacyjne nie sposób nie wspomnieć o minikomputerach Raspberry Pi, które – obok Arduino – w największym stopniu przyczyniły się do upowszechnienia „modułowego” sposobu myślenia o prototypowaniu. 40-pinowe złącze goldpin (rysunek 11), stosowane w popularnych płytkach SBC z serii RPi A/B/Zero, stało się niekwestionowanym standardem, do którego – chcąc, nie chcąc – dostosowują się niemal wszyscy inni producenci konkurencyjnych minikomputerów jednopłytkowych.
Polityka producenta „maliny” zezwala na nazywanie nakładek mianem „HAT” tylko wtedy, gdy spełnionych jest sześć warunków, zakładających m.in. kompatybilność mechaniczną i elektryczną (co raczej nie dziwi), ale także… obecność prawidłowo zaprogramowanej pamięci EEPROM zawierającej nazwę producenta, mapę GPIO oraz informacje nt. systemowego drzewa urządzeń. Oznacza to zarazem, że prostsze płytki (np. ekspandery GPIO), niewyposażone w pamięć z danymi identyfikacyjnymi nie mogą być określane jako Raspberry Pi HAT.
Popularność Raspberry Pi sprawiła, że wielu producentów przystąpiło do tworzenia własnych nakładek kompatybilnych z tą niezwykle popularną serią minikomputerów jednopłytkowych. Warto wiedzieć, że na tym właśnie polu doskonale radzą sobie nie tylko firmy zagraniczne – sporą (i stale rozwijaną) ofertę ma także rodzima marka Kamami, która wdrożyła szereg rozmaitych modułów, w tym interfejsów komunikacyjnych, sterowników silników, modułów przekaźnikowych i innych (przykład można zobaczyć na fotografii 13).
Raspberry Pi Pico
Przeszło trzy lata temu świat fanów DIY obiegła wiadomość o premierze płytki Raspberry Pi Pico, bazującej na opracowanym przez Raspberry Pi Foundation, dwurdzeniowym mikrokontrolerze RP2040 o architekturze ARM Cortex-M0+. Półtora roku później do rodziny Pico dołączyły nowe wersje, w tym Pico W z wbudowanym modułem radiowym Wi-Fi+BLE. Z kolei najnowsza wersja kultowej już płytki, czyli Pico 2 (fotografia 14), korzysta z unowocześnionego mikrokontrolera RP2350, który – oprócz całkowicie przebudowanej architektury pozwalającej na dynamiczne przełączanie pomiędzy dwurdzeniowym procesorem ARM Cortex-M33, a (także dwurdzeniową) jednostką Hazard3 (RISC-V) – zyskał także sporą pamięć RAM (520 kB).
Tym, co zdecydowało o komercyjnym sukcesie „małej maliny” był niewątpliwie bardzo wysoki stosunek mocy obliczeniowej „minikomputerków” do ich ceny. Nic więc dziwnego, że Fundacja Raspberry Pi zainwestowała w cztery nowe modele swojego mikrokontrolera – oprócz wspomnianego już RP2350 (w wersjach o 30 lub 48 liniach GPIO) na rynek trafiła także wersja RP2354, rozwiązująca problem braku wbudowanej pamięci programu (w tym przypadku do dyspozycji projektantów są bowiem 2 MB wewnętrznego Flash'a).
Standard połączeń opracowany na potrzeby Raspberry Pi Pico, zrealizowany – a jakże! – za pomocą goldpinów (rysunek 12), bardzo szybko zyskał aprobatę społeczności elektroników, a na rynku zaczęły się pojawiać kolejne płytki bazowe, nakładki i akcesoria kompatybilne z RPi Pico.
Podsumowanie
Ekosystemy modułowe stanowią dziś fundament nowoczesnego, szybkiego prototypowania oraz szeroko zakrojonych działań edukacyjnych w zakresie elektroniki i programowania wbudowanego. W artykule opisaliśmy najpopularniejsze standardy połączeń pomiędzy płytkami głównymi, a modułami rozszerzeń (nakładkami). Umyślnie pominęliśmy w naszym opisie poczciwe Arduino, jako że trudno byłoby znaleźć dziś elektronika, który przynajmniej raz nie spotkał się w praktyce z tą popularną platformą. I choć to właśnie Arduino „rozkręciło” opisywany segment rynku i stało się bodaj najbardziej rozpoznawalnym przykładem uniwersalnej platformy prototypowo-dydaktycznej, to zdaje się, że inni producenci pod wieloma względami wyprzedzili kultowy projekt rodem ze słonecznej Italii.
Nie oznacza to rzecz jasna zmierzchu Arduino – wręcz przeciwnie, jego twórcy (po pewnych roszadach personalno-prawnych) wciąż rozwijają swój biznes i wdrażają nowe, często naprawdę zaskakujące produkty. Co ciekawe, nic nie wskazuje też, by którykolwiek z systemów opisanych w niniejszym artykule miał w najbliższym czasie zagrozić istnieniu włoskiego ekosystemu (tym bardziej, że część z nich, np. standard Grove, doskonale z Arduino współpracuje). Można natomiast podejrzewać, że najsilniejszym konkurentem są i jeszcze przez długi czas będą moduły na bazie układów ESP32 – ich niska cena, ogromna moc obliczeniowa oraz szerokie możliwości komunikacji bezprzewodowej pozwalają realizować niezliczone koncepcje projektowe w szybki, tani i prosty sposób. Czytelników zainteresowanych skorzystaniem z pełni możliwości oferowanych przez ESP32 zachęcamy do zapoznania się z kursem programowania tych doskonałych modułów, który od czerwca br. prowadzimy na łamach „Elektroniki Praktycznej”.
inż. Przemysław Musz, EP