Med ökande popularitet hos mikrokontroller använder ingenjörer mikrokontroller mer än FPGA. De Processorer har blivit dominerande över FPGA på grund av deras billig kostnad, bra stöd, lättillgänglighet, stor gemenskap, mångsidighet, programmering etc. Men annat än att mikroprocessorer har vissa begränsningar som instruktionerna, sekventiell exekvering av program (sekventiell bearbetning), brist på flexibilitet och återanvändbarhet etc. FPGA kan dock övervinna dessa begränsningar eftersom FPGA: er har parallellt utförande av program och det är flexibelt och återanvändbart innebär att det kan omprogrammeras om och om igen för olika uppgifter.
Vad är FPGA och hur det skiljer sig från Microcontroller
En fältprogrammerbar grindmatris är ett kiselchip med integrerad krets som har en rad logiska grindar och denna matris kan programmeras i fältet, dvs. användaren kan skriva över de befintliga konfigurationerna med sina nya definierade konfigurationer och kan skapa sin egen digitala krets på fältet. FPGA: erna kan betraktas som tomma skiffer. FPGA gör ingenting i sig medan det är upp till designers att skapa en konfigurationsfil som ofta kallas en bitfil för FPGA. FPGA kommer att fungera som den digitala kretsen när den laddas med en bitfil.
I mikrokontroller är detta inte fallet eftersom mikrokontroller inte kan programmeras eller omstruktureras i fält. Användaren får inte skriva över sina befintliga konfigurationer och de kan inte heller skapa någon digital krets på fältet. Mikrokontrollerna är lätta att programmera och samhället är också brett. Mikrokontrollerna är specialbyggda mini-datorer som kommer i IC-form medan FPGA endast innehåller logiska block som återigen kan kopplas om elektriskt. Även när det gäller mikrokontroller förbrukar den mindre ström än FPGA. FPGA: erna är kända för att vara kostsamma och det kräver mer kostnad än mikrokontroller när det gäller att bygga någon enhet. FPGA: er tar betydligt mycket mer tid att installera medan mikrokontrollerna är tillgängliga lätt byggda för specifika applikationer.
FPGA-arkitektur
En FPGA har en regelbunden struktur av logiska celler eller moduler och interlänkar som är under utvecklarnas och designers fullständiga kontroll. FPGA är byggd med huvudsakligen tre huvudblock som Configurable Logic Block (CLB), I / O-block eller -kuddar och Switch Matrix / Interconnection Wires. Varje block kommer att diskuteras nedan i korthet.
- CLB (Configurable Logic Block): Dessa är de grundläggande cellerna i FPGA. Den består av en 8-bitars funktionsgenerator, två 16-bitars funktionsgeneratorer, två register (flip-flops eller spärrar) och omprogrammerbara routingkontroller (multiplexrar). CLB: erna används för att implementera andra designade funktioner och makron. Varje CLB har ingångar på varje sida vilket gör dem flexibla för mappning och partitionering av logik.
- I / O-elektroder eller -block: Ingångs- / utmatningsplattorna används för externa kringutrustning för att få tillgång till funktionerna hos FPGA och med hjälp av I / O-elektroderna kan den också kommunicera med FPGA för olika applikationer som använder olika kringutrustning.
- Switch Matrix / Interconnection Wires: Switch Matrix används i FPGA för att ansluta de långa och korta sammankopplingskablarna i en flexibel kombination. Den innehåller också transistorerna för att slå på / av anslutningar mellan olika linjer.
När FPGA behövs
Som nämnts ovan har mikrokontroller en viss begränsning och kan inte användas för att utföra uppgiften parallellt eftersom mikrokontroller och mikroprocessorer körs på sekventiell körning av program vilket gör det lite långsamt i vissa applikationer, i detta scenario har FPGA: erna en fördel och kan effektivt användas. Även mikrokontroller kan utföra begränsade uppgifter eftersom de kommer med instruktioner och deras kretsar. En programmerare måste följa begränsningarna när man utvecklar kod. Så även i detta scenario har FPGA: erna fördel.
I fallet med mikrokontroller växlar dock processorn från en kod till en annan för att uppnå en viss nivå av parallellitet. Det blir lättare att skriva koder på mikrokontroller än FPGA. Den parallella bearbetningskapaciteten hos FPGA-enheter gör att du kan kontrollera avbrott effektivt genom att använda Finite State Machines (FSM).
När det gäller mikrokontroller måste du ta reda på den tid som ISR tar för att lösa ett avbrott. Du kan enkelt koppla om en FPGA bara genom att programmera om den. Konfigurationen i en FPGA laddas på de konfigurerbara logiska cellerna när strömmen slås på.
Du behöver inte göra några ändringar i hårdvaran för att omprogrammera FPGA. FPGA: er är lämpliga för snabb bearbetning av parallella data och har en hög grad av anpassningsbarhet. Men de har också nackdelarna med prototypoperation och komplexitet i konfigurationen. Så, FPGA kan väljas med dessa fördelar jämfört med mikrokontroller. Låt oss börja FPGA-programmeringen och betona