W związku z oczekiwaniami użytkowników projektujących urządzenia komercyjne lub pracujące w mniej wymagających aplikacjach przemysłowych, fundacja wprowadziła Raspberry Pi w formie modułu SOM (System On Module) i nazywała go Compute Module (CM). Moduły CM wymagają przemyślanych płytek uruchomieniowych. W artykule omówimy dostępne rozwiązania.
Compute Module 3+ Development Kit
Na rynku dostępne są oficjalne płytki Compute Module I/O dla każdego typu CM, na całe szczęście kolejne wersje płytek mają niższe ceny w porównaniu z pierwszym zestawem przeznaczonym dla CM1. Jednak rozpoczynając pracę z modułami CM3 najlepiej poszukać zestawu Compute Module 3+ Development Kit. Zestaw nie jest tani, bo kosztuje ok. 500 PLN (dla przypomnienia zestaw dla CM1 był wydatkiem powyżej 1000 PLN), ale w zamian otrzymujemy wszystko, co przydatne do szybkiego uruchomienia i przetestowania CM3+. Wygląd zestawu został pokazany na fotografii 1.
W skład zestawu wchodzą:
- płytka IO z możliwością stosowania, także starszych typów modułów CM,
- jedna sztuka CM3+ z 32 GB eMMC,
- jedna sztuka CM3+ Lite bez wbudowanej pamięci,
- po jednej sztuce adapterów DSI/CSI z taśmami FFC 50 mm do podłączenia kamery lub monitora,
- kabel USBA/Micro
- cztery 20 cm przewody – zworki.
Do zasilania zestawu potrzebny jest zasilacz 5 V/2,5 A z wtykiem Micro USB, który nie wchodzi w skład zestawu. Do dyspozycji jest jedno gniazdo USB i konieczność zaopatrzenia się w kartę sieciową Ethernet lub WiFi, najlepiej ze wspieranymi przez system kontrolerami Realteka oraz nabycie huba USB gdy potrzebna będzie większa ilość portów. Dodatkowo mamy podwójne złącza kamery i wyświetlacza oraz HDMI, co jest przydatne w aplikacjach korzystających z rozpoznawania obrazu lub monitoringu. Wszystkie dostępne GPIO wyprowadzone są na złącza szpilkowe wraz z zasilaniem i masą, zwory umożliwiają wybór napięcia zasilania 1,8/3,3 V dla każdego z banków GPIO.
Poważnym problemem jest brak złącza GPIO w standardzie HAT, co ułatwiło by szybkie i wygodne dołączenie zgodnych modułów, których przeważnie mamy kilka z aplikacji RPi A/B+. Zwora USB Slave/Boot Enable przełącza multiplekser USB i wprowadza CM3+ w tryb programowania wewnętrznej pamięci eMMC. Pomimo tych uwag zestaw jest podstawowym narzędziem do uruchamiania CM oraz źródłem dokumentacji sprzętowej pomocnej przy tworzeniu własnych urządzeń.
Oprócz zestawu oficjalnego dostępne są płytki przygotowane przez producentów niezależnych, udostępnianych czasem na zasadzie Open Hardware, różnią się wyposażeniem i oczywiście ceną. Najpopularniejsze z nich to:
- Geekworm IO Expansion Board,
- Waveshare Compute Module IO Board Plus,
- Waveshare Compute Module IO Board with PoE.
- Geekworm IO Expansion Board.
Moim ulubionym zestawem uruchomieniowym dla CM3/3+ jest zestaw Geekworm IO Expansion Board (fotografia 2), pomimo maksymalnego uproszczenia konstrukcji. Zestaw posiada złącze GPIO zgodne z HAT, dodatkowe złącze wyprowadzające 14 GPIO spoza standardu HAT, wbudowany jest interfejs kamery CSI i wyświetlacza DSI. Złącza CSI/DSI są zgodne z Raspberry B+ i nie wymagają dodatkowych adapterów jak w zestawie oficjalnym. Na płytce wbudowany jest też RTC typu DS3231 z możliwością podtrzymania akumulatorowego. Całość jest niewiele większa od Raspberry Pi B+. Zestaw zasilany jest poprzez port USB micro i posiada wyłącznik zasilania.
Sam moduł CM montowany jest od spodu płytki. Otwory mocujące rozmieszczone zgodnie z rozstawem PI ułatwiają montaż w płytkach bazowych. Opcjonalnie do zestawu dostępna jest elegancka, ale dosyć droga (30 $) aluminiowa obudowa. Na płytce wbudowana jest ładowarka akumulatora LiPo MCP73833, która współpracując z przetwornicą TPS61090 umożliwia zasilanie całości z ogniwa 1S. Zestaw dostępny jest na portalach aukcyjnych w cenie ok. 40 $, a czasem można go upolować jeszcze taniej. Uzupełniając go o CM3+ Lite, otrzymujemy nieoficjalną, ale najtańszą, całkowicie funkcjonalną platformę uruchomieniową.
Zestawy z oferty Waveshare
Dwie ciekawe propozycje w swojej ofercie ma Waveshare, znana z dostarczania interesujących rozwiązań dla amatorów DIY. Pierwszy zestaw to Compute Module IO Board Plus, drugi to Compute Module IO Board with PoE.
Pierwszą płytkę pokazano na (fotografii 3), to chyba największy i najlepiej wyposażony zestaw dla CM3. Posiada wbudowany Hub USB, konwerter USB/UART, po dwa interfejsy CSI/DSI i gniazdo HDMI. Złącza GPIO dostępne są zarówno w standardzie HAT, jak i w postaci listwy z wyprowadzonymi wszystkimi GPIO CM3. Dodatkowo dla fanów Arduino dostępne są złącza umożliwiające bezpośrednie podłączenie zgodnych nakładek. Płytka posiada wbudowane przetworniki AD (TLC1543), DA (DAC8552), RTC DS3231 z podtrzymaniem bateryjnym, odbiornik podczerwieni, gniazdo interfejsu 1-Wire, buzzer i po cztery przyciski i LED użytkownika. Wyposażenie jest więc ponadprzeciętne, brakuje jedynie portu Ethernet, ale przynajmniej nie jest problemem użycie nakładki HAT, przykładowo AVT-1905 lub zewnętrznej karty USB. Na stronie producenta dostępna jest pełna dokumentacja i opis użytkowania modułu:
https://bit.ly/2YJEdSG. Moduł można kupić bez problemu w Polsce, jego oficjalna cena to 47 $.
W drugim z udostępnionych przez Waveshare zestawów jest Compute Module IO Board with PoE, którego wygląd pokazano na fotografii 4.
W zestawie położono nacisk na interfejs komunikacyjny, na płytce zabudowano układ LAN9514, taki jak w „dużych” wersjach PI oraz konwerter USB/UART. Dzięki LAN9514 oprócz portu Ethernet otrzymujemy także cztery gniazda USB, nie ma więc powodów do narzekań na ilość interfejsów. Cechą wyróżniająca płytkę jest możliwość zasilania przez PoE obsługiwana przez układ Si3404.
Płytka, podobnie jak poprzednia, posiada gniazdo HDMI, DSI i po dwa złącza kamer CSI. Tym razem interfejs GPIO jest ograniczony tylko do złącza zgodnego z HAT. Płytka posiada wbudowany obwód sterujący wentylatorem. Cena płytki wynosi 38 $, dostępna jest także w pakiecie z dedykowaną obudową (45 $), która po uzupełnieniu o CM3+ stanowi gotowe kompaktowe rozwiązanie. Moduł PoE w dedykowanej obudowie pokazano na fotografii 5.
Podsumowanie
Polecam zapoznać się z się z modułami CM3 i rozważyć ich zastosowanie we własnych projektach. Nie są oczywiście kluczem do rozwiązania wszystkich problemów spotykanych przy użyciu Raspberry Pi B+, ale są dla nich ciekawą alternatywą.
Adam Tatuś, EP