UP Board je výrobek firmy AAEON pocházející z Tchaj-wanu, patřící do skupiny ASUS. Byl zkonstruován s myšlenkou na tvůrce prototypových řešení, skvěle se hodí také pro projekty typu kick-up a start-up. S ohledem na velké možnosti přehrávání multimédií se osvědčí např. v roli firemního terminálu. Počítač Up nabízející uživatelům mnoho řešení doposud vyhrazených typicky průmyslovým počítačům je rovněž zajímavou platformou pro kutily, kteří konstruují zařízení pro vlastní potřebu.
Hardwarové parametry UP Board
UP Board je osazen 64bitovým čtyřjádrovým procesorem Intel Atom x5-Z8350 a procesorem se 2 MB paměti cache. Podle prohlášení výrobce je maximální taktovací kmitočet jádra 1,92 GHz.
Obr. 1: Rozměry UP Boardu jsou 85,6 mm x 56,5 mm
V závislosti na verzi má UP Board paměť RAM DDR3L-1600 s kapacitou 1, 2 nebo 4 GB. Je vybaven grafickým obvodem Intel HD Graphics 400, taktovaným hodinami až 500 MHz. Počítač zpřístupňuje řadu interfejsů, včetně mj. DSI, CSI (až 4 Mpix) a také konektor HDMI, Ethernet, čtyři konektory USB 2.0 a jeden USB 3.0 OTG. Celek se napájí napětím 5 V z DC zásuvky a může pracovat v rozmezí teplot od 0 °C do 60 °C. Deska se vyznačuje nevelkými rozměry (85,60 mm × 56,5 mm). UP Board bez potíží obsluhuje stream video s rozlišením 4k. Na Obr. 2 je uveden příklad přehrávání videa tohoto typu v internetovém prohlížeči Chrome pod systémem ubilinux.
Obr. 2: UP Board si poradí s přehráváním streamu videa s rozlišením 4k
Obr. 3: Vybrané hardwarové informace o desce UP Board
Obr. 4: Výsledky standardních testů z programu Hardinfo-System Information and Benchmark. Čím menší číselný údaj, tím lepší výsledek. Výsledky testů jiných platforem lze najít mj. na portálu openbenchmarking.org
Vestavěná paměť eMMC
Velkou předností UP Board je vestavěná nevolatilní paměť eMMC s kapacitou 16 GB, 32 GB nebo 64 GB (v závislosti na verzi). Díky ní není potřeba připojovat další nosiče dat v podobě karty SD, jako např. u Raspberry Pi. Značně to zvyšuje odolnost systému vůči otřesům a vibracím a ovlivňuje spolehlivost zařízení, zvláště při práci v obtížných podmínkách.
Konektor 40 pinů
UP Board je vybaven 40pinový rozšiřujícím konektorem kompatibilním s Raspberry Pi. Na jednotlivé výstupy tohoto konektoru jsou vyvedeny porty pro všeobecné použití GPIO, komunikační interfejsy UART, I2C, SPI, výstup signálu PWM, vstup konvertoru A/C (převodníku ADC) a napájení 3,3 V a 5 V. Popis a uspořádání vývodů konektoru 40 pinů je uveden v Tab.1 (na konci článku).
Možnosti konektoru 40 pinů lze skvěle využít pomocí adaptérů, jako je např. MIKROE-1879, které nabízí Mikroelektronika. Tato firma vyrábí rovněž rozšiřující moduly (tzv. clicky), které umožňují vybavit systém dalším komponentami, mj. čidlem teploty, akcelerometrem, displejem, doplňkovou pamětí a mnoha dalšími.
Obr. 5: UP Board s instalovaným expandérem MIKROE-1879, umožňujícím připojit rozšiřující moduly, tzv. clicky
Dostupné operační systémy
UP Board může pracovat s operačním systémem Linux, Windows 10 nebo Android. Producent zpřístupňuje ovladače umožňující instalaci linuxových distribucí Ubuntu a ubilinux (určené pro systémy embedded, založené na Debianu), jak rovněž pro projekt Yocto. Instalace operačního systému se provádí pomocí bootovatelné paměti USB.
Instalace ubilinux
K provedení instalace operačního systému ubilinux je potřebná vhodně nakonfigurovaná paměť USB obsahující obraz systému. V systému Windows lze pro konfiguraci paměti USB použít např. nástroj Rufus. Obrazy tohoto a dalších systémů pro tuto platformu jsou dostupné na síti. Před zahájením práce s UP Board je třeba mít monitor s interfejsem HDMI, myš a klávesnici USB a napájecí zdroj 5 V, který není součástí sestavy.
Pro instalaci ubilinuxu stačí před spuštění UP Boardu připojit k němu paměť USB a po zapnutí napájení postupovat podle pokynů na obrazovce.
Obr. 6: Startovací obrazovka systému ubilinux
UP Board jako autonomní modul IoT
S rozhodnutím pro instalaci ubilinuxu dostáváme k dispozici spolu se systémem implicitně nainstalované prostředí ubiworx IoT Framework, které umožňuje přetvořit UP Board jednoduchým způsobem na autonomní modul IoT. Součástí tohoto paketu jsou knihovny a ovladače umožňující obsluhu čidel různého typu. Prostředí ubiworx zajišťuje také implementaci stacku síťových protokolů, což značně zkracuje dobu vytváření softwaru pro zařízení.
Obr. 7: Prostředí ubiworx umožňuje vytvořit systém sestávající z mnoha modulů IoT
Obr. 8: V prostředí ubiworx lze graficky vytvářet pravidla chování modulů a skupin modulů
Velký výběr modulů click
UP Board lze použít mj. pro obsluhu rozšiřujících desek click firmy MikroElektronika, jak je uvedeno na Obr. 9. Představený obvod sestává ze dvou modulů: MIKROE-1879, neboli adaptéru mikrobus, určeného pro konektory 40 pinů ve standardu Raspberry Pi, a také MIKROE-1877, tj. desky s obvodem MM7150 (což je integrovaný gyroskop, akcelerometr a magnetometr MEMS). Obvod MM7150 obsluhuje komunikaci ve standardu HID-Over-I2C. Po instalaci příslušných ovladačů (v ubilinuxu implicitně předinstalovaných), jej pak lze ovládat pomocí standardních příkazů a deskriptorů protokolu HID. V nabídce MikroElektroniky můžeme najít široký výběr jiných modulů click s rozličnými funkcemi.
Obr. 9: UP Board s clickem od Mikro Elektroniky
Obsluha obvodu MM7150
Aby bylo možné obsluhovat obvod MM7150 z úrovně operačního systému, je nutné vytvořit konfigurační soubor v příslušném místě (obvykle ve složce /linux/arch/arm/boot/dts/overlays) a následně tento soubor zkompilovat. Tento soubor musí obsahovat základní definice a informace o obsluhovaném obvodu. Stojí za to seznámit se s podrobnými informacemi o protokolu HID a HID-Over-I2C.
Obsluha GPIO
V dalším jsou uvedeny příklady povelů konfigurujících jeden z portů GPIO (Linux GPIO 26) jako výstupní a nastavující na něm vysoký logický stav:
echo 26 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio26/direction
echo 1 > /sys/class/gpio/gpio26/value
Každý z 28 portů GPIO může být konfigurován a nastavován nezávisle.
Obsluha UART
Následující příklad umožňuje konfiguraci portu UART1 pro práci rychlostí 115200 bps, ukazuje možný způsob odesílání a příjmu dat.
stty -F /dev/ttyS1 115200 raw -echo -echoe -echok -crtscts
echo "Hello World" > /dev/ttyS1
cat /dev/ttyS1
V systému ubilinux se port /dev/ttyS1 zobrazuje také pod aliasem /dev/ttyAMA0, což zajišťuje kompatibilitu se softwarem napsaným pro Raspberry Pi.
Shrnutí
Jednodeskový počítač UP Board, osazený procesorem x86, tvoří zajímavou alternativu k populárním platformám založeným na architektuře ARM. UP Board může v mnoha aplikacích s úspěchem nahradit profesionální průmyslové počítače, když nabízí podobné možnosti za značně nižší cenu. Důležitou vlastností je také záruka dlouhodobé dostupnosti této platformy – výrobce zaručuje, že tento modul bude v jeho nabídce minimálně do roku 2020. UP Board je dostupný v nabídce firmy Transfer Multisort Elektronik (www.tme.eu).
Tabulka: Popis vývodů konektoru 40 pinů
Ubilinux |
Funkce |
Linux GPIO |
UP pinout |
Pin |
|
Pin |
UP pinout |
Linux GPIO |
Funkce |
Ubilinux |
|
|
|
3.3V |
1 |
2 |
5V |
|
|
|
|
i2c-1 |
I2C1_SDA |
2 |
GPIO0 |
3 |
4 |
5V |
|
|
|
|
i2c-1 |
I2C1_SCL |
3 |
GPIO1 |
5 |
6 |
Ground |
|
|
|
|
iio:device0 |
ADC0 |
4 |
GPIO2 |
7 |
8 |
GPIO15 |
14 |
UART1_TX |
ttyS1 |
|
|
|
|
Ground |
9 |
10 |
GPIO16 |
15 |
UART1_RX |
ttyS1 |
|
ttyS1 |
UART1_RTS |
17 |
GPIO3 |
11 |
12 |
GPIO17 |
18 |
PCM_CLK |
|
|
|
|
27 |
GPIO4 |
13 |
14 |
Ground |
|
|
|
|
|
|
22 |
GPIO5 |
15 |
16 |
GPIO18 |
23 |
|
|
|
|
|
|
3.3V |
17 |
18 |
GPIO19 |
24 |
|
|
|
|
SPI_MOSI |
10 |
GPIO6 |
19 |
20 |
Ground |
|
|
|
|
|
SPI_MISO |
9 |
GPIO7 |
21 |
22 |
GPIO20 |
25 |
|
|
|
|
SPI_CLK |
11 |
GPIO8 |
23 |
24 |
GPIO21 |
8 |
SPI_CS0 |
spidev2.0 |
|
|
|
|
Ground |
25 |
26 |
GPIO22 |
7 |
SPI_CS1 |
spidev2.1 |
|
i2c-0 |
ID_SD |
0 |
GPIO9 |
27 |
28 |
GPIO23 |
1 |
ID_SC |
i2c-0 |
|
|
|
5 |
GPIO10 |
29 |
30 |
Ground |
|
|
|
|
|
|
6 |
GPIO11 |
31 |
32 |
GPIO24 |
12 |
PWM0 |
pwmchip0/pwm0 |
|
pwmchip1/pwm0 |
PWM1 |
13 |
GPIO12 |
33 |
34 |
Ground |
|
|
|
|
|
PCM_FS |
19 |
GPIO13 |
35 |
36 |
GPIO25 |
16 |
UART1_CTS |
ttyS1 |
|
|
|
26 |
GPIO14 |
37 |
38 |
GPIO26 |
20 |
PCM_DIN |
|
|
|
|
|
Ground |
39 |
40 |
GPIO27 |
21 |
PCM_DOUT |
|