Nezavisna platforma tj. nezavisni ekosistem

Uvod

Većina proizvođača developerskih kitova prevashodno namenjena za hobiste (ali isto tako i za profesionalnu upotrebu) elektronike proizvodi iste stvarajući svoj ekosistem. Drugo, gotovo svi imaju module za jednu te istu stvar ali je razlika u tome što se isti razlikuju po konektoru tj. po načinu na koji se povezuju sa razvojnom pločicom. Konektori i način na koji su oni organizovani zapravo i definišu ekosistem. Ako malo bolje pogledate možete zapaziti da u embedded svetu zapravo i nema standarda koji će jasno definisati kako jedna ploča mora da izgleda, kakvi su njeni konektori, gde stoji napajanje, gde procesor itd. Znači nema nikakvog standarda koji to definiše te svi proizvođači uzimaju sebi za volju da organizuju svoj ekosistem kako smatraju da je najbolje. Situacija ja potpuno drugačija u PC industiji gde imate jasno definisan standard kako jedna matična ploča, recimo ATX formata mora da izgleda, gde je mesto za memoriju, gde za slotove, razmak između slotova, konektori za napajanje itd. U PC industiji je sve definisano standardom, u embedded industiji ne, te možete videti različita rešenja i različite ekosisteme.

Arduino ekosistem

Italijanski startup, jedan od najboljih, trebalo im je oko deset godina da se probiju na tržište, prodaja njihovih proizvoda rasla je po eksponencionalnom zakonu, danas predstavljaju defakto standard što se tiče hobi elektronike ali takođe i profesionalne upotrebe. Da se razumemo odmah, Arduino nije standard na pipiru kakav je to već pomenuti ATX standard za matične ploče PC računara, ali su ga mnogi usvojili da jeste, i tako je nezvanično i postao standard što potvrđuju prozivođači embedded developerskih ploča kakvi su Intel i Freescale. Recimo, Intel je krenuo sa svojom serijom Galileo developerskih ploča baziranih na Intel® Quark SoC X1000 Application Processor-u, 32-bitni Intel Pentium-class system on a chip (specifikacija), pri čemu koriste Arduino konektorsko rešenje kako bi istu ploču učinili Arduino kompatibilnom. Svi takozvani Arduino shield-ovi se mogu koristiti uz Intel Galileo embedded developersku ploču, slika 1.

Slika 1. Intel Galileo

S druge strane, što se tiče samog Arduina, defakto, Arduino UNO R3 predstavlja najčešće razvojno okruženje za bavljenje hobi tj. prototipskom elektronikom, slika 2. Baziran je na Atmelovom ATmega328P mikorkontroleru i koristi takođe dodatni mikronkontroler Atmega16U2 na kome trči firmware USB to Serial jer isti MCU poseduje integrisani USB kontroler. Benefit ovoga rešenja ogleda se u tome što Atmega16U2 mikrokontroler takođe možete programrati takozvanim DFU programatorom tj. Device Firmaware Update software-om koji vam omogućava da zamenite firmware mikrokontrolera na vrlo jednostavan način i pretvorite vaš Arduino u nešto drugo, ono što vam je potrebno. Za programiranje možete koristiti LUFA USB biblioteku. Arduino je sa ovim, zaista i napravio dobar potez, jer zapravo se možete igrati sa dva mikrokontrolera na Arduino UNO R3 pločici, jer se pre upotrebe istog koristilo hardware-sko rešenje FTDI Chip kompanije, takozvano USB to Serial integrisano kolo za koje vam je isključivo bio potreban Windows OS Driver.

Slika 2. Arduino UNO R3

MikroElektronika ekosistem

Sa druge strane, naš domaći proizvođač embedded razvojnih sistema MikroElektronika iz Beograda, takođe ima svoj ekosistem baziran na određenom setu konektora. Na bazi istih napravljen je čitav arsenal različitih click pločica koje služe za razvoj svega što možete zamislit što se tiče elektronike generalno. Na slici 3. prikazana je razvojna ploča EasyPIC Fusion v7 na kojoj možete zapaziti dva tipa konektora za eksterne module tj. click pločice (ovde prevashodno gledamo konektore za eksterne module): mikroBUS konektor i muški pin header PORT konektori koji su organizovani kao DIL tj. Dual in Line konektori. Za obe vrste konektora postoje click pločice. MikroElektronika je u neku ruku takođe postala defakto standard kao i Arduino, ali moramo se razumeti da to nije standard na papiru. Kod mnogih MicroChip razvojnih embedded okruženja možete upravo videti korišćenje mikroUSB konektora, slika 4 - Microchip Technology PIC32MM USB Curiosity Development Board (DM320107).

Slika 3. EasyPIC Fusion v7.
 
Slika 4. DM320107 - The PIC32MM USB Curiosity Development Board features 2 MikroElektronika mikroBUS expansion interfaces, a USB micro B connector, and two X32 Interfaces that facilitates access to the PIC32 Audio Codec Daughter Card.

Nezavisna platforma tj. nezavisni ekosistem

Arduino i MikroElektronika su prototipske platforme, zato se i zovu ploče za razvoj, to nisu gotova rešenja koja će se koristiti kao finalna, već naprotiv, rešenja koja vam služe da razvijate prototipove i nove elektronske uređaje. Tek kada se prototip razvije i potvrdi testiranjima sledi dizajn uređaja, električna šema, PCB dizajn itd. Većina embedded devlopera i ljudi koji se bave elektronikom imaju više razvojnih ploča od različitih proizvođača. Međutim, postavlja se pitanje zašto kupovati različite module za jednu te istu stvar, od dva različita proizvođača, (kako bi završili vaš posao) kad umesto toga možete kupiti jedan modul nezavisan od ostalih ekosistema i primenjivati ga uz svaku development razvojnu ploču koju imate na raspolaganju? Zilsel-Invent se upravo odlučio za dizajn i proizvodnju (putem trećih lica, servisa specijalizovanih za proizvodnju PCB-a pločica na osnovu vašeg dizajna) nezavisnih modula koji se mogu koristiti uz svaku developersku ploču koju imate na raspolaganju. Samim tim trošite manje novaca na kupovinu modula, i iste pri tome možete iskorišćavati na različitim sistemima. Da bi se razvila jedna nezavisna platforma morate koristiti protoboard koji je sastavni deo PCB-a tj. same pločice modula, jer ne možete staviti konektora kakav vi mislite da treba. Umesto toga koristi se protoboard, koji vam omogućava da napravite custom konektor, tj. konektor po meri, a zatim da isti spregnete sa određenom razvojnom pločom. Ukoliko vam bude bio potreban novi konektor drugačijeg tipa, protoboard će vam lako omogućiti da napravite isti. Nezavisnom platformom tj. ekosistemom upravo dobijate da razvijate prototipove uređaja nezavisno od kontrolne logike, tj. MCU-a, CPU-a, SoC-a, Develpment ploča itd. Dovoljno je napraviti jedan nezavisni modul i primenjivati ga gde god vam je isti i potreban, slika 5 - SERPENT II platformsko nezavisni DC motor drajver, obratite pažnju na protoboard.

Slika 5. SERPENT II DC Stepper Motor Driver, nezavisno rešenje sa prototipskim delom.


Autor: Vladimir Savić
Napomena: tekst će biti preveden na engleski jezik by Nera Marković

Comments

Popular posts from this blog

Electrolytic capacitors and design rules

Fake VC830L digital multimeter

How to design LM324 Astable Multivibrator