Jste zde

UP Board – jednodeskový počítač založený na architektuře x86

Každý měsíc se na trhu objevují nové modely jednodeskových počítačů se stále většími možnostmi a nižšími cenami. Většina, jako např. populární Raspberry Pi, je vybavena vícejádrovými procesory založenými na architektuře ARM. Překvapením může být UP Board, jednodeskový počítač s 64bitovým procesorem  x86, vyrobeným technologií 14 nm.

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

 

 

 

Hodnocení článku: