S rostoucí popularitou mikrokontrolérů používají inženýři mikrokontroléry více než FPGA. Tyto mikrořadiče se stali dominantní nad FPGA, protože jejich levnou, dobrá podpora, snadná dostupnost, velká komunita, univerzálnost, programování atd. Ale kromě toho mikroprocesory mají určitá omezení, jako jsou pokyny uvedenými, sekvenční provádění programů (sekvenční zpracování), nedostatek flexibility a opětovné použití atd. FPGA však může tato omezení překonat, protože FPGA mají paralelní provádění programů a je flexibilní a opakovaně použitelný, což znamená, že jej lze znovu a znovu naprogramovat na různé úkoly.
Co je FPGA a jak se liší od mikrokontroléru
Polní programovatelné hradlové pole je integrovaný obvod křemíkový čip, který má řadu logických hradel a tato pole mohou být naprogramovány v oblasti tedy uživatel může přepsat existující konfigurace s novými definovaných konfigurací a mohou vytvářet své vlastní digitální obvod na poli. FPGA lze považovat za prázdnou břidlici. FPGA samy o sobě nedělají nic, zatímco je na návrhářích, aby pro FPGA vytvořili konfigurační soubor, který se často nazývá bitový soubor. Jakmile se FPGA načte bitovým souborem, bude se chovat jako digitální obvod.
Zatímco u mikrokontrolérů tomu tak není, protože mikrokontroléry nelze v poli naprogramovat ani restrukturalizovat. Uživatel nesmí přepsat své stávající konfigurace ani nemůže na poli vytvořit žádný digitální obvod. Mikrokontroléry se snadno programují a komunita je také široká. Mikrokontroléry jsou na míru postavené minipočítače, které přicházejí ve formě IC, zatímco FPGA obsahují pouze logické bloky, které lze znovu elektricky propojit. Také z hlediska mikrokontrolérů spotřebovává méně energie než FPGA. O FPGA je známo, že jsou nákladné, a pokud jde o stavbu jakéhokoli zařízení , vyžaduje více nákladů než mikrokontrolér. Nastavení FPGA trvá podstatně mnohem déle, zatímco mikrokontroléry jsou k dispozici snadno připravené pro konkrétní aplikace.
Architektura FPGA
FPGA má pravidelnou strukturu logických buněk nebo modulů a propojení, která je pod úplnou kontrolou vývojářů a designérů. FPGA je sestaven převážně ze tří hlavních bloků, jako jsou Configurable Logic Block (CLB), I / O bloky nebo Pady a Switch Matrix / Interconnection Wires. Každý blok bude stručně popsán níže.
- CLB (Configurable Logic Block): Toto jsou základní buňky FPGA. Skládá se z jednoho 8bitového generátoru funkcí, dvou 16bitových generátorů funkcí, dvou registrů (klopných obvodů nebo západek) a přeprogramovatelných ovládacích prvků směrování (multiplexory). CLB se používají k implementaci dalších navržených funkcí a maker. Každý CLB má na každé straně vstupy, díky nimž je flexibilní pro mapování a dělení logiky.
- I / O Pady nebo bloky: Vstupní / výstupní podložky se používají pro vnější periferie pro přístup k funkcím FPGA a pomocí I / O podložek může také komunikovat s FPGA pro různé aplikace pomocí různých periferií.
- Switch Matrix / Interconnection Wires: Switch Matrix se používá v FPGA k propojení dlouhých a krátkých propojovacích vodičů dohromady ve flexibilní kombinaci. Obsahuje také tranzistory pro zapnutí / vypnutí připojení mezi různými linkami.
Když jsou potřeba FPGA
Jak již bylo zmíněno výše, mikrokontroléry mají určitá omezení a nelze je použít k paralelnímu provádění úloh, protože mikrokontroléry a mikroprocesory běží na sekvenčním provádění programů, což je u některých aplikací trochu pomalé, v tomto scénáři mají FPGA výhodu a lze je efektivně využít. Mikrokontrolér také může provádět omezené úkoly, protože přicházejí s pokyny a jejich obvody. Programátor musí při vývoji kódu dodržovat omezení. Takže i v tomto scénáři mají FPGA výhodu.
V případě mikrokontrolérů však procesor přepíná z jednoho kódu do druhého, aby dosáhl určité úrovně paralelismu. Zjistíte, že je jednodušší psát kódy na mikrokontroléry než FPGA. Schopnost paralelního zpracování FPGA vám umožňuje efektivně řídit přerušení pomocí strojů Finite State Machines (FSM).
V případě mikrokontrolérů musíte počítat s časem, který ISR potřebuje k vyřešení přerušení. FPGA můžete snadno přepojit jednoduše přeprogramováním. Konfigurace v FPGA je načtena do konfigurovatelných logických buněk, když je zapnuto napájení.
K přeprogramování FPGA nemusíte provádět žádné změny v hardwaru. FPGA jsou vhodné pro vysokorychlostní zpracování paralelních dat a přicházejí s vysokým stupněm přizpůsobitelnosti. Mají však také nevýhody provozu prototypu a složitost konfigurace. FPGA lze tedy zvolit s těmito výhodami oproti mikrokontrolérům. Začněme programování FPGA a zdůrazněte