2013-01-19

Mikrokompiuterių platformos - kaip pasirinkti?


2012 metus galima pavadinti revoliuciniais (mini/mikro)kompiuterių (angl. single-board computer) pasaulyje. Revoliucijos esmė – aktyvus proveržis šioje srityje ir masinis vartotojų susidomėjimas pigiais rinkos gaminiais. Pagaliau gamintojai sugalvojo ne tik naujausius ir sparčiausius mikrokompiuterius panaudoti išmaniuosiuose telefonuose, bet ir įprastiems skaičiavimams atlikti, kompiuterizacijai, edukacijos tikslams ar tiesiog DIY (angl. do it yourself) - būtent taip gimė kreditinės kortelės ir mažesnio dydžio mikro kompiuterinės platformos. Ypač šiomis naujovėmis džiaugiasi DIY auditorija, kadangi atsiveria galimybės realizuoti dar sudėtingesnius projektus. Dabartiniu metu siūloma daug įvairių gaminių ir svarbiausi jų skirtumai - techninės specifikacijos ir kaina. Šiame straipsnyje pakalbėsime apie egzistuojančius sprendimus ir palyginsime jų privalumus bei trūkumus.

Pradėsime nuo vis dar iš anksčiau populiaria ir tokia išliekančia Arduino platforma. Tai Atmel mikrokontrolerius naudojančios plokštės skirtos įvairiems eketronikos projektams. Skiriama net 15 skirtingų oficialių šios plokštės versijų - Arduino UNO (ATmega328, 16MHz, 16 GPIO, €20), Arduino MEGA (ATmega2560, 16MHz, 54 GPIO, USB, €39) ir t.t. bei naujausiasi sprendimas Arduino DUE naudojantis 32 bit Atmel SAM3X8E ARM Cortex-M3 procesorių dirbantį 84MHz dažniu ir turintį 54 GPIO išvadus ir 2x mikro-USB. Galima sakyti, kad tai labiausiai pamėgta eksperimentuotojų platforma. Prie šių plokščių nemokamai siūloma programavimo ir kūrimo grafinė platforma paremta Processing IDE. Taip pat per daugelį metų sukurta labai daug įvairių bibliotekų ir modulių, todėl prijungti kokį nors plačiai paplitusį elektronikos modulį ir pradėti su juo darbą yra iš ties labai paprasta. Reikia paminėti, kad platforma yra kiek galima supaprastinta, yra begalės pavyzdžių internete, todėl net neišmanantys elektronikos ja sugeba pasinaudoti. Patys Arduino kūrėjai siūlo Ethernet, WiFi ir kitus modulius, kurie jungiasi prie plokštės standartinių jungčių, o internete (eBay, Adafruit ir t.t.) yra galimybė įsigyti dar kitokių, pritaikytų būtent Arduino platformai. Pradedantys programuoti mikrokontrolerius dažniausiai renkasi šią platformą dėl jos nesudėtingumo. Jeigu projektui reikia sudėtingesnės technikos ir turime daugiau patirties, tada žiūrėkime ką mums siūlo galingesni sprendimai.


Praėję metai buvo taip pat įdomūs ir tuo, jog pasirodė Texas Instrumens (TI) Stellaris Launchpad bandymų plokštė (angl. dev kit). Tai gana pigus $12.99 (prieš išleidimą rezervuojant - $4.99) bandymų plokštės sprendimas naudojantis 32bit ARM® Cortex™-M4F achitektūros du TI mikrokontrolerius LM4F120H5QR. Turi tris programuojamus mygtukus bei RGB LED diodą ir 43 GPIO išvadus, prie kurių galima prijungti egzistuojančius modulius ar kitą įrangą. Mikroprocesorius veikia 80MHz dažniu, turi 256K Flash ir 32K SRAM. Programuojamas, maitinamas ir jungiamas prie kompiuterio per mikro-USB jungtį. TI sukūrė nemažai pavyzdžių ir visą eilę video pamokų, kaip valdyti šį mikrokontrolerį. Duodami įrankiai ir programavimo aplinka paremta Eclipse.


Vienas įsimintiniausių 2012 metų įvykių, su kuriuo teko susidurti - Raspberry Pi kompiuterio išleidimas. Tai Raspberry Pi  fondo iniciatyva edukaciniais tikslais sukurtas pigus kompiuteris-platforma. Nors išleidimo procesas nebuvo pats sklandžiausias, tačiau susidomėjimas šiuo projektu buvo didžiulis. Pristatytos dvi kreditinės dydžio kompiuterio versijos A - kainuojanti $25 ir B - kainuojanti $35. Svarbiausi versijų skirtumai - techniniai. B versijoje turime 700MHz ARMv11 Broadcom procesorių, 512MB RAM, 10/100 Ethernet, 2xUSB, 40xGPIO jungčių, RCA, HDMI, 3.5mm audio, SD kortelės ir mikro-USB jungtis. Iš tikrųjų nemažai ir vos ne pilna kompiuterinė platforma. Taip pat yra GPU su OpenGL ES 2.0 bei Full HD (1080p) vaizdo spartinimas. A versijoje tėra 256MB RAM ir nėra Ethernet jungties. Sprendimas yra efektyvus energetiniu požiūriu, naudojama 5V įtampa ir tik 3.5W - 700mA (A versijoje - 1.5W ir 300 mA) energijos. Platforma veikia su Linux distribucijaa Raspbian - Debian modifikacija, Fedora, ArchLinux ir kt. Nokia taip pat pasiryžo pritaikyti savo Qt įrankius šiam kompiuteriui. Sprendimo kainos ir kokybės santykis vienas efektyviausių. Plokštę galima iškart jungti prie HDMI jungtį turinčio monitoriaus, išorinio USB kietojo disko, USB klaviatūros ar pelės ir t.t. Skaičiavimo resursai čia yra žymiai didesni nei Arduino, tačiau vis dar ne tiek daug pavyzdžių ir siūlomų modulių. Programuoti siūloma su Python kalba, tačiau išmanant - galima ir su C ar C++ ir t.t., t.y. visi standartiniai Linux įrankiai yra prieinami. Norint prijungti papildomus elektronikos elementus ir juos valdyti - tam skiriama net 40 GPIO jungčių, kurias nesudėtinga valdyti tiek iš Python ar tiesiog iš Bash shell'o.


Atnaujinta: Rinkoje pasirodė ir efektyvesnis Raspberry Pi variantas pavadinimu Banana Pi su geresnėmis charakteristikomis. Procesorius - dviejų branduolių 1.2GHz AllWinner A20, nauji komponentai: IR jutiklis,  reset/power mygtukai, Gigabit Ethernet jungtis, SATA jungtis, 1GB DDR3 RAM. Pagrindiniai privalumai - greitis, padidėjęs atminties kiekis bei galimybė prijungti iki 2TB kietąjį diską.


Analogiškas variantas yra APC - naujasis "dviratis jūsų mintims", VIA kompanijos gaminys-plokštė iki $99. Joje galime pamatyti ARM Cortex-A9 procesorių su 800MHz taktiniu dažniu, 512MB DDR3 RAM, 4GB NAND Flash (arba 2GB pagal modelį) vidinę atmintį. Plokštės dydis standartizuoto Neo-ITX tipo. Jungiamas prie monitoriaus per HDMI arba VGA jungtį, taip pat turi nuo 2x iki 4x USB, 10/100 Ethernet, microUSB, audio-out/mirophone-in ir microSD jungtis.  Prireikus prijungti  papildomą elektroniką tai galima padaryti per GPIO išvadus. Pateikiami trys plokštės variantai - standartinis 8750 ($49), rock ($79) patobulintas ir skirtas daugiau hakeriams, paper ($99) - turi knygos tipo popierinį korpusą su aliuminio šonu. Priklausomai nuo versijos gali apdoroti HD arba Full HD vaizdą, valdomas per Android 4.0 arba 2.3 versijos operacinę sistemą.




Dar viena alternatyva - BeagleBoard plokštė. Oficialiai prieinamos trijų versijų:  BeagleBone, BeagleBoard ir BeagleBoard-xM. Galima rinktis kokio dydžio reikia ir pagal turimų lėšų kiekį. Jų kaina atitinkamai - $89, $137 bei $202. Paprasčiausia ir mažiausia versija, t.y. BeagleBone, turi 720MHz ARMv7 Cortex-A8 procesorių, 256MB RAM, 1x USB, 10/100 Ethernet, 92 GPIO jungtis, 1x microSD, 4x valdomus LED ir veikia su Angstrom Linux, Android ar kita Linux distribucija. Didesnė BeagleBoard versija turi Texas Instruments OMAP3530 Cortex-A8 600MHz procesorių, 128MB DRAM, 256MB NAND Flash, TMS320C64x+ GPU veikiantį 430MHz dažniu. Yra abi - kairės ir dešinės, 3.5mm audio jungtys, SD kortelių skaitytuvas, DVI-D jungtis monitoriui prijungti, S-VIDEO, 1x USB. BeagleBoard-xM yra pagerinta versija, kurioje procesoriaus dažnis padidintas iki 1 GHz, RAM iki 512MB bei atsirado 10/100 Ethernet bei 4x USB jungtys.


Panaudojant AllWinner A1X procesorius ar tiesiog dabrtinių planšečių plokštes atsirado nemažai sprendimų skirtų bendram naudojimui. Vienas iš tokiu yra Goosberry Board. Ji gali pasigirti tokia technine specifikacija - 1 GHz CPU, Mali 400 MHz GPU, 4GB Flash, turi WiFi 802.11 b/g/n, 3.5mm audio jungtis, 1x miniUSB, 1x HDMI, microSD. Šios plokštės kaina - £40 ($64), vidutiniškai naudoja 4W energijos (idle režime - 3.5 W, standby režime - 2.3W). Pritaikyta veikimui su Android 4.0 ICS OS. Pirmosios plokštės pasirodžiusios 2012 rugsėjo 23d. buvo kaip mat išpirktos, straipsnio rašymo metu - jos vis dar nebuvo parduodamos.

Geresnėmis specifikacijomis gali pasigirti Cubieboard. Paremta tuo pačiu AllWinner 1GHz ARM Cortex-A8 procesoriumi su Mali 400MHz GPU, 4GB NAND Flash. Pastebėtina, jog čia atminties gerokai daugiau - 1GB DDR3 480MHz, taip pat yra 10/100 Ethernet jungtis bei 1x SATA - ko nebuvo prieš tai nė viename nagrinėtame pavyzdyje. SATA leidžia prijungti išorinį kietąjį diską tiesiog tiesiai prie plokštės, o tada jau galima pasiekti didesnį duomenų perdavimo greitį nei naudojant USB. Taip pat yra 2x USB, 1 x microSD, HDMI bei 1x IR sensorius, gana nemažai ir  GPIO išvadų - 96, tad kitai elektronikai neturėtų pritrūkti jungčių. Veikia su Android arba standartinėmis Linux distribucijomis. Plokštės kaina - $49. Taip pat yra ir kitų gaminių, kuriuos siūlo kūrėjas - GK802 USB Android rakto sistemą ir pan. Apie panašų sprendimą sistemą - toliau.



Arduino fanai neturėtų nusiminti taipogi, jiems taip pat skirtas sprendimas su AllWinner 1GHz ARM Cortex-A8 procesoriumi - tai pcDuino platforma. Čia taip pat rasime Mali 400 GPU video procesorių, 1GB RAM, šiek tiek mažiau - 2GB Flash, HDMI išvadą bei 50x GPIO. Galima jungti prie interneto - yra RJ45 jungtis, na ir žinoma - net 3x USB. O Arduino ne šiaip sau, nes plokštė suderinama ir palaiko visas žinomas Arduino praplėtimo plokštes (angl. extension boards-shields).  Viso šito gerumo kaina -  $59.


Cotton Candy iš FXI Technologies - minimalus USB rakto tipo sprendimas, kuris turi techninę įrangą, artimą staliniam kompiuteriui ar bando ją pakeisti. Savyje raktas integruoja dviejų branduolių ARM ® Cortex ™ A9 1.2 GHz procesorių, su keturių branduolių ARM ® Mali™ 400MP GPU, 1 GB DRAM, turi Bluetooth bei WiFi skirtą bendrauti su išoriniais įrenginiais bei USB. Jungiasi tiesiai į monitoriaus HDMI jungtį. Gali duomenis talpinti iki 64GB mikroSD kortelėje. Veikia su Android 4.0 OS. Visa tai už nemažą - $199 kainą.

Kai visi anksčiau apžvelgti sprendimai netenkina, o vis reikia daugiau skaičiavimų galios, galima išbandyti PandaBoard platformą - $174. Egzistuoja dvi plokštės versijos - PandaBoard ir PandaBoard ES. Senoji versija paremta TI OMAP4430 Dual-core ARM® Cortex™-A9 procesoriumi, dirbančiu 1 GHz dažniu, naujoji - TI OMAP4460 dirbančiu 1.2GHz dažniu. Abi palaiko OpenGL® ES 2.0 grafiką su POWERVR™ SGX540 GPU, turi  HDMI, DVI-D jungtis monitoriui, 10/100 Ethernet, 1GB DDR2 RAM, 3.5mm audio in/out, WiFi 802.11 b/g/n, Bluetooth bei 3x USB. Papildomai naujoji versija turi stereo audio įvedimą bei sistemos perkrovimo mygtuką. Galima teigti, jog tai beveik pilna kompiuterinė sistema, o naudojant šią platformą jau gali būti atliekami patys rimčiausi darbai valdant elektronines sistemas.


Na ir pabaigai dar reiktų grįžti prie visiškai minimalių kompiuterių, tokių - kuriuos įprastinėje aplinkoje būtų sunku atpažinti. Toks pavyzdys - CuBox mikro kompiuteris. Nepasižymi labai įspūdingomis specifikacijomis, tačiau visą nuostabą kelia tai, jog sutelpa į minimalią 2x2x2 colių dėžutę, sveria vos 31 gramą ir naudoja iki 3W energijos. Yra paprasta ir Pro versija. Specifikacijos tokios - dviejų branduolių ARMv7 800 MHz procesorius, 1GB (2GB - pro versija) DDR3 RAM veikiančios 800MHz dažniu, palaiko OpenGL ES 2.0, turi HDMI, 10/100/1000 Ethernet, SPDIF, eSata, 2x USB, microSD, microUSB jungtis bei IR sensorių. Valdymas per Android 2.2 ar Linux. Daugiausia pritaikyta TV ir multimedijos pateikimui.

Jei reikia išties galingo sprendimo, o dydis svarbus - yra ODROID variantas $89 (+$30 už atsiuntimą). Šis mažas (59 x 57 x 60 mm) kompiuteriukas yra tikras monstras - Exynos4412 Prime Cortex-A9 1.7GHz Quad Core procesorius ir 2GB DDR2 RAM. Pakankamai jau minimaliam serveriui realizuoti. Taip pat gaunate 10/100Mbps Ethernet, HDMI, USB ir Audio išvestis, microSD, trūkumas - nėra GPIO išvadų, papildomai elektronikai prijungti, tačiau visada tai galima realizuoti ir per USB. Maitinamas 5V iki 2A, šilumai išsklaidyti reikalingas visą plokštę apimantis radiatorius.

Atnaujinta:
Odroid-U2 modelis buvo patobulintas bei pervadintas į Odroid-U3, o senasis modelis išimtas iš apyvartos. Be to ir kaina nukrito muo $89 iki $69. Naujame modelyje turime papildomą dar vieną USB jungtį ir 8 GPIO išvadus, t.y. I2C, USART ir t.t. bei naują apipavidalinimą (form-factor).


Pasirodė ir sekantis Odroid flagmanas - ODROID-XU su Samsung S IV procesoriumi, turintis pseudo 8 branduolių procesorių Exynos5 Octa Cortex™-A15 1.6Ghz quad core + Cortex™-A7 quad core CPU su 2GB DDR3 RAM, USB 3.0 Host x 1, USB 3.0 OTG x 1 bei USB 2.0 Host x 4. Naudojama maksimali galia dvigubai didesnė - 20W,  na ir kaina už jį taip pat dviguba - $169.

Apžvelgėme populiariausias ir šiuo metu egzsituojančias mikrokompiuterių plokštes-platformas bei keletą įdomesnių ir visai miniatiūrinių pavyzdžių-sprendimų. Paminėtos platformos dar gana informatyviai palyginamos bendroje lentelėje čia. Jeigu vis dėlto elektronikos projektui ir to neužtenka - tiesiog verta pagalvoti apie stalinio kompiuterio pirkimą, o gal net savo plokštės projektavimą? Yra ir kitų sprendimų, daugiau specializuotų ir pan., kurių čia neapžvelgiau, bet manau "hobby" kategorijai to pilnai pakanka. Vis gi renkantis reikėtų pirmiausia atkreipti dėmesį į techninius parametrus, t.y. ko reikia uždaviniui išspręsti, kokios jungtys reikalingos ir pan.  Žinoma, viskas atsiremia ir į biudžetą. Susitvarkius su abiem toliau galima atkreipti dėmesį į sprendimo dydį (išmatavimus) ar net dizainą ir t.t.  Nepamirškime ir patirties elektronikos srityje ir pan. - reikia įvertinti, ar turite pakankamai žinių ir ar sugebėsite prijungti kitus modulius - ar darbas su konsole ir Linux distribucijomis nėra tabu. Galbūt verta pradėti nuo paprastesnių sprendimų kaip Arduino. Sėkmės renkantis ir iki kitų susitikimų.





Komentarų nėra:

Rašyti komentarą