Vortex86 EX u ICOP 86Duino Zero Open-source Embedded sistemu nas vraća u prošlost i oživljava tadašnji san programera da pred sobom imaju moć 486 procesora na 500 MHz.

8.8 TOTAL SCORE

ICOP 86Duino Zero

Razvojni sistemi
Kvalitet izrade 9
Implementirana tehnologija 7
Ease-of-use 9
Odnos cena/performanse 10
Pros
  • Vrlo moćan procesor upotrebljen kao osnova Embedded sistema
  • 10/100 Ethernet omogućava IoT i Edge upotrebu
  • 86Duino IDE, klon Arduino IDE-a, čini prilagođavanje razvojnih inženjera na novu platformu veoma lakim
  • Hardverski implementiran sistem za očitavanje signala sa enkodera
  • Mogućnost podizanja takta procesora čak do 500 MHz, uz aktivno hlađenje
Cons
  • Broj kompatibilnih 86Duino biblioteka je ograničen i mnogi novi dodaci nisu podržani funkcionalnim bibliotekama
  • Nejasna je upoteba PCI-E konektora
Bottomline

ICOP 86Duino Zero Open-source Embedded sistem baziran na Vortex86 DX CPU sa jezgrom hardverski kompatibilnim sa 486 arhitekturom, ali na 500 MHz umesto nekadašnjih 50 MHz, ostvarenje je sna kompjuteraša sa početka veka. Nova tehnološka rešenja, višegodišnje iskustvo i vrhunski kvalitet izrade omogućili su ICOP-u da pokuša da oživi ovu seriju. Njihov uspeh zavisiće ne samo od njihovog truda i podrške, već i od realne potrebe tržišta za novim, divergentnim hardverskim rešenjima.

Vratićemo se prvo u 1987. godinu kada je u Tajvanu osnovan SiS, firma za dizajn čipsetova za tadašnje matične ploče za x86 CPU-ove. Ubrzo su 1990. godine izgradili sopstveni pogon za proizvodnju čipova, pa su krećući od čipsetova za 386DX procesore na 25/33/40 MHz (sećate li se turbo dugmeta na kućištima tih godina) do kraja 1995. stigli do svog najpoznatijeg SiS 496/497 čipseta za 486 procesore na tada odličnih 50 MHz. 1999. godine dovoljno su snažni da kupe Rise Technology zbog tehnologije izrade mP6 x86 jezgara. SiS i danas postoji i proizvodi veoma usko specijalizovane čipove za grafičke table, mikrofone i multimedijalne uređaje. Kupljenu x86 tehnologiju jezgara, očigledno ne želeći da je razvijaju dalje, prodaju DM&P kompaniji. Nju smo već pominjali u tekstu o ICOP QEC-M-070T EtherCAT Master HMI-u u našoj recenziji. Taj EtherCAT master pokreće upravo jedan Vortex86EX2 procesor, čiji je prethodnik Vortex86EX. Njega sada imamo pred sobom u 86Duino Zero Open-source Embedded sistemu koga smo dobili od tajvanske kompanije ICOP za potrebe pisanja ove recenzije.

Platforma nije nova i praktično je ovo pokušaj ponovnog oživljavanja proizvoda koji je DM&P još 2013. godine predstavio mejkerskoj zajednici u formatu tada popularnog Arduino Leonardo razvojnog sistema i predstavljao je tada jednu od alternativa sa superiornim hardverom u odnosu na Arduino uzor. Pretražujući internet iz projekata rasutih po njemu jasno je da je ova platforma imala svoj zalet, neke veoma dobre projektne blisove, posebno kada je kontrola rada većeg broja motora u pitanju, ali je vremenom potpuno zamrla. Danas je Vortex86 serija procesora još i poznata u industrijskoj primeni, dok je broj ljudi koji je koristi u mejkerskom svetu veoma mali. Kako je ICOP preuzeo DM&P i pod svoj brend stavio i 86Duino liniju proizvoda čini nam se da postoji volja da se uloži u oživljavanje ove platforme i njenu primenu pre svega u Edge i Embedded segmentu.

86Duino ZERO and Arduino UNO

photo: magazin Mehatronika

Hardver

Na prvi pogled 86Duino Zero je lep, na plavoj ploči sa kvalitetnom belom štampom i veoma uredno zalemljenim elementima sistem odaje utisak industrijskog kvaliteta. Dolazi u običnoj beloj kartonskoj kutiji sa oznakom 86DUINO-222, što je kataloški naziv ovog razvojnog sistema. Cena 2013. kada je pušten u prodaju bila je $40, međutim danas je njegova cena kod proizvođača $56,80.

Na ploči sa gornje strane dominira SOM-128-EX modul. Pod plavim poklopcem od češljanog metala, koji je ujedno i pasivni hladnjak nalazi se Vortex86 EX procesor. Po arhitekturi to je 32 bitni x86 procesor sa jezgrom koje radi na 200 MHz, ali se on može „overclock“-ovati na 300 MHz 86Duino Flash Upgrade Tool alatom. Međutim, moguće je takt procesora podići još više, na 400, 444 i 500 MHz ukoliko umesto „1“ ili „2“ unesete „z“, „x“ ili „c“. Ove tri opcije su sakrivene jer mogu dovesti, a praktično će sigurno dovesti ukoliko ne obezbedite aktivno hlađenje, do pregrevanja procesora i njegovog potencijalnog oštećenja.

photo: magazin Mehatronika

Pored procesora na SOM modulu je i 128 MB SDRAM memorije. Postoji i novi modul sa 1 GB SDRAM memorije koji je posebno interesantan na većem 86Duino One open-source embedovanom računaru na jednoj ploči. Tu je i 8 MB Flash memorije za BIOS i 86Duino firmver. Flash Update Tool-om možete proveriti i ažurirati bootloader, a naš primerak je došao čak sa novijom verzijom 1.1 od one na koju je moguće ažurirati sistem.

photo: magazin Mehatronika

Ažuriranje na novi BIOS je isto jedna od opcija, ali tu smo ostali na Guava 0.98 kako je i bilo. Bootloader i BIOS će omogućiti podizanje sistema sa SD kartice i detaljno uputstvo za 86Duino SysImage tool možete naći na sajtu u zavisnosti od OS koji koristite.

photo: magazin Mehatronika

Budući da ploča prati Arduino Leonardo heder moguće je povezivanje kompatibilnih HAT-ova. Oba hedera su jasno označena. Levi deo donjeg hedera označen sa Power ima napojne signale od 3.3 i5 VDC, GND linije i posebno izvučen Reset pin. Njegov desni deo je označen sa Analog In i njega čini šesti analognih ulaznih linija na koje se sme dovesti signal u intervalu od 0 do 3.3 V. Ovi ulazi se vode na 11-bitni A/D konvertore koji su standardno podešeni da rade kao 10-bitni, ali je softverski moguće promeniti to podešavanje na 11-bita analogReadResolution funkcijom. Ovi ulazi se ne mogu promeniti u digitalne, kao što je to slučaj sa Arduino Leonardo pločom, o čemu treba voditi računa ukoliko se koriste HAT-ovi.

Gornji heder sa desne strane ima četrnaest digitalnih linija, od kojih je sedam sa PWM-om. Iako hardver omogućava PWM signale od 25 MHz i rezoluciju 32 bit-a, da bi se održala kompatibilnost sa Arduino pločama fabričko podešavanje PWM signala po kanalu je 1 KHz i 8 bita. Softverski u kodu je moguće povećati rezoluciju na 13 bit-a AnalogWriteResolution funkcijom, a frekvenciju je moguće podići na 1 MHz TimeOne funkcijom.

Prve dve linije na gornjem hederu označene su sa TX i Rx i one su namenjene serijskoj UART TTL konekciji. Obratite pažnju da je maksimalan dozvoljen napon na ovim pinovima 3.3 V i da ne smete povezivati direktno RS232 signale od 12 V na njega.

Dodatno, na samom levom kraju su i SCL i SDA linije za I2C komunikaciju u standardnom (do 100 Kbps), fast ( do 400 Kbps) i high-speed (do 3.3 Mbps) modu, za šta se preporučuje korišćenje Wire biblioteke.

86Duino Zero

photo: magazin Mehatronika

Zanimljiv je SPI heder koji se nalazi sa desne strane, odmah uz SOM modul. Tu je deset pinova, ali nam je četiri interesantno za SPI konekciju: SPI_D, SPI_CLK, SPI_CS i SPI_DO. Prava je šteta što ova četiri signala nisu označena na ovom hederu, posebno što u se među pinovima ovog hedera nalazi i 5 V signal. Rapored signala, od gore na dole, levo ka desnom je:

SPI_D5 V
SPI_CLKSPI_DO
GND
SPI_CS*42 (A)
*43 (B)*44 (Z)

Pinovi *42, *43 i *44 označeni su dodatnom zvezdicom što simbolizuje da se na ove pinove mogu dovesti signali sa optičkog inkrementalnog enkodera ili SSI apsolutnog enkodera. Za rad se koristi Encoder biblioteka uz pomoć koje je  potrebno inicijalizovati enkoder interfejs 86Duina i odrediti mod u kome ulazi rade kako be se očitala vrednost sa enkodera ili širina pulsa. Najviša frekvencija očitavanja signala sa enkodera je 25 MHz.

Četiri diode postavljene su na ploču za vizuelizaciju režima rada. Kako bi se signalizirao protok kroz serijski kanal pale se prve dve koje nose oznaku Tx i Rx u zavisnosti od smera protoka informacija. Treća u nizu je ON dioda i ona se uključuje prilikom dovođenja napona napajanja. Najzad L dioda je povezana za 13 GPIO PWM pin i može se programirati po volji.

photo: magazin Mehatronika

Na poleđini ploče nalazi se CR2032 baterija za sat realnog vremena, ležište za micro SD karticu, kao i konektor za LAN kabel koji se može kupiti prilikom kupovine ploče i koji sa druge strane ima RJ45 utičnicu. Ovako se 86Duino Zero oprema 10/100 Ethernet konekcijom, što je dovoljno za prenos informacija Edge računara ili I/O uređaja.

photo: magazin Mehatronika

Na istom mestu gde je i LAN konektor, samo sa gornje strane ploče nalazi se konektor za povezivanje ekspanzionog USB kabla, koji sa druge strane ima USB 2.0 utičnicu. Ideja da se na ploči ne postave danas standardni Ethernet RJ45 i USB 2.0 konektori je rudiment prošlosti i sa današnjeg stanovišta neobična odluka. Konektori postavljeni uz rub ploče uslovljavaju otvore na kućištu uređaja u koji se SBC ugrađuje. Pristup koji je imao 86Duino tim sa konektorima na „produžnim kablovima“ daje dozu fleksibilnosti u krajnjem izgledu proizvoda koji bi se oslanjao na ovu platformu.

86Duino Zero

photo: magazin Mehatronika

Uz istu ivicu gde je USB konektor je i napojni micro USB, DC ulaz za džek za napajanje u industrijskom opsegu od 7 – 12 VDC. Tu je i Reset dugme, u većini slučajeva praktičnije rešenje od korišćenja Reset pina na hederu.

Zanimljivo je prisustvo PCIe konektora na suprotnom kraju ploče. Na internetu nismo našli projekat koji bi ga koristio, a na sajtu proizvođača jasno je označeno da ne treba „ubacivati“ ploču u PCIe slot u računaru, te je jasno da je ovaj konektor smišljen za namensku upotrebu.

86Duino Zero PCI-E

photo: magazin Mehatronika

Softver

Iako u uputstvu i promotivnim tekstovima stoji da je na ovom 486 procesoru moguće pokrenuti Linux, Windows i Free DOS, upotrebljivost ovih operativnih sistema u današnjem svetu je upitna. Linux imidž koji je ponuđen za preuzimanje na sajtu je Lubuntu 12.04 koga je danas zasita pregazilo vreme. DuinOS je derivat Free DOS-a koji može biti interesantan za retro istraživanja. Međutim kako 86Duino Zero nema video izlaz pristup bi morao biti daljinski preko terminala 86ComSh aplikacijom, te smatramo da je 86Duino One bolja platforma za ovaj OS.

U ovom trenutku, za potrebe programiranja, treba se treba osloniti na 86Duino IDE. To je Arduino kompatibilan IDE koga možete za windows preuzeti sa sajta u najnovijoj verziji 86Duino Coding 500 – 2024.06.08. Ukoliko koristite Linux ili Mac morate ostati na starijoj verziji 86Duino Coding 318 – 2019.09.11. Funkcionalno nema velikih razlika između stare i nove verzije, osim podrške za ICOP QEC industrijsku seriju.

Jasno je da nam je palo na pamet da odmah istestiramo neki HAT, a dopao nam se STM X-Nucleo-IKS01A3 ekspanziona ploča sa MEMS senzorima. Raspored konektora mu je kompatibilan sa rasporedom konektora na Arduino UNO R3, a sadrži LSM6DSO 3-osni akcelerometar i 3-osni žiroskop, LIS2MDL 3-osni magnetometar, LIS2DV12 3-osni akcelerometar, HTS221 senzor vlažnosti i temperature, senzor atmosferskog pritiska LPS22H i dodatni senzor temperature STTS751.

photo: magazin Mehatronika

Zanimljivo je da je bez ikakvih prilagođavanja, nakon instaliranja STM biblioteka u 86Duino okruženje, 86Duino Zero radio i slao očitavanja sa svih senzora bez ikakvih problema.

photo: magazin Mehatronika

Probali smo i par drugih STM HAT-ova, ali smo se po pravilu suočavali sa nedostatkom nekih od bitnih novih biblioteka, kao što je recimo FastLED ili NeoPixel. To je upravo i najveći nedostatak ove platforme – nedostatak danas aktuelnih biblioteka koje Arduino inače ima u velikom broju. Tim se svakako trudi i na sajtu je dat pregled do sada prilagođenih biblioteka kao i spisak biblioteka drugih proizvođača koje su potvrđeno kompatibilne. Instalaciju novih biblioteka treba raditi preko: Include Library/Add .ZIP Library menija.

photo: magazin Mehatronika

Zaključak

Vortex86 EX je i danas moćan procesor. Mogućnost da se 486 CPU potera na 300, a tek na 500 MHz je bila nezamisliva u vremenu njihove dominacije. Razvoj tehnologije je omogućio da se to dogodi i mi sada možemo da uživo osetimo ono o čemu su tadašnji 486 programeri sanjali. Nezahtevni OS kao što je FreeDOS pokrenut na ovakvoj platformi, bez upotrebe emulatora, je upravo pravi retro osećaj kome teži jedna brojna retro-computing i retro-gaming zajednica. Procesor ma dovoljno snage da pokrene i Lubuntu, QNX ili Windows Embedded Compact 7 OS, ali kako nema video izlaz desktop upotreba nije ugodna.

Dovoljan broj analognih ulaza, digitalnih ulaza i izlaza (sa i bez PWM), kao i ulaz za signale sa enkodera čine ovu platformu odličnom za kontrolu rada motora i prikupljanje podataka sa senzora, kao iza zadavanje upravljačkih signala. Dodatni 10/100 Ethernet koji je integrisan u procesor i izveden u vidu heder-konektora na ploči dodaje mrežne mogućnosti ovoj ploči i otvara IoT i Edge upotrebu. Male dimenzije i pogodan Arduino heder čine ga lako ugradivim u nove, ali i postojeće Arduino projekte, gde se dobija značajan pomak u brzini i rezoluciji prikupljanja, zadavanja i obrade signala.

86Duino ONE and 86Duino ZERO

Postoji i veći ICOP 86Duino ONE | photo: magazin Mehatronika

86Duino IDE je preporučeno okruženje za razvoj aplikacija za ovaj 486 kompatibilni 32-bitni jednojezgarni Vortex86 EX procesor. Mišljenja smo da je platforma izuzetno perspektivna, ništa manje nego što je bila pre desetak godina kada se i pojavila na tržištu. Da li će ovog puta uspeti da dosegne veće visine i bolje se pozicionira kako na mejkerskom, poluprofesionalnom, ali i industrijskom profesionalnom tržištu zavisiće od podrške koju ICOP bude pružio, ne samo kroz 86Duino seriju, već i kroz striktno industrijsku QEC koja je na istoj platformi.

Aleksandar Dakić
Follow me