Met de groeiende populariteit van microcontrollers gebruiken ingenieurs microcontrollers meer dan FPGA's. De microcontrollers zijn dominant geworden ten opzichte van FPGA vanwege hun lage kosten, goede ondersteuning, gemakkelijke beschikbaarheid, grote gemeenschap, veelzijdigheid, programmering enz. gebrek aan flexibiliteit en herbruikbaarheid enz. De FPGA kan deze beperkingen echter overwinnen, aangezien FPGA's parallelle uitvoering van programma's hebben en het flexibel en herbruikbaar is, wat betekent dat het steeds opnieuw kan worden geprogrammeerd voor verschillende taken.
Wat is FPGA en hoe verschilt het van Microcontroller
Een Field-Programmable Gate Array is een siliciumchip met geïntegreerde schakeling die een array van logische poorten heeft en deze array kan in het veld worden geprogrammeerd, dwz de gebruiker kan de bestaande configuraties overschrijven met zijn nieuw gedefinieerde configuraties en kan zijn eigen digitale schakeling op het veld creëren. De FPGA's kunnen als een schone lei worden beschouwd. FPGA's doen zelf niets, terwijl het aan ontwerpers is om een configuratiebestand te maken dat vaak een bitbestand wordt genoemd voor de FPGA. De FPGA zal zich gedragen als het digitale circuit als het eenmaal is geladen met een bitbestand.
Terwijl dit bij microcontrollers niet het geval is, omdat microcontrollers niet in het veld kunnen worden geprogrammeerd of geherstructureerd. Het is de gebruiker niet toegestaan om de bestaande configuraties te overschrijven, noch kunnen ze een digitaal circuit op het veld creëren. De microcontrollers zijn eenvoudig te programmeren en de community is ook breed. De microcontrollers zijn op maat gemaakte minicomputers die in IC-vorm worden geleverd, terwijl FPGA's alleen logische blokken bevatten die weer elektrisch opnieuw kunnen worden bedraad. Ook in termen van microcontrollers verbruikt het minder stroom dan FPGA's. Het is bekend dat FPGA's duur zijn en er meer kosten voor nodig zijn dan een microcontroller als het gaat om het bouwen van een apparaat. FPGA's nemen aanzienlijk veel meer tijd in beslag om op te zetten, terwijl de microcontrollers direct beschikbaar zijn voor specifieke toepassingen.
FPGA-architectuur
Een FPGA heeft een regelmatige structuur van logische cellen of modules en interlinks die onder de volledige controle van de ontwikkelaars en ontwerpers staat. De FPGA is gebouwd met hoofdzakelijk drie grote blokken, zoals Configurable Logic Block (CLB), I / O Blocks of Pads en Switch Matrix / Interconnection Wires. Elk blok wordt hieronder kort besproken.
- CLB (Configurable Logic Block): dit zijn de basiscellen van FPGA. Het bestaat uit een 8-bit functiegenerator, twee 16-bit functiegeneratoren, twee registers (flip-flops of latches) en herprogrammeerbare routingcontroles (multiplexers). De CLB's worden toegepast om andere ontworpen functies en macro's te implementeren. Elke CLB heeft ingangen aan elke kant, waardoor ze flexibel zijn voor het in kaart brengen en partitioneren van logica.
- I / O-pads of -blokken: de input / output-pads worden gebruikt voor externe randapparatuur om toegang te krijgen tot de functies van FPGA en met behulp van de I / O-pads kan het ook communiceren met FPGA voor verschillende toepassingen met behulp van verschillende randapparatuur.
- Switch Matrix / Interconnection Wires: Switch Matrix wordt gebruikt in FPGA om de lange en korte interconnectiedraden flexibel met elkaar te verbinden. Het bevat ook de transistors om verbindingen tussen verschillende lijnen aan / uit te zetten.
Wanneer FPGA's nodig zijn
Zoals hierboven vermeld, hebben microcontrollers enige beperking en kunnen ze niet worden gebruikt om taken parallel uit te voeren, aangezien microcontroller en microprocessors draaien op sequentiële uitvoering van programma's, wat het in sommige toepassingen een beetje traag maakt, in dit scenario hebben de FPGA's een voordeel en kunnen ze effectief worden gebruikt. Ook microcontrollers kunnen beperkte taken uitvoeren omdat ze worden geleverd met instructies en hun schakelingen. Een programmeur moet zich aan de beperkingen houden bij het ontwikkelen van code. Dus ook in dit scenario hebben de FPGA's een voordeel.
In het geval van microcontrollers schakelt de processor echter van de ene code naar de andere om een bepaald niveau van parallelliteit te bereiken. U zult het gemakkelijker vinden om codes op microcontrollers te schrijven dan FPGA's. De parallelle verwerkingscapaciteit van FPGA's stelt u in staat om onderbrekingen effectief te beheersen door Finite State Machines (FSM's) te gebruiken.
Bij microcontrollers moet u rekening houden met de tijd die ISR nodig heeft om een storing op te lossen. U kunt een FPGA eenvoudig opnieuw bedraden door hem opnieuw te programmeren. De configuratie in een FPGA wordt geladen op de configureerbare logische cellen wanneer de stroom wordt ingeschakeld.
U hoeft geen wijzigingen in de hardware aan te brengen om de FPGA opnieuw te programmeren. FPGA's zijn geschikt voor snelle verwerking van parallelle gegevens en worden geleverd met een hoge mate van aanpasbaarheid. Ze hebben echter ook de nadelen van de werking van het prototype en de complexiteit van de configuratie. De FPGA's kunnen dus worden gekozen met deze voordelen ten opzichte van microcontrollers. Laten we beginnen met de FPGA-programmering en benadrukken