Vis labiau populiarėjant mikrovaldikliams, inžinieriai naudoja mikrovaldiklius daugiau nei FPGA. Į Mikrovaldikliai tapo dominuojanti virš FPGA, nes jų pigia, gera parama, lengvai prieinamas, didelė bendruomenė, universalumas, programavimas ir tt Tačiau, išskyrus tai, kad mikroprocesorių turi tam tikrų apribojimų, pavyzdžiui, nustatytų instrukcijų, nuoseklus vykdymas programų (nuoseklusis apdorojimas), trūksta lankstumo, pakartotinio naudojimo ir pan. Tačiau FPGA gali įveikti šiuos apribojimus, nes FPGA vykdo programas lygiagrečiai, o tai yra lankstus ir daugkartinio naudojimo būdas, todėl jį galima perprogramuoti vis kitoms užduotims atlikti.
Kas yra FPGA ir kuo jis skiriasi nuo mikrovaldiklio
Lauko programuojamos loginių elementų masyvas yra integrinis grandynas silicio lustą, kuris turi įvairių loginių ir tai masyvas gali būti užprogramuotas srityje ty vartotojas gali perrašyti esamus konfigūracijas su savo naujais apibrėžtus konfigūracijos ir gali sukurti savo skaitmeninį jungimas srityje. FPGA gali būti laikoma tuščia lenta. FPGA nieko neveikia savaime, o dizaineriai turi sukurti konfigūracijos failą, dažnai vadinamą FPGA bitiniu failu. FPGA elgsis kaip skaitmeninė grandinė, kai bus įkelta šiek tiek failo.
Tuo tarpu mikrovaldikliuose taip nėra, nes mikrovaldiklių negalima programuoti ar pertvarkyti lauke. Vartotojui neleidžiama perrašyti esamų konfigūracijų, taip pat jis negali sukurti skaitmeninės grandinės lauke. Mikrovaldiklius lengva programuoti, o bendruomenė taip pat plati. Mikrovaldikliai yra individualiai pastatyti mini kompiuteriai, kurie pateikiami IC forma, o FPGA yra tik loginiai blokai, kuriuos vėl galima perjungti iš naujo. Taip pat kalbant apie mikrovaldiklius, jis sunaudoja mažiau energijos nei FPGA. Žinoma, kad FPGA yra brangus ir kuriant bet kokį įrenginį reikia daugiau išlaidų nei mikrovaldikliui. FPGA nustatymas užima daug daugiau laiko, o mikrovaldikliai yra lengvai sukonstruoti konkrečioms programoms.
FPGA architektūra
FPGA turi įprastą loginių elementų ar modulių struktūrą ir sąsajas, kurias kūrėjai ir dizaineriai visiškai kontroliuoja. FPGA yra sukonstruotas daugiausia iš trijų pagrindinių blokų, tokių kaip konfigūruojamas loginis blokas (CLB), įvesties / išvesties blokai arba bloknotai ir jungiklių matricos / sujungimo laidai. Kiekvienas blokas bus trumpai aptartas žemiau.
- CLB (konfigūruojamas loginis blokas): tai yra pagrindinės FPGA ląstelės. Jį sudaro vienas 8 bitų funkcijų generatorius, du 16 bitų funkcijų generatoriai, du registrai (šlepetės ar skląsčiai) ir perprogramuojami maršruto valdymo valdikliai (tankintuvai). CLB yra naudojami įgyvendinant kitas suprojektuotas funkcijas ir makrokomandas. Kiekvienas CLB turi įvadus iš abiejų pusių, todėl jie tampa lankstūs atvaizduojant ir skaidant logiką.
- Įvesties / išvesties bloknotai arba blokai: įvesties / išvesties bloknotai naudojami išoriniams periferiniams įrenginiams pasiekti FPGA funkcijas ir naudojant įvesties / išvesties bloknotus, jie taip pat gali bendrauti su FPGA skirtingoms programoms, naudodami skirtingus išorinius įrenginius.
- „Switch Matrix“ / sujungimo laidai: „ Switch Matrix“ naudojama FPGA, kad ilgas ir trumpas sujungimo laidai būtų sujungiami lanksčiai. Jame taip pat yra tranzistoriai, skirti įjungti / išjungti jungtis tarp skirtingų linijų.
Kai reikalingi FPGA
Kaip minėta pirmiau, mikrovaldikliai turi tam tikrų apribojimų ir negali būti naudojami lygiagrečiai atlikti užduotis, nes mikrovaldiklis ir mikroprocesoriai veikia nuosekliai vykdant programas, todėl kai kuriose programose tai šiek tiek lėtai, šiuo atveju FPGA turi pranašumą ir gali būti efektyviai naudojami. Taip pat mikrovaldiklis gali atlikti ribotas užduotis, nes jie yra su instrukcijomis ir jų schemomis. Kurdamas kodą, programuotojas turi laikytis apribojimų. Taigi šiame scenarijuje FPGA turi pranašumų.
Tačiau mikrovaldiklių atveju procesorius persijungia iš vieno kodo į kitą, kad pasiektų tam tikrą lygiagretumo lygį. Jums bus lengviau parašyti kodus ant mikrovaldiklių nei FPGA. Lygiagrečiai apdorojimas pajėgumą FPGA leidžia jums efektyviai valdyti pertraukimus naudojant baigtinis automatas (FSMs).
Mikrovaldiklių atveju turite atsiskaityti už laiką, per kurį ISR nutraukė pertrauką. FPGA galite lengvai perjungti tik perprogramuodami. Konfigūracija FPGA įkeliama į konfigūruojamas logikos ląsteles, kai įjungiamas maitinimas.
Norėdami perprogramuoti FPGA, nereikia atlikti aparatūros pakeitimų. FPGA yra tinkami greitai apdoroti lygiagrečius duomenis ir yra labai pritaikomi. Tačiau jie taip pat turi prototipo veikimo ir konfigūravimo sudėtingumo trūkumų. Taigi, FPGA galima pasirinkti su šiais pranašumais, palyginti su mikrovaldikliais. Pradėkime FPGA programavimą ir pabrėžkime