Z naraščajočo priljubljenostjo mikrokrmilnikov inženirji uporabljajo mikrokrmilnike več kot FPGA. V mikrokontrolerji so postali prevladujoča nad FPGA zaradi svoje nizkimi stroški, dobra podpora, lahka dostopnost, velika skupnost, vsestranskost, programiranje itd Ampak razen da so mikroprocesorji imajo nekatere omejitve, kot so navodili, zaporedno izvajanje programov (zaporedna obdelava), pomanjkanje prilagodljivosti in ponovne uporabnosti itd. Vendar lahko FPGA premaga te omejitve, saj imajo FPGA vzporedno izvajanje programov in je prilagodljiv in za večkratno uporabo, zato ga je mogoče znova in znova programirati za različne naloge.
Kaj je FPGA in kako se razlikuje od mikrokrmilnika
Field-Programmable Gate Array je integrirano vezje silicijev čip, ki ima vrsto logičnih vrat in to polje se lahko programirajo na področju tj uporabnik lahko prepiše obstoječe konfiguracije s svojimi novimi opredeljenih sestav in lahko ustvarijo svojo digitalno vezje, na polju. FPGA se lahko štejejo za prazen skrilavec. FPGA sami ne naredijo ničesar, oblikovalci pa morajo ustvariti konfiguracijsko datoteko, ki se pogosto imenuje bitna datoteka za FPGA. FPGA se bo obnašal kot digitalno vezje, ko bo naložen z bitno datoteko.
Medtem ko pri mikrokrmilnikih ni tako, ker jih na terenu ni mogoče programirati ali prestrukturirati. Uporabnik ne sme prepisati svojih obstoječih konfiguracij niti ne more ustvariti digitalnega vezja na terenu. Mikrokrmilnike je enostavno programirati, skupnost pa je tudi široka. Mikrokrmilniki so po meri izdelani mini računalniki, ki so v obliki IC, medtem ko FPGA vsebujejo samo logične bloke, ki jih je mogoče znova električno povezati. Tudi glede mikrokrmilnikov porabi manj energije kot FPGA. Znano je, da so FPGA drage in pri izdelavi katere koli naprave zahtevajo več stroškov kot mikrokrmilnik. Nastavitev FPGA potrebuje precej več časa, medtem ko so mikrokrmilniki na voljo za posebne aplikacije.
Arhitektura FPGA
FPGA ima običajno strukturo logičnih celic ali modulov in povezav, ki je pod popolnim nadzorom razvijalcev in oblikovalcev. FPGA je zgrajen v glavnem s tremi glavnimi bloki, kot so nastavljivi logični blok (CLB), vhodno-izhodni bloki ali blazinice in matrične / medsebojno povezane žice. Vsak blok bo na kratko obravnavan spodaj.
- CLB (nastavljiv logični blok): To so osnovne celice FPGA. Sestavljen je iz enega 8-bitnega generatorja funkcij, dveh 16-bitnih generatorjev funkcij, dveh registrov (flip-flops ali zapahi) in programabilnih krmilnih usmerjevalnikov (multiplekserji). CLB se uporabljajo za izvajanje drugih zasnovanih funkcij in makrov. Vsak CLB ima vhode na vsaki strani, zaradi česar so fleksibilni za preslikavo in razdelitev logike.
- Vhodno / izhodne blazinice ali bloki: Vhodno / izhodne blazinice se uporabljajo za zunanje zunanje naprave za dostop do funkcij FPGA, z uporabo vhodno / izhodnih ploščic pa lahko komunicira tudi s FPGA za različne aplikacije z različnimi zunanjimi napravami.
- Switch Matrix / Interconnection Wires: Switch Matrix se uporablja v FPGA za povezovanje dolgih in kratkih medsebojnih žic v prožni kombinaciji. Vsebuje tudi tranzistorje za vklop / izklop povezav med različnimi linijami.
Kadar so potrebni FPGA
Kot je bilo omenjeno zgoraj, imajo mikrokrmilniki nekatere omejitve in jih ni mogoče uporabljati za opravljanje nalog vzporedno, saj mikrokrmilnik in mikroprocesorji delujejo na zaporedno izvajanje programov, zaradi česar je v nekaterih aplikacijah nekoliko počasno, v tem primeru imajo FPGA prednosti in jih je mogoče učinkovito uporabljati. Tudi mikrokrmilnik lahko izvaja omejena opravila, ker imajo priložena navodila in njihova vezja. Programer se mora pri razvoju kode držati omejitev. Torej imajo tudi v tem scenariju prednost FPGA.
Vendar pa v primeru mikrokrmilnikov procesor preklopi z ene kode na drugo, da doseže določeno stopnjo vzporednosti. Na mikrokrmilnike boste lažje pisali kode kot FPGA. Zmogljivost vzporedne obdelave FPGA vam omogoča učinkovit nadzor nad prekinitvami s končnimi stroji (FSM).
Pri mikrokrmilnikih morate upoštevati čas, ki ga ISR porabi za odpravo prekinitve. FPGA lahko preprosto preusmerite samo s ponovnim programiranjem. Konfiguracija v FPGA se naloži na nastavljive logične celice ob vklopu napajanja.
Za ponovno programiranje FPGA vam ni treba spreminjati strojne opreme. FPGA-ji so primerni za hitro obdelavo vzporednih podatkov in imajo visoko stopnjo prilagodljivosti. Imajo pa tudi pomanjkljivosti delovanja prototipa in zapletenosti konfiguracije. Torej lahko FPGA izberete s temi prednostmi pred mikrokrmilniki. Začnimo s programiranjem FPGA in poudarimo