Categories: Circuits de microcontroladors
Nombre de visualitzacions: 21445
Comentaris sobre l'article: 0
Què és FPGA un llenguatge senzill per a principiants
Amb què s’associa l’electrònica digital? En primer lloc, amb elements lògics I, O, NO. A més, es registren a la memòria els registres de canvis, els decodificadors, els multiplexors, etc. Tanmateix, a mesura que augmenta la complexitat dels dispositius electrònics i la tendència a la miniaturització, la creació de dispositius basats en circuits integrats (ICs) dels components anteriors es va fer més difícil, les IC personalitzades de la topologia i els circuits necessaris només van resultar de valor només quan el dispositiu es va replicar en gran quantitat, en altres casos va ser raonablement car.
La sortida d’aquesta situació va ser el desenvolupament de circuits lògics integrats programables (abreujats com FPGA, abreviació estrangera com a dispositiu lògic programable, PLD). Què és i on s’utilitza expliquem en aquest article.

Diferències dels microcontroladors
Amb la paraula "programable", la majoria de principiants s’associen amb microcontroladors. Tot i que també estan programats, els FPGA són un dispositiu completament diferent.
Per als desenvolupadors de microcontroladors, hi ha disponible un conjunt fix de solucions i mitjans que són inherents a un xip en particular, no funcionarà de cap manera per retirar-se de l'arquitectura. Se li proporciona un conjunt de comandaments amb els quals realitza operacions d’interacció amb l’entorn, llegint dades d’entrades digitals i analògiques i enviant senyals als actuadors mitjançant sortides.
A més, podeu realitzar càlculs, guardar dades en registres o ROM, així com operar amb dades llampades a la memòria del microcontrolador. Sobre això, en essència, hi ha el propòsit i les característiques de treballar amb microcontroladors.

Els circuits integrats de lògica programable (FPGA) són diferents perquè en programar un dispositiu, vosaltres mateixos creeu una arquitectura a partir d’elements lògics bàsics. D’aquesta manera, obteniu alta velocitat i flexibilitat del xip. Això fa possible, sense canviar un xip, diversos projectes.
Generalment, el dispositiu FPGA intern es pot dividir en tres grups principals:
1. Una matriu d’elements lògics (macrocells, blocs lògics).
2. Blocs d'entrada / sortida (IO).
3. Línies de comunicació entre elles i el dispositiu que controla aquestes connexions.
Tanmateix, aquesta estructuració està molt generalitzada, examinarem aquest tema amb més detall a continuació.
Programant, connecteu els elements de la mateixa manera que ho faríeu, muntant un dispositiu a partir d’elements individuals i connectant les seves entrades i sortides amb conductors.
Nota:
La diferència principal entre els FPGA i els microcontroladors és que en un microcontrolador no es poden canviar les connexions internes entre els elements més senzills, i la programació i el treball amb ells es basa en el registre de connexions.
L'elecció dels microcontroladors es basa en molts criteris, com ara:
-
Velocitat i velocitat del rellotge;
-
La quantitat de ROM i RAM;
-
El nombre d'entrades i sortides.
Altres funcions i perifèrics funcionals, com ara suport per a línies i protocols de comunicació (I2C, un fil, senyal PWM, etc.).
Quan escolliu un FPGA, el principal criteri és el nombre de blocs programables: haurien de ser suficients per implementar la tasca.
Depenent de la FPGA específica, el nombre de blocs pot variar entre límits amplis i el cost en conseqüència.
El microcontrolador realitza seqüencialment totes les operacions prescrites al seu programa, mentre que els blocs FPGA realitzen la tasca en paral·lel i independentment els uns dels altres, per tant, comparar aquests dispositius per freqüència de rellotge no és pràctic. El seu principi de funcionament és massa diferent.

Espècie
Actualment són rellevants dos tipus principals d’FPGA:
1. CPLD (Complex Programable Logic Device - Circuit Integrat de Lògica Programable, de fet, es tracta de FPGA en el seu sentit clàssic). Normalment té una memòria no volàtil incorporada en la qual es carrega el firmware.
L’estructura interna està basada en una matriu de macrocells o blocs lògics, i el nombre d’elements que hi ha es troba en el rang de centenars i milers de peces. Per la seva relativa senzillesa, són més barats que el següent tipus de lògica programable. Tot plegat condueix al fet que CPLD s’utilitza principalment en circuits on es necessita alta velocitat i un gran nombre de sortides, alhora que es realitzen tasques senzilles.
2. FPGA (Gate-Programmable Gate Array - Gate Programmable Gate Array, però tot sovint s'anomena FPGA) - dispositius més desenvolupats i complexos en comparació amb CPLD, es construeixen sobre blocs lògics amb commutació flexible i contenen un nombre més gran d’elements (desenes o centenars de milers de peces).
El firmware s’emmagatzema normalment a la memòria externa no volàtil. A més dels elements lògics més senzills, els FPGA poden contenir blocs preparats per realitzar qualsevol operació, per exemple, blocs de processament de senyal DSP. Tot això permet implementar un processador, dispositius de processament de senyal i altres dispositius complexos.
Interessant:
Tot i que de fet la presència de memòria no volàtil no fa de lògica programable CPLD. Això és parcialment enganyós. La principal diferència entre CPLD i FPGA és l’estructura interna.

El dispositiu CPLD intern es mostra amb més detall a la figura següent.

I l’esquema aproximat de la seva macrocel·la sembla:

La macrocel es compon de multiplexors programables, disparadors (un o més) i forma un grup de senyals FB de sortida en diverses versions.
A continuació es mostra un altre exemple: un diagrama de blocs de la família de xips CPLD de MAX II d'Altera.

I el pla estructural de les fitxes d’una mateixa família.

Els pneumàtics intermedis s’assignen a macrocells mitjançant un node com un distribuïdor en anglès. sona com un Allocator de lògica, que es mostra al diagrama següent, també mostra la matriu de commutació (Global Routing Pool), i a la sortida els macrocells (macrocells) tenen dos comentaris.

Les sortides externes del microcircuit es connecten a les sortides dels macrocells a través d’un altre bloc (matriu) - ORP (Output Routing Pool), tingueu en compte que a través d’ella es connecta la lògica INPUT a GRP, tal com es mostra a la il·lustració següent.
Nota:
Alguns CPLD han anomenat entrades directes (entrada directa): es connecten directament a les entrades de les cèl·lules, cosa que redueix els retards.
L’estructura FPGA té la forma:

-
L - bloc configurable lògic;
-
S (bloc de substitució): un bloc de substitució, rep un cert nombre de bits per moviment, es converteix, segons un determinat algorisme, i produeix un número diferent de bits a la sortida. És a dir, un descodificador, un xifrador i un commutador.
-
C (bloc de connexió): bloc de connexió.
Diagrama de blocs S

Programació
HDL (llenguatge de descripció de maquinari) - aquest és el llenguatge amb què es programen els FPGA. Populars i versàtils són Verilog HDL i VHDL. Existeixen altres idiomes, com els específics dels fabricants, com ara AHDL per als productes ALTERA.
La programació gràfica està disponible per als desenvolupadors que treballen amb FPGA. És a dir, simplement podeu dibuixar circuits lògics o combinar codi amb gràfics. Aquest últim s’anomena mètode de desenvolupament modular, quan es prescriuen mòduls específics, i el mòdul superior, en el qual es combina tot, està programat gràficament.
Exemples de fabricants i sèries populars
En el moment d’escriure, els més famosos són els productes de dos fabricants.
-
Altera (fundada el 1983);
-
Xilinx (fundada el 1984).

Altera té diverses sèries importants de lògica programable:
-
MAX, MAX II, MAX IIZ;
-
7000S;
-
3000A;
-
MAX V;
-
Cicló
-
Arria;
-
Estratix
Considerem cada un d’ells amb més detall. A les taules a continuació, es mostra informació general sobre els microcircuits de la família.


CP Altera 3 CPLD:
-
MAX és un CPLD per a ús en dispositius mòbils, els elements distintius són un consum d'energia relativament baix i una dissipació de calor. Segons la complexitat i els anys de llançament, es distingeixen les modificacions següents:
-
El 7000S ha estat obsolet, va ser llançat el 1995.
-
3000A, llançat el 2002, es fabrica amb la tecnologia de 300nm. Consta d'un nombre reduït de macrocells (32-512)
-
MAX II llançat el 2004, es fabrica amb tecnologia 100nm, consta d’un nombre més gran d’unitats (240-2210) que funcionen a freqüències de fins a 304 MHz. El producte està fabricat en casos de tipus TQFP 0,5 molí amb 100 o més potes.
-
MAX IIZ - 2007, la característica principal és el consum d’energia reduïda - aquest és un punt positiu, però les freqüències es redueixen a 152 MHz. Aquests microcircuits s’alimenten des de 1,8 V.
-
MAX V - any 2010. Es produeix segons la tecnologia de 180nm, pot contenir de 40 a 2210 blocs i funciona a freqüències de fins a 152MHz o a 304MHz - depèn del nombre de blocs.

FPGA:
-
Cyclone és un xip de pressupost tipus FPGA. Hi ha cinc generacions marcades amb números grecs (d’I a V, respectivament). La primera generació es va llançar el 2002, produïda amb tecnologia 180nm, i la cinquena generació va ser llançada el 2011 i fabricada amb tecnologia 28nm. Val la pena assenyalar que totes les generacions continuen sent rellevants.
-
Arria: també es refereix a la gamma FPGA de gamma mitjana.
-
Stratix - FPGA potents.
A continuació, es mostren les taules bàsiques de lògica programables Altera FPGA.



I la taula completa a l’enllaç:
El fabricant Xilinx CPLD es presenta en la sèrie:
-
XC9500XL de 36-288 macrocells. Funcionen a freqüències de fins a 178 MHz, i models a 288 macrocells a 208 MHz. Es duu a terme com en casos petits amb 44 pins (cables) a una distància de 0,8 mm els uns dels altres, es considera que es poden soldar fàcilment. També està disponible amb 64 i 100 potes amb increments de 0,5 mm, així com models en tancaments tipus PLCC.
-
La CoolRunner-II Series és un CPLD eficient i energètic però productiu. Una característica està alimentada per un voltatge de 1,8 V, les entrades i sortides estan dissenyades per funcionar entre 1,5 i 3,3 V. Consten de macrocèl·lules de 32-512 i es produeixen amb tecnologia de 180nm. Segons el nombre de cèl·lules, funcionen en el rang de freqüències 179-323 MHz, i com més petites siguin les cèl·lules, més freqüència poden funcionar en aquest cas. Es troben en diferents casos, incloent fàcilment soldables, com en els microcircuits de la sèrie que es considera més amunt.
L’empresa Xilinx no va passar i FPGA:
-
Spartan-6: consisteixen en blocs lògics de 6 entrades, el seu nombre està en el rang de 3840-147443 peces. És interessant que puguin contenir controladors per intercanviar dades com DDR2, DDR3, PCI-EXPRESS, 1Gbit Ethernet, SerialATA, etc.
-
La sèrie Vitrex-7 és complexa, els microcircuits poden contenir fins a 2.000.000 de blocs lògics i 1.200 contactes.
A continuació, podeu trobar les taules de resum amb les especificacions CPLD i FPGA de les sèries Xilinx 6 i 7, així com la Zynq-7000.





Conclusió
Els FPGA i PPVM també són produïts per altres empreses com Lattice Semiconductor (el 2002 van començar a produir FPGA), Actel i els seus coneguts lectors del nostre lloc. microcontroladors ATMEL i molts altres. Segons la lògica programable, és possible implementar diversos dispositius, per implementar càlculs paral·lels independents els uns dels altres en un dispositiu, tot i així, per a projectes de casa, la seva compra és sovint injustificada econòmicament, però bastant raonable a escala de producció, com a alternativa als circuits integrats personalitzats.
P.S.Mireu el vídeo, en el que podreu veure un exemple de la implementació de la consola de jocs de Nintendo a la FPGA:
Consulteu també a electro-ca.tomathouse.com
: