Taula de continguts:
- Pas 1: Construir un circuit electrònic
- Pas 2: comproveu el Pin Planner i Editeu el codi de Verilog
- Pas 3: Editeu el codi de Verilog
- Pas 4: Compileu el codi de Verilog
- Pas 5: ho provem
Vídeo: FPGA Cyclone IV DueProLogic: polsador i LED: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
En aquest tutorial, farem servir l'FPGA per controlar el circuit LED extern. Implementarem les tasques següents
(A) Utilitzeu els botons del FPGA Cyclone IV DuePrologic per controlar el LED.
(B) El LED de flaix s'encén i s'apaga periòdicament
Demostració de vídeo
Menú de laboratori:
Pas 1: Construir un circuit electrònic
Pas 2: comproveu el Pin Planner i Editeu el codi de Verilog
Pas 3: Editeu el codi de Verilog
Quan compreu FPGA DueProLogic, haureu de rebre un DVD. Després d'obrir "Projects_HDL", hauríeu de veure el fitxer de codi original
Afegiu el codi ressaltat. Registra els ports d'E / S i assigna números als ports.
cable de sortida [7: 0] XIO_1, // XIO - D2-D9
cable de sortida [5: 0] XIO_2, // XIO - D10-D12
cable de sortida [5: 0] XIO_3, // XIO - D22-D29
cable d'entrada [5: 0] XIO_4, // XIO - D30-D37
cable d'entrada [5: 0] XIO_5, // XIO - D38-D45
cable de sortida [4: 0] XIO_6_OUT, // XIO - D46-D53
cable d'entrada [31: 5] XIO_6, // XIO - D46-D53
cable de sortida [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
fil d'entrada UBA, // polsadors
fil d’entrada UBB // Polsadors
assigna XIO_1 [3] = start_stop_cntrl;
assigna XIO_2 [1] = start_blinky; // LED de flash LED encès i apagat
assigna XIO_2 [2] = 1'b1; // sortida ALTA
assign XIO_2 [3] = ~ UBA; // Polsador A
assigna XIO_2 [4] = UBB; // Polsador B
assigna c_enable = XIO_5 [2];
assigna LEDExt = XIO_5 [5];
Després hem d’establir un temporitzador de retard. Comenteu el codi del temporitzador original i escriviu una nova funció de temporitzador
//-----------------------------------------------
// Arrencada LED parpellejant
//-----------------------------------------------
/*
always @ (posedge CLK_66 o negedge RST)
començar
si (! RST)
start_blinky <= 1'b0;
en cas contrari
començar
if (control_register [7: 4]> 0)
start_blinky <= 1'b1;
en cas contrari
start_blinky <= 1'b0;
final
final
*/
reg [31: 0] ex;
inicial inicial
ex <= 32'b0;
start_blinky <= 1'b0;
final
always @ (posedge CLK_66)
començar
ex <= ex + 1'b1;
if (ex> 100000000) // activació / desactivació del flaix ~ 1,6 segons, rellotge a 66 MHz
començar
start_blinky <=! start_blinky;
ex <= 32'b0;
final
final
//-----------------------------------------------
// Comptador de temporitzador de retard LED
//-----------------------------------------------
/*
always @ (posedge CLK_66 o negedge RST)
començar
si (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
en cas contrari
començar
if (estat [SELECT_MODE])
led_delay_counter <= timer_value;
else if (estat [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
final
final*/
Pas 4: Compileu el codi de Verilog
Premeu "Inicia la compilació" a Quartus, no s'hauria de generar cap missatge d'error.
Si rebeu un missatge d'error sobre diversos pins. Aneu a Tasques -> Dispositiu -> Opcions del dispositiu i el pin -> Pins de doble propòsit -> canvieu el valor del pin adequat a "Utilitza com a E / S normals".
Després de la compilació, hauríeu d'obtenir directament el fitxer de sortida pof. Si el vostre programari no està actualitzat, és possible que només obtingueu el fitxer sof. Quan passi, feu clic a "Fitxer" a Quartus -> "Converteix fitxers de programació". Canvieu la configuració marcada per quadres vermells.
Pas 5: ho provem
Al cap i a la fi, hauria de funcionar !!! El LED groc sempre està encès. El LED vermell parpelleja. El LED blau s’apaga si premeu el botó B. El LED verd s’encén si premeu el botó A
Recomanat:
FPGA Cyclone IV Controls DueProLogic Càmera Raspberry Pi: 5 passos
FPGA Cyclone IV Controls DueProLogic Controls Càmera Raspberry Pi: Tot i que el FPGA DueProLogic està dissenyat oficialment per a Arduino, farem que el FPGA i el Raspberry Pi 4B siguin comunicables. En aquest tutorial s’implementen tres tasques: (A) Premeu simultàniament els dos botons FPGA per capgirar l'angle de
Polsador de paràsits: 4 passos
Polsador de paràsits: un dispositiu de pols s'utilitza sovint en medicina alternativa. El seu objectiu principal és augmentar el sistema immunitari dels usuaris. Mata probablement bacteris, virus, fongs, toxines, etc. aplicant corrents molt petits a través del cos amb un pols i una freqüència específics
Servomotor FPGA Cyclone IV DueProLogic Controls: 4 passos
FPGA Cyclone IV DueProLogic Controls Servo Motor: En aquest tutorial, escriurem el codi Verilog per controlar el servo motor. El servo SG-90 està fabricat per Waveshare. Quan compreu el servomotor, és possible que rebeu un full de dades que enumera la tensió de funcionament, el parell màxim i el Pu proposat
Circuit LED de doble polsador: 5 passos
Circuit LED de doble polsador: faré tot el possible per sonar com una vella mà en la programació i el treball amb arduinos, però, la veritat és que en realitat només em van introduir aquestes coses fa uns dies, d’aquí la meva alegria aclaparadora creant i programant amb èxit el meu
Polsador LED Matrix: 4 passos
Pushbutton LED Matrix: aquest projecte es pot considerar com un altre projecte introductori d'Arduino que és lleugerament més avançat que el vostre projecte típic de "parpellejar un LED". Aquest projecte incorpora una matriu LED, polsadors, registres de desplaçament (que poden guardar pins al vostre Ard