Kiedy pojawia się temat minikomputerów jednopłytkowych, jego niemal nieodłącznym elementem okazuje się Raspberry Pi oraz mikroprocesory zbudowane w architekturze ARM. Poza “malinką” istnieje wiele innych platform rozwojowych dla systemów wbudowanych, które również wykorzystują mikroprocesory ARM. Jedną z takich platform jest UP board – efekt wieloletniego doświadczenia inżynierów z polskiej firmy CSI z siedzibą w Krakowie. Płytka jest dostępna w różnych wariantach pamięci RAM oraz konfiguracji pamięci FLASH. W niniejszym artykule przedstawiono specyfikację techniczną oraz praktyczne możliwości płytki UP board wyposażonej w pamięć RAM DDR3 o pojemności 2GB wraz z pamięcią FLASH eMMC o pojemności 16GB.
Główny procesor i wyposażenie w złącza
Sercem minikomputera UP Board jest Intel Atom X5-Z8350 – czterordzeniowy procesor ARM o standardowej częstotliwości zegara taktującego wynoszącej 1,44GHz. Istnieje możliwość podwyższenia tej częstotliwości aż do wartości 1,92GHz. To bardzo duża moc obliczeniowa, zważywszy na fakt, że mamy do czynienia z minikomputerem jednopłytkowym, jeszcze w wielu współcześnie dostępnych na rynku telefonach czy komputerach klasy PC można spotkać procesory o mniejszej lub zbliżonej wydajności. Sam projekt płytki PCB, w tym sposób rozmieszczenia na jej powierzchni poszczególnych podzespołów, jest w każdej płytce UP board identyczny. Jedyna różnica tkwi w rozmiarze pamięci RAM oraz pamięci FLASH. Od strony czysto fizycznej, na płytce znajdziemy cztery porty USB 2.0 typu A umożliwiające podłączenie takich urządzeń jak mysz i klawiatura, złącze Ethernet o przepustowości 1Gbit/s oraz złącze HDMI do podłączenia monitora.
W odróżnieniu od większości oferowanych na rynku platform rozwojowych dla systemów wbudowanych, zasilanie płytki UP board nie odbywa się za pośrednictwem portu USB, a poprzez gniazda zasilające DC o średnicy 5,5 mm z trzpieniem zasilającym o średnicy wewnętrznej 2,1mm. Wymagany zasilacz musi charakteryzować napięcie wyjściowe 5V i minimalną wydajność prądową wynosząca 3A, natomiast bardziej efektywnym rozwiązaniem gwarantującym zapas mocy, będzie użycie zasilacza o wydajności prądowej 4A. Na górnej stronie płytki, do procesora został przytwierdzony duży radiator i podobnie na dolnej stronie płytki, co zapewnia bardzo dobre odprowadzanie ciepła. Z uwagi na wysokie osiągi procesora Intel Atom X5-Z8350, płytkę można wykorzystać w rozbudowanych aplikacjach o zwiększonym zapotrzebowaniu na moc obliczeniową. Z tego względu, kiedy będziemy instalować płytkę UP board w zamkniętej obudowie z otworami wentylacyjnymi, warto zadbać o wspomaganie odprowadzania ciepła, wykorzystując wymuszony obieg powietrza za pomocą dodatkowego wentylatora, co korzystnie przełoży się na efektywność płytki w aplikacjach o wielogodzinnym czasie pracy.
Wyprowadzenia GPIO
Poza standardowymi złączami zasilania i przesyłania informacji międzysprzętowej, na płytce UP board znajdziemy także zestaw pinów GPIO, dobrze znany z innych platform dla systemów wbudowanych takich jak Raspberry Pi czy Arduino. Pośród wyprowadzeń GPIO, znajdziemy złącza do komunikacji przez magistrale SPI i I2C, wyjścia sygnału PWM o zmiennej szerokości impulsu, a także standardowe złącza sygnałów dwustanowych, które mogą zostać programowo skonfigurowane zarówno jako wejścia, jak i wyjścia. Niestety, rozkład wyprowadzeń GPIO jest niekompatybilny z Raspberry Pi, w związku z czym nie ma gwarancji co do prawidłowego funkcjonowania modułów nakładek rozszerzeniowych HAT. W dalszym ciągu dzięki wyprowadzeniom GPIO możemy zaprojektować np. sterowanie dla inteligentnych budynków czy też zaawansowane ramię robota przemysłowego.
Współpraca z systemem Linux i porównanie z płytką Raspberry Pi
Z uwagi na użyty typ architektury procesora x86, płytka UP board może pracować z różnymi wariantami dystrybucji systemu Linux, np. Ubilinux bazujący na Debianie 8, z najnowszą wersją jądra systemu (4.4). Wszystkie niezbędne pliki instalacyjne zajmują ok. 2GB pamięci, dzięki czemu na karcie eMMC pozostaje jeszcze bardzo dużo miejsca na pliki użytkownika. Proces uruchamiania systemu operacyjnego zajmuje ok. 11s od momentu wciśnięcia klawisza “Enter”, przy wyborze bootloadera z listy w menu GRUB, do momentu zalogowania się do systemu, co jest wynikiem bardzo dobrym, nawet w porównaniu do Raspberry Pi 3A+. Najnowsza wersja systemu Linux Ubuntu 16.04.1 zadziałała prawidłowo, bez widocznych oznak braku mocy obliczeniowej procesora. Również aplikacja Advanced Packaging Tool zadziałała prawidłowo, i za jej pomocą udało się sukcesywnie zainstalować środowisko programistyczne IDLE dla Pythona. Przesył informacji przez złącze Ethernet działa nienagannie zgodnie z oczekiwaniami, natomiast mogą wystąpić problemy, przy współpracy płytki z donglem Wi-Fi. Poza standardowym wyposażeniem płytki w złącza USB 2.0 znajdziemy tu także złącze USB 3.0 OTG. Test porównawczy prędkości przesyłu danych wykazał, że przeniesienie z karty eMMC na zewnętrzny dysk twardy plików o łącznej wielkości 1,4GB zajmuje ok. 14s, przy prędkości przesyłu danych 100MB/s, a przenosząc ten sam zestaw plików między urządzeniami, ale używając portu USB 2.0, procedura zajęła ok. 38s przy prędkości przesyłu wynoszącej ok. 36,3MB/s, co pokazuje, jaki jest ogromny przeskok pomiędzy tymi dwiema opcjami przesyłu danych.
Również aplikacje o charakterze rozrywkowym, np. gry komputerowe, znakomicie są obsługiwane przez płytkę od CSI. Grafika przy rozdzielczości 1152pix x 864pix i 32-teksturze umożliwia płynne odświeżenie obrazu z prędkością do 90 klatek na sekundę, w porównaniu do 70 klatek na sekundę w Raspberry Pi 3A+. Z kolei test obciążenia procesora za pomocą aplikacji SysBench polegający na obliczeniu liczby Pi z dokładnością do 6 tys. miejsc po przecinku w jak najkrótszym czasie, wykazał ok. 59s dla płytki UP board oraz ok. 120s dla Raspberry Pi 3A+. Ponadto UP board jest wyposażona w algorytm szyfrowania AES współpracujący z biblioteką OpenSSL, który w teście szyfrowania 4096 znaków, wykazał prędkość szyfrowania dla Raspberry Pi 3A+ wynoszącą 20 znaków w ciągu sekundy i 75 znaków w ciągu sekundy dla UP board. Płytka od CSI ma zatem sporo zalet przemawiających za jej wybraniem zamiast płytki Raspberry Pi, choć jest dużo droższa w zakupie, ale warta swojej ceny, kiedy budujemy projekt aplikacji o wysokim stopniu złożoności, który wymaga szczególnie dużego zapotrzebowania na moc obliczeniową procesora. W przypadku mniej wymagający aplikacji, w celu zaoszczędzenia pieniędzy, warto wybrać “malinkę”.