V posledných rokoch sme boli svedkami obrovského nárastu popularity jednodoskových počítačov. Každý mesiac vstupujú na trh nové, výkonnejšie a lacnejšie modely. Väčšina z nich, tak ako populárny Raspberry Pi, sú vybavené viacjadrovými procesormi, založenými na architektúre ARM. Pomerne prekvapivý je UP Board – jednodoskový počítač vybavený 64-bitovým procesorom s architektúrou x86, vyrobený 14 nm technológiou.
UP Board [1] je výrobok taiwanskej firmy AAEON [2], spoločnosti ktorá je súčasťou skupiny ASUS. Bol navrhnutý s ohľadom na tvorcov prototypov a je tiež vynikajúcim vybavením pre kick-up a start-up projekty. Vďaka svojej bohatej multimediálnej podpore môže byť použitý napríklad ako kancelársky terminál. Počítač Up Board ponúkajúci rôzne riešenia, ktoré doteraz existovali len v priemyselných počítačoch, je tiež zaujímavou platformou pre nadšencov vytvárajúcich zariadenia pre vlastné použitie.
Technické špecifikácie počítača UP Board
UP Board [1] je vybavený 64-bitovým štvorjadrovým procesorom Intel Atom™ x5-Z8350 CPU s 2MB vyrovnávacej pamäte cache. Podľa výrobcu, je maximálna taktovacia frekvencia jadra 1,92 GHz.
[3]
Obr. 1: Rozmery počítača UP Board [1] sú 85,6mm x 56,5mm
V závislosti od verzie má UP Board [1] pamäť RAM DDR3L-1600 s kapacitou 1, 2, alebo 4 GB. Je tiež vybavený technológiou Intel HD Graphics 400, ktorá beží na frekvencii 500 MHz. Počítač poskytuje široký súbor rozhraní, ktorý zahrňuje okrem iného: DSI, CSI (do 4 Mpix), HDMI, Ethernet, 4x USB 2.0 a 1x USB 3.0 OTG. Prístroj je napájaný zo zásuvky 5V DC a má rozsah prevádzkových teplôt od 0 °C do 60 °C. Charakteristickým rysom dosky sú jej malé rozmery (85,60 mm × 56,5 mm). UP Board [1] bez problémov podporuje video stream s rozlíšením 4K. Na obr. 2 je ukázaný príklad takého videa, ktoré sa prehráva na prehliadači Chrome a beží na ubilinux.
[4]
Obr. 2: UP Board [1] môže ľahko spracovať 4K video stream
[5]
Obr. 3: Základné technické špecifikácie UP Board [1]
[6]
Obr. 4: Výsledky štandardných testov z programu Hardinfo-System Information a Benchmark. Čím je skóre nižšie, tým lepšie. Výsledky iných platforiem môžete vidieť, keď navštívite napr. portál openbenchmarking.org.
Zabudovaná pamäť eMMC
Silnou výhodou počítača UP Board [1] je integrovaná energeticky nezávislá pamäť eMMC s kapacitou 16 GB, 32 GB, alebo 64 GB (v závislosti na verzii). Preto nie je potrebné pripojenie externej SD karty, ako napr. v prípade Raspberry Pi. Takéto riešenie výrazne zvyšuje odolnosť systému voči otrasom a vibráciám a jeho všeobecnú spoľahlivosť, najmä v nepriaznivých podmienkach.
40-pinový konektor
UP Board [1] je vybavený 40-pinovým expanzným konektorom, ktorý je kompatibilný s Raspberry Pi. Jeho jednotlivé piny ovládajú univerzálne porty (GPIOs), komunikačné rozhrania (UART, I2C, SPI), výstup signálu PWM, vstup ADC prevodníka a napájacie vedenia 3,3 V a 5 V. Opis a rozloženie jednotlivých pinov 40-pinového konektora môžete vidieť v tabuľke 1 (na konci článku).
40-pinový konektor sa môže využívať s adaptérmi, ako napr. MIKROE-1879, ponúkaný firmou Mikroelektronika. Táto spoločnosť tiež vyrába expanzné moduly (nazývané clicks), ktoré umožňujú vybaviť systém dodatkovými komponentmi, akými sú teplotné snímače, merač zrýchlenia, displej, dodatočná pamäť a veľa iného.
[7]
Obr. 5: UP Board [1] s namontovaným expandérom MIKROE-1879, ktorý umožňuje pripojenie rozširujúcich modulov, tzv. clicks.
Dostupné operačné systémy
UP Board [1] môže pracovať s operačnými systémami Linux, Windows 10, alebo Android. Výrobca poskytuje ovládače, ktoré umožňujú inštaláciu linuxových distribúcií Ubuntu a ubilinux™ (založené na Debiane a určené pre vložené systémy), rovnako ako ovládače pre Yocto Project. Operačný systém je nainštalovaný pomocou bootovacej pamäte USB.
Inštalácia ubilinux™
Aby ste mohli nainštalovať ubilinux™ potrebujete správne nakonfigurovanú pamäť USB s obrazom OS. V systéme Windows môžete na konfiguráciu pamäte USB použiť napr. nástroj Rufus[1] [8]. Obrazy tohto a iných operačných systémov pre túto platformu sú dostupné na internete[2] [9]. Skôr než začnete pracovať s UP Board [1], potrebujete monitor s rozhraním HDMI, myš a klávesnicu USB a napájací zdroj 5 V, ktoré nie sú súčasťou zostavy.
Všetko čo potrebujete urobiť pred inštaláciou ubilinuxu, je vložiť pamäť USB s OS do USB portu pred zapnutím napájania a po zapnutí napájania postupovať podľa pokynov zobrazených na obrazovke.
[10]
Obr. 6: Úvodná obrazovka systému ubilinux
UP Board ako autonómny modul IoT
Ak sa rozhodnete nainštalovať ubilinux, získate okrem OS aj predinštalovaný ubiworx™ IoT Framework, ktorý vám umožní jednoducho zmeniť UP Board [1] na autonómny modul IoT. Súčasťou súpravy sú knižnice a ovládače, ktoré umožňujú doske ovládať rôzne snímače. Prostredie ubiworx™ implementuje aj zásobník sieťových protokolov, čo výrazne skracuje čas vývoja softvéru.
[11]
Obr. 7: Prostredie ubiworx™ umožňuje vytvorenie systému, ktorý sa skladá z množstva modulov IoT.
[12]
Obr. 8: Prostredie ubiworx poskytuje grafické rozhranie (GUI) pre definovanie pravidiel správania modulov a ich skupín.
Široký výber modulov click
UP Board [1] môže ovládať, okrem iného, rozširujúce dosky click od spoločnosti MikroElektronika, čo je znázornené na obr. 9. Prezentovaná zostava pozostáva z 2 modulov: MIKROE-1879, adaptér pre mikrobus, určený pre 40-pinové konektory používajúce štandard Raspberry Pi, a tiež MIKROE-1877, čo je doska IO MM7150 (IO je integrovaný gyroskop MEMS, akcelerometer a magnetometer). Modul MM7150 podporuje komunikáciu v štandarde HID-Over-12C. Po inštalácii príslušných ovládačov (ktoré sú štandardne predinštalované v ubilinux), môžete tento integrovaný obvod ovládať pomocou štandardných príkazov a deskriptorov protokolu HID. Spoločnosť MikroElektronika ponúka širokú škálu modulov click s rôznymi funkciami.
[13]
Obr. 9: UP Board [1] s doskou click od spoločnosti MikroElektronika
Podpora modulu MM7150
Aby bol operačný systém schopný podporovať IO MM7150, musí byť vytvorený konfiguračný súbor na správnej ceste (obvykle v adresári /linux/arch/arm/boot/dts/overlays), ktorý sa potom musí kompilovať. Tento súbor musí obsahovať základné definície a informácie o podporovanom čipe. Zvyknúť si na špecifiká protokolu HID a komunikácie v štandarde HID-Over_12C je užitočné.[3] [14]
Podpora GPIO
Nižšie nájdete príklady príkazov, ktoré konfigurujú jeden z portov GPIO (Linux GPIO 26) ako výstupný port a nastavujú jeho logický stav ako vysoký:
echo 26 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio26/direction
echo 1 > /sys/class/gpio/gpio26/value
Každý z 28 GPIO portov môže byť konfigurovaný a nastavený nezávisle.
Podpora UART
Príklad uvedený nižšie konfiguruje port UART1 na prácu pri 115200 bps a ukazuje jednu z metód na posielanie a prijímanie dát.
stty -F /dev/ttyS1 115200 raw -echo -echoe -echok -crtscts
echo "Hello World" > /dev/ttyS1
cat /dev/ttyS1
V systéme ubilinuxTM je prístup k portu /dev/ttyS1 možný tiež prostredníctvom nasledujúceho aliasu: /dev/ttyAMA0, ktorý ho robí kompatibilným so softvérom vyvinutým pre Raspberry Pi.
Zhrnutie
Jednodoskový počítač UP Board [1], vybavený procesorom x86, je zaujímavou alternatívou k populárnym platformám založeným na architektúre ARM. V mnohých aplikáciách môže UP Board [1] nahradiť profesionálne priemyselné počítače, ponúkajúc podobnú funkčnosť za oveľa nižšiu cenu. Záruka dlhej dostupnosti tejto platformy je tiež dôležitá výhoda. Výrobca zaručuje, že tento model bude v ponuke minimálne do roku 2020. UP Board dostupný v ponuke firmy Transfer Multisort Elektronik (www.tme.eu [15]).
Tabuľka: Opis vývodov 40-pinového konektora
Ubilinux | Funkcia | Linux GPIO | UP pinout |
Pin ▽ |
Pin |
UP pinout | Linux GPIO | Funkcia | 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 |
Referencie
[1] https://rufus.akeo.ie/ [16]
[2] https://up-community.org/downloads/category/15-up [17]
[3] Microsoft Corporation, “HID Over I2C Protocol Specification: Device Side”, version 1.00, 04/24/2012
[4]USB-Sig, “HID Usage Table Sensor Page”, https://www.usb.org/developers/hidpage/HUTRR39b.pdf