Pieaugot mikrokontrolleru popularitātei, inženieri izmanto mikrokontrollerus vairāk nekā FPGA. Par Mikrokontrolleri kļuvuši dominē pār FPGA jo to lētu cenu, labs atbalsts, viegli pieejamību, liela kopiena, daudzpusība, programmēšanas utt Bet, izņemot to, ka mikroprocesoru ir daži ierobežojumi, piemēram, instrukcijas, kas, secīga izpilde programmu (secīgs pārstrāde), elastības trūkums un atkārtota izmantošana utt. Tomēr FPGA var pārvarēt šos ierobežojumus, jo FPGA ir paralēla programmu izpilde, un tas ir elastīgs un atkārtoti lietojams līdzeklis, tāpēc to var pārprogrammēt dažādiem uzdevumiem.
Kas ir FPGA un ar ko tas atšķiras no mikrokontrollera
Lauks-Programmable Gate Array ir integrēta shēma silīcija mikroshēmas, kas ir masīvs loģika vārti, un tas masīvs var ieprogrammēt jomā, ti, lietotājs var pārrakstīt esošos konfigurācijas ar saviem jaunajiem noteiktajiem konfigurācijās, un var izveidot savu digitālo ķēdes uz lauka. FPGA var uzskatīt par tukšu lapu. FPGA neko nedara pats, savukārt dizaineriem ir jāizveido konfigurācijas fails, ko bieži sauc par mazliet failu FPGA. FPGA rīkosies tāpat kā digitālā shēma, kad tā būs ielādēta ar mazliet failu.
Tā kā mikrokontrolleros tas tā nav, jo mikrokontrollerus šajā jomā nevar ieprogrammēt vai pārstrukturēt. Lietotājam nav atļauts pārrakstīt esošās konfigurācijas, kā arī viņš nevar laukā izveidot digitālu shēmu. Mikrokontrollerus ir viegli programmēt, un kopiena ir arī plaša. Mikrokontrolleri ir pielāgoti iebūvēti mini datori, kas tiek piegādāti IC formā, savukārt FPGA satur tikai loģiskus blokus, kurus atkal var atkārtoti pieslēgt elektriski. Arī attiecībā uz mikrokontrolleriem tas patērē mazāk enerģijas nekā FPGA. Ir zināms, ka FPGA ir dārgi, un, lai izveidotu jebkuru ierīci, tas prasa vairāk izmaksu nekā mikrokontrolleris. FPGA iestatīšana prasa daudz vairāk laika, kamēr mikrokontrolleri ir viegli izveidoti īpašām lietojumprogrammām.
FPGA arhitektūra
FPGA ir regulāra loģisko šūnu vai moduļu un savstarpējo saišu struktūra, kuru izstrādātāji un dizaineri pilnībā kontrolē. FPGA pamatā ir trīs galvenie bloki, piemēram, konfigurējams loģiskais bloks (CLB), I / O bloki vai spilventiņi un slēdžu matricas / starpsavienojuma vadi. Katrs bloks turpmāk tiks aplūkots īsumā.
- CLB (konfigurējams loģiskais bloks): šīs ir FPGA pamatšūnas. Tas sastāv no viena 8 bitu funkciju ģeneratora, diviem 16 bitu funkciju ģeneratoriem, diviem reģistriem (flip-flops vai aizbīdņi) un pārprogrammējamām maršrutēšanas vadības ierīcēm (multipleksoriem). CLB tiek izmantoti, lai ieviestu citas izstrādātas funkcijas un makro. Katram CLB ir ieejas katrā pusē, kas padara tos elastīgus loģikas kartēšanai un sadalīšanai.
- Ieejas / izejas spilventiņi vai bloki: Ieejas / izejas spilventiņi tiek izmantoti ārējām perifērijas ierīcēm, lai piekļūtu FPGA funkcijām, un, izmantojot I / O spilventiņus, tā var arī sazināties ar FPGA dažādām lietojumprogrammām, izmantojot dažādas perifērijas ierīces.
- Slēdža matricas / starpsavienojuma vadi: Slēdzis Matrix tiek izmantots FPGA, lai savienotu garos un īsos starpsavienojuma vadus kopā elastīgā kombinācijā. Tas satur arī tranzistorus, lai ieslēgtu / izslēgtu savienojumus starp dažādām līnijām.
Kad nepieciešami FPGA
Kā minēts iepriekš, mikrokontrolleriem ir daži ierobežojumi un tos nevar izmantot uzdevumu paralēlai izpildei, jo mikrokontrolleri un mikroprocesori darbojas secīgi izpildot programmas, kas dažās lietojumprogrammās padara to nedaudz lēnu, šajā scenārijā FPGA ir priekšrocība un tos var efektīvi izmantot. Arī mikrokontrolleris var veikt ierobežotus uzdevumus, jo tiem ir instrukcijas un to shēmas. Programmētājam ir jāievēro ierobežojumi, izstrādājot kodu. Tātad arī šajā scenārijā FPGA ir priekšrocības.
Tomēr mikrokontrolleru gadījumā procesors pāriet no viena koda uz otru, lai sasniegtu zināmu paralēlisma līmeni. Jums būs vieglāk rakstīt kodus uz mikrokontrolleriem nekā FPGA. Paralēlā apstrāde spēja matricas ļauj efektīvi kontrolēt pārtraukumus, lietojot galīgs automāts (FSMs).
Mikrokontrolleru gadījumā jums jāņem vērā ISR patērētais laiks, lai atrisinātu pārtraukumu. Vienkārši pārprogrammējot, varat viegli pārveidot FPGA. Kad barošana tiek ieslēgta, FPGA konfigurācija tiek ielādēta konfigurējamās loģikas šūnās.
Lai pārprogrammētu FPGA, aparatūrā nav jāveic nekādas izmaiņas. FPGA ir piemēroti ātrdarbīgai paralēlu datu apstrādei, un tiem ir augsta pielāgošanas pakāpe. Tomēr viņiem ir arī prototipa darbības trūkumi un konfigurācijas sarežģītība. Tātad FPGA var izvēlēties ar šīm priekšrocībām salīdzinājumā ar mikrokontrolleriem. Sāksim FPGA programmēšanu un uzsvērsim