Odată cu popularitatea crescândă a microcontrolerelor, inginerii folosesc microcontrolere mai mult decât FPGA. De Microcontrolere au devenit dominante asupra FPGA din cauza costului lor ieftine, suport bun, ușor de disponibilitate, comunitate mare, versatilitate, programare, etc dar altele decât că microprocesoare au unele limitări, cum ar fi instrucțiunile stabilite, executarea secvențială a programelor (procesare secvențială), lipsa flexibilității și reutilizării etc. Cu toate acestea, FPGA poate depăși aceste limitări, deoarece FPGA-urile au executare paralelă a programelor și este flexibil și reutilizabil înseamnă că poate fi reprogramat mereu pentru diferite sarcini.
Ce este FPGA și în ce fel este diferit de microcontroler
O matrice de poartă programabilă pe câmp este un cip de siliciu cu circuit integrat care are o gamă de porți logice și această matrice poate fi programată în câmp, adică utilizatorul poate suprascrie configurațiile existente cu noile sale configurații definite și își poate crea propriul circuit digital pe câmp. FPGA-urile pot fi considerate ca ardezie goală. FPGA-urile nu fac nimic de la sine, în timp ce depinde de designeri să creeze un fișier de configurare numit deseori un fișier bit pentru FPGA. FPGA se va comporta ca circuitul digital odată ce este încărcat cu un fișier bit.
În timp ce în microcontrolere, acest lucru nu este cazul, deoarece microcontrolerele nu pot fi programate sau restructurate pe teren. Utilizatorul nu are voie să suprascrie configurațiile sale existente și nici nu poate crea niciun circuit digital pe teren. Microcontrolerele sunt ușor de programat și comunitatea este, de asemenea, largă. Microcontrolerele sunt mini computere personalizate, care apar sub formă de IC, în timp ce FPGA conține doar blocuri logice care pot fi din nou cablate electric. De asemenea, în ceea ce privește microcontrolerele, consumă mai puțină energie decât FPGA. Se știe că FPGA-urile sunt costisitoare și necesită costuri mai mari decât microcontrolerul atunci când vine vorba de construirea oricărui dispozitiv. FPGA-urile necesită mult mai mult timp pentru configurare, în timp ce microcontrolerele sunt disponibile ușor construite pentru aplicații specifice.
Arhitectura FPGA
Un FPGA are o structură regulată de celule logice sau module și interconectări care se află sub controlul complet al dezvoltatorilor și proiectanților. FPGA este construit în principal cu trei blocuri majore, cum ar fi blocul logic configurabil (CLB), blocuri I / O sau tampoane și switch-uri de matrice / fire de interconectare. Fiecare bloc va fi discutat mai jos pe scurt.
- CLB (Bloc logic configurabil): Acestea sunt celulele de bază ale FPGA. Se compune dintr-un generator de funcții pe 8 biți, două generatoare de funcții pe 16 biți, două registre (flip-flop-uri sau zăvoare) și controale de rutare reprogramabile (multiplexoare). CLB-urile sunt aplicate pentru a implementa alte funcții și macrocomenzi proiectate. Fiecare CLB are intrări pe fiecare parte, ceea ce le face flexibile pentru cartografierea și partiționarea logicii.
- Tampoane sau blocuri I / O: Tampoanele de intrare / ieșire sunt utilizate pentru perifericele exterioare pentru a accesa funcțiile FPGA și folosind plăcile I / O poate comunica și cu FPGA pentru diferite aplicații folosind diferite periferice.
- Switch Matrix / Interconnection Wires: Switch Matrix este utilizat în FPGA pentru a conecta firele de interconectare lungi și scurte împreună într-o combinație flexibilă. De asemenea, conține tranzistoare pentru a activa / dezactiva conexiunile între diferite linii.
Când sunt necesare FPGA
După cum s-a menționat mai sus, faptul că microcontrolerele au unele limitări și nu pot fi utilizate pentru a efectua sarcini în paralel, deoarece microcontrolerul și microprocesoarele rulează pe execuția secvențială a programelor, ceea ce îl face puțin lent în unele aplicații, în acest scenariu FPGA-urile au un avantaj și pot fi utilizate în mod eficient. De asemenea, microcontrolerul poate efectua sarcini limitate, deoarece vin cu instrucțiuni și circuitele lor. Un programator trebuie să respecte restricțiile în timp ce dezvoltă codul. Deci, și în acest scenariu, FPGA au avantaj.
Cu toate acestea, în cazul microcontrolerelor, procesorul trece de la un cod la altul pentru a atinge un anumit nivel de paralelism. Veți găsi mai ușor să scrieți coduri pe microcontrolere decât FPGA. Capacitatea de procesare paralelă a FPGA-urilor vă permite să controlați întreruperile în mod eficient utilizând mașini de stat finit (FSM).
În cazul microcontrolerelor, trebuie să țineți cont de timpul necesar ISR pentru a rezolva o întrerupere. Puteți reconecta cu ușurință un FPGA doar prin reprogramarea acestuia. Configurația într-un FPGA este încărcată pe celulele logice configurabile la pornirea alimentării.
Nu trebuie să faceți nicio modificare în hardware pentru a reprograma FPGA. FPGA-urile sunt potrivite pentru procesarea de mare viteză a datelor paralele și vine cu un grad ridicat de personalizare. Cu toate acestea, ele au și dezavantajele funcționării prototipului și complexității configurației. Deci, FPGA-urile pot fi alese cu aceste avantaje față de microcontrolere. Să începem programarea FPGA și să subliniem