Ostatnie lata przyniosły gwałtowny wzrost popularności komputerów jednopłytkowych. Każdego miesiąca na rynku pojawiają się nowe modele o coraz większych możliwościach i niższych cenach. Większość, jak np. popularny Raspberry Pi, wyposażona jest w procesory wielordzeniowe oparte o architekturę ARM. Zaskoczeniem może być UP Board, czyli komputer jednopłytkowy z 64-bitowym procesorem o architekturze x86, wykonanym w technologii 14nm
UP Board to produkt pochodzącej z Tajwanu firmy AAEON, wchodzącej w skład grupy ASUS. Został zaprojektowany z myślą o twórcach rozwiązań prototypowych, świetnie nadaje się też do przedsięwzięć typu kick-up oraz start-up. Ze względu na duże możliwości odtwarzania multimediów, sprawdzi się np. w roli firmowego terminala. Komputer Up oferujący użytkownikom wiele rozwiązań zarezerwowanych dotąd dla typowych komputerów przemysłowych jest również ciekawą platformą dla hobbystów projektujących urządzenia na własne potrzeby.
Parametry sprzętowe UP Board
UP Board wyposażony jest w 64-bitowy czterordzeniowy procesor Intel Atom™ x5-Z8350 i procesor z 2 MB pamięci podręcznej cache. Wg deklaracji producenta, maksymalna częstotliwość taktowania rdzenia to 1.92 GHz.
Rys. 1: Wymiary UP Board to 85.6mmx56.5mm
W zależności od wersji, UP Board ma pamięć RAM DDR3L-1600 o pojemności 1, 2 lub 4 GB. Wyposażony jest w układ graficzny Intel HD Graphics 400, taktowany zegarem do 500 MHz. Komputer udostępnia zestaw interfejsów, w tym m.in. DSI, CSI (do 4 Mpix), a także złącze HDMI, Ethernet, cztery złącza USB 2.0 oraz jedno USB 3.0 OTG. Całość zasilana jest napięciem 5V z gniazda DC i może pracować w zakresie temperatur od 0°C do 60°C. Płytka charakteryzuje się niewielkim rozmiarem (85.60 mm × 56.5 mm). UP Board bez kłopotu obsługuje strumień wideo o rozdzielczości 4k. Na rys.2 pokazano przykład odtwarzania tego typu wideo, w przeglądarce internetowej Chrome, pod systemem ubilinux.
Rys. 2: UP Board radzi sobie z przetwarzaniem strumienia video o rozdzielczości 4k
Rys. 3: Wybrane informacje sprzętowe nt. UP Board
Rys. 4: Wyniki standardowych testów z programu Hardinfo-System Information and Benchmark. Im niższy wynik liczbowy, tym lepszy rezultat. Wyniki testów innych platform znaleźć można m.in. na portalu openbenchmarking.org.
Wbudowana pamięć eMMC
Dużą zaletą UP Board jest wbudowana pamięć nieulotna eMMC o pojemności 16 GB, 32 GB lub 64 GB (w zależności od wersji). Dzięki niej, nie ma potrzeby dołączania dodatkowego nośnika danych w postaci karty SD, jak np. w Raspberry Pi. Znacznie zwiększa to odporność systemu na wstrząsy oraz wibracje i wpływa na niezawodność urządzenia, szczególnie podczas pracy w trudnych warunkach.
Złącze 40-pin
UP Board wyposażony jest w 40-pinowe złącze rozszerzeń kompatybilne z Raspberry Pi. Na poszczególne wyjścia tego złącza wyprowadzone są porty ogólnego przeznaczenia GPIO, interfejsy komunikacyjne UART, I2C, SPI, wyjście sygnału PWM, wejście konwertera A/C (przetwornika ADC) oraz zasilanie 3,3V i 5 V. Opis i układ wyprowadzeń złącza 40-pin zawiera tab.1 (na końcu artykułu).
Możliwości złącza 40-pinowego można świetnie wykorzystać za sprawą adapterów takich jak np. MIKROE-1879, oferowanych przez Mikroelektronikę. Firma ta produkuje również moduły rozszerzeń (tzw. clicki), które pozwalają wyposażyć system w dodatkowe podzespoły, m.in. czujnik temperatury, akcelerometr, wyświetlacz, dodatkową pamięć oraz wiele innych.
Rys. 5: UP Board z zamontowanym ekspanderem MIKROE-1879 umożliwiającym podłączanie modułów rozszerzeń, tzw. clicków.
Dostępne systemy operacyjne
UP Board może pracować z systemem operacyjnym Linux, Windows 10 lub Android. Producent udostępnia sterowniki pozwalające na instalację linuksowych dystrybucji Ubuntu oraz ubilinux™ (przeznaczonej dla systemów embedded, bazującej na Debianie), jak również do projektu Yocto. Instalacja systemu operacyjnego odbywa się z wykorzystaniem bootowalnej pamięci USB.
Instalacja ubilinux™
Do przeprowadzenia instalacji systemu operacyjnego ubilinux™ wymagana jest odpowiednio skonfigurowana pamięć USB zawierająca obraz systemu. W systemie Windows do konfiguracji pamięci USB można wykorzystać np. narzędzie Rufus . Obrazy tego oraz innych systemów dla tej platformy dostępne są w sieci . Przed przystąpieniem do pracy z UP Board trzeba zaopatrzyć się w monitor z interfejsem HDMI, mysz i klawiaturę USB oraz zasilacz 5V, który nie jest dołączany do zestawu.
By zainstalować ubilinux, wystarczy przed uruchomieniem UP Board podłączyć do niego pamięć USB i po włączeniu zasilania postępować zgodnie z komunikatami na ekranie.
Rys. 6: Ekran startowy systemu ubilinux
UP Board jako autonomiczny moduł IoT
Decydując się na instalację ubilinuxa, wraz z systemem, dysponujemy domyślnie zainstalowanym środowiskiem ubiworx™ IoT Framework, które pozwala w prosty sposób przekształcić UP Board w autonomiczny moduł IoT. W skład tego pakietu wchodzą biblioteki i sterowniki umożliwiające obsługę wielu różnego rodzaju czujników. Środowisko ubiworx™ zapewnia także implementację stosu protokołów sieciowych, co znacznie skraca czas tworzenia oprogramowania dla urządzenia.
Rys. 7: Środowisko ubiworx™ pozwala stworzyć system składający się z wielu modułów IoT.
Rys. 8: W środowisku ubiworx można graficznie tworzyć reguły zachowań modułów oraz grup modułów.
Duży wybór modułów click
UP Board może zostać wykorzystany m.in. do obsługi płytek rozszereniowych click firmy MikroElektronika, co pokazuje rys.9. Zaprezentowany układ składa się dwóch modułów: MIKROE-1879, czyli adaptera mikrobus, przeznaczonego do złączy 40-pin w standardzie Raspberry Pi, a także MIKROE-1877, tj. płytki z układem MM7150 (będącym zintegrowanym żyroskopem, akcelerometrem i magnetometrem MEMS). Układ MM7150 obsługuje komunikację w standardzie HID-Over-I2C. Po instalacji odpowiednich sterowników (w ubilinuxie preinstalowane domyślnie), może być zatem sterowany za pomocą standardowych komend i deskryptorów protokołu HID. W ofercie MikroElektroniki znaleźć można szeroki wybór innych modułów click o zróżnicowanych funkcjach.
Rys. 9: UP Board z clickiem od Mikro Elektroniki
Obsługa układu MM7150
By możliwa była obsługa układu MM7150 z poziomu systemu operacyjnego, konieczne jest utworzenie pliku konfiguracyjnego w odpowiedniej lokalizacji (zazwyczaj w katalogu /linux/arch/arm/boot/dts/overlays), a następnie kompilacja tego pliku. Plik ten musi zawierać podstawowe definicje i informacje nt. obsługiwanego układu. Warto zapoznać się ze szczegółowymi informacjami nt. protokołu HID oraz HID-Over-I2C.
Obsługa GPIO
Poniżej przedstawiono przykładowe komendy konfigurujące jeden z portów GPIO (Linux GPIO 26) jako wyjściowy i ustawiające tam logiczny stan wysoki:
echo 26 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio26/direction
echo 1 > /sys/class/gpio/gpio26/value
Każdy z 28 portów GPIO może być konfigurowany i ustawiany niezależnie.
Obsługa UART
Poniższy przykład pozwala na konfigurację portu UART1 do pracy z prędkością 115200 bps, pokazuje możliwy sposób wysyłania oraz odbioru danych.
stty -F /dev/ttyS1 115200 raw -echo -echoe -echok -crtscts
echo "Hello World" > /dev/ttyS1
cat /dev/ttyS1
W systemie ubilinuxTM port: /dev/ttyS1 widnieje również pod aliasem: /dev/ttyAMA0, co zapewnia zgodność z oprogramowaniem pisanym dla Raspberry Pi.
Podsumowanie
Jednopłytkowy komputer UP Board, wyposażony w procesor x86, stanowi ciekawą alternatywę dla popularnych platform opartych o architekturę ARM. UP Board w wielu zastosowaniach może z powodzeniem zastąpić profesjonalne komputery przemysłowe, oferując zbliżone możliwości w znacznie niższej cenie. Istotnym atutem jest także gwarancja długiej dostępności tej platformy – producent zapewnia, że model ten będzie w jego ofercie przynajmniej do 2020 roku. UP Board dostępny jest w ofercie firmy Transfer Multisort Elektronik (www.tme.eu).
Tabela Opis wyprowadzeń złącza 40-pin
Bibliografia
[1] https://rufus.akeo.ie/
[2] https://up-community.org/downloads/category/15-up
[3] Microsoft Corporation, “HID Over I2C Protocol Specification: Device Side”, version 1.00, 04/24/2012
[4]USB-Sig, “HID Usage Table Sensor Page”, http://www.usb.org/developers/hidpage/HUTRR39b.pdf
REKLAMA |
REKLAMA |