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.
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.
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.
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.
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.
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.
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_D | 5 V |
SPI_CLK | SPI_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.
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.
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.
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.
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.
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.
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.
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 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.
- HVA68TD VLF high voltage test set - 11/01/2025
- Seeed Studio XIAO Round Display recenzija - 10/01/2025
- Neminik: Panasonic robotski sistemi sa G4 kontrolerom - 08/01/2025