S rastúcou popularitou mikrokontrolérov používajú inžinieri mikrokontroléry viac ako FPGA. Tieto mikroradiče sa stali dominantné nad FPGA, pretože ich lacnú, dobrá podpora, ľahká dostupnosť, veľká komunita, univerzálnosť, programovanie atď. Ale okrem toho mikroprocesory majú určité obmedzenia, ako sú pokynmi uvedenými, sekvenčné implementáciu programov (sekvenčné spracovanie), nedostatok flexibility a opätovného použitia atď. Avšak FPGA môže prekonať tieto obmedzenia, pretože FPGA majú paralelné vykonávanie programov a je flexibilný a opakovane použiteľný, čo znamená, že ho možno opakovane programovať na rôzne úlohy.
Čo je to FPGA a v čom sa líši od mikrokontroléra
Poľné programovateľné hradlové pole je integrovaný obvod kremíkový čip, ktorý má rad logických hradiel a tieto polia môžu byť naprogramované v oblasti teda užívateľ môže prepísať existujúci konfigurácia s novými definovaných konfiguráciou a môžu vytvárať svoje vlastné digitálne obvod na poli. FPGA možno považovať za prázdnu tabuľu. FPGA samy o sebe nič nerobia, zatiaľ čo je na návrhároch, aby pre FPGA vytvorili konfiguračný súbor, ktorý sa často nazýva bitový súbor. Po načítaní bitového súboru do FPGA sa bude správať ako digitálny obvod.
Zatiaľ čo v mikrokontroléroch to tak nie je, pretože mikrokontroléry nie je možné programovať alebo reštrukturalizovať v teréne. Užívateľ nesmie prepísať svoje existujúce konfigurácie ani vytvoriť digitálny obvod v teréne. Mikrokontroléry sa ľahko programujú a komunita je tiež široká. Mikrokontroléry sú na mieru postavené minipočítače dodávané vo forme IC, zatiaľ čo FPGA obsahujú iba logické bloky, ktoré je možné opäť elektricky prepojiť. Aj z hľadiska mikrokontrolérov spotrebuje menej energie ako FPGA. O FPGA je známe, že sú nákladné a pri zostavovaní ľubovoľného zariadenia si vyžadujú vyššie náklady ako mikrokontrolér. Nastavenie FPGA trvá podstatne viac času, zatiaľ čo mikrokontroléry sú k dispozícii ľahko zostavené pre konkrétne aplikácie.
Architektúra FPGA
FPGA má pravidelnú štruktúru logických buniek alebo modulov a vzájomných prepojení, ktoré majú pod úplnou kontrolou vývojári a dizajnéri. FPGA je zostavený hlavne z troch hlavných blokov, ako sú Configurable Logic Block (CLB), I / O bloky alebo Pady a Switch Matrix / Interconnection Wires. O každom bloku bude v krátkosti reč.
- CLB (Configurable Logic Block): Toto sú základné bunky FPGA. Skladá sa z jedného 8-bitového generátora funkcií, dvoch 16-bitových generátorov funkcií, dvoch registrov (klopných obvodov alebo západiek) a preprogramovateľných ovládacích prvkov smerovania (multiplexory). CLB sa používajú na implementáciu ďalších navrhnutých funkcií a makier. Každý modul CLB má na každej strane vstupy, vďaka čomu je flexibilný na mapovanie a rozdeľovanie logiky.
- I / O Pady alebo bloky: Vstupné / výstupné podložky sa používajú pre vonkajšie periférie na prístup k funkciám FPGA a pomocou vstupno-výstupných podložiek môže tiež komunikovať s FPGA pre rôzne aplikácie pomocou rôznych periférií.
- Switch Matrix / Interconnection Wires: Switch Matrix sa používa v FPGA na spojenie dlhých a krátkych prepojovacích vodičov dohromady vo flexibilnej kombinácii. Obsahuje tiež tranzistory na zapnutie / vypnutie spojenia medzi rôznymi linkami.
Keď sú potrebné FPGA
Ako už bolo spomenuté vyššie, mikrokontroléry majú určité obmedzenia a nemôžu byť použité na paralelné vykonávanie úloh, pretože mikrokontroléry a mikroprocesory bežia na postupnom vykonávaní programov, čo ich v niektorých aplikáciách trochu spomalí, v tomto scenári majú FPGA výhodu a dajú sa efektívne využiť. Mikrokontrolér tiež môže vykonávať obmedzené úlohy, pretože obsahuje pokyny a ich obvody. Programátor musí pri vývoji kódu dodržiavať obmedzenia. Aj v tomto scenári teda majú FPGA výhodu.
V prípade mikrokontrolérov však procesor prepína z jedného kódu na druhý, aby dosiahol určitú úroveň paralelizmu. Budete ľahšie písať kódy na mikrokontroléry ako FPGA. Schopnosť paralelného spracovania FPGA vám umožňuje efektívne riadiť prerušenia pomocou strojov Finite State Machines (FSM).
V prípade mikrokontrolérov musíte brať do úvahy čas, ktorý ISR potrebuje na vyriešenie prerušenia. Program FPGA môžete jednoducho prepájať jednoduchým preprogramovaním. Po zapnutí napájania sa konfigurácia v FPGA načíta na konfigurovateľných logických bunkách.
Na preprogramovanie FPGA nemusíte robiť žiadne zmeny v hardvéri. FPGA sú vhodné na vysokorýchlostné spracovanie paralelných dát a prichádzajú s vysokou mierou prispôsobiteľnosti. Majú však aj nevýhody prevádzky prototypov a zložitosť konfigurácie. Takže FPGA je možné zvoliť s týmito výhodami oproti mikrokontrolérom. Začnime programovanie FPGA a zdôraznime