Tartalomjegyzék:
- 1. lépés: Elektronikus áramkör építése
- 2. lépés: Ellenőrizze a PIN -kódtervezőt és a Verilog -kód szerkesztését
- 3. lépés: A Verilog -kód szerkesztése
- 4. lépés: Fordítsa össze a Verilog -kódot
- 5. lépés: Próbáljuk ki
Videó: FPGA Cyclone IV DueProLogic - Nyomógomb és LED: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ebben az oktatóanyagban az FPGA -t fogjuk használni a külső LED áramkör vezérlésére. A következő feladatokat fogjuk végrehajtani
(A) Használja az FPGA Cyclone IV DuePrologic nyomógombjait a LED vezérléséhez.
(B) A vaku LED rendszeresen be- és kikapcsol
Videó demó
Labormenü:
1. lépés: Elektronikus áramkör építése
2. lépés: Ellenőrizze a PIN -kódtervezőt és a Verilog -kód szerkesztését
3. lépés: A Verilog -kód szerkesztése
FPGA DueProLogic vásárlásakor DVD -t kell kapnia. A "Projects_HDL" megnyitása után látnia kell az eredeti kódfájlt
Adja hozzá a kiemelt kódot. Regisztrálja az I/O portokat, és számokat rendel a portokhoz.
kimeneti vezeték [7: 0] XIO_1, // XIO-D2-D9
kimeneti vezeték [5: 0] XIO_2, // XIO-D10-D12
kimeneti vezeték [5: 0] XIO_3, // XIO-D22-D29
bemeneti vezeték [5: 0] XIO_4, // XIO-D30-D37
bemeneti vezeték [5: 0] XIO_5, // XIO-D38-D45
kimeneti vezeték [4: 0] XIO_6_OUT, // XIO-D46-D53
bemeneti vezeték [31: 5] XIO_6, // XIO-D46-D53
kimeneti vezeték [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
bemeneti vezeték UBA, // Nyomógombos kapcsolók
bemeneti vezeték UBB // Nyomógombos kapcsolók
hozzárendelni XIO_1 [3] = start_stop_cntrl;
hozzárendel XIO_2 [1] = start_blinky; // LED vaku LED be- és kikapcsolása
hozzárendelni XIO_2 [2] = 1'b1; // kimenet HIGH
hozzárendel XIO_2 [3] = ~ UBA; // Nyomja meg az A gombot
hozzárendel XIO_2 [4] = UBB; // Nyomja meg a B gombot
hozzárendel c_enable = XIO_5 [2];
hozzárendelni LEDExt = XIO_5 [5];
Ezután késleltetési időzítőt kell beállítanunk. Kommentálja az eredeti időzítő kódját, és írjon egy új időzítő funkciót
//-----------------------------------------------
// LED Blinky start
//-----------------------------------------------
/*
mindig @(CLK_66 posedge vagy RGE szegmens)
kezdődik
ha (! RST)
start_blinky <= 1'b0;
más
kezdődik
ha (kontroll_register [7: 4]> 0)
start_blinky <= 1'b1;
más
start_blinky <= 1'b0;
vége
vége
*/
reg [31: 0] ex;
kezdő kezdet
ex <= 32'b0;
start_blinky <= 1'b0;
vége
mindig @(poszter CLK_66)
kezdődik
ex <= ex + 1'b1;
ha (pl.> 100000000) // a vaku be-/kikapcsolása ~ 1,6 másodperc, órajele 66 MHz
kezdődik
start_blinky <=! start_blinky;
ex <= 32'b0;
vége
vége
//-----------------------------------------------
// LED késleltetés időzítő számláló
//-----------------------------------------------
/*
mindig @(CLK_66 posedge vagy RGE szegmens)
kezdődik
ha (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
más
kezdődik
if (állapota [SELECT_MODE])
led_delay_counter <= timer_value;
else if (állapota [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
vége
vége*/
4. lépés: Fordítsa össze a Verilog -kódot
Nyomja meg a "Fordítás indítása" gombot a Quartusban, nem kell hibaüzenetet generálni.
Ha hibaüzenetet kap több tűről. Lépjen a Hozzárendelések -> Eszköz -> Eszköz- és tűbeállítások -> Kettős célú csapok -> módosítsa a megfelelő tű értékét "Használja rendes I/O" -ra.
A fordítás után közvetlenül meg kell kapnia a pof kimeneti fájlt. Ha a szoftvere nem naprakész, akkor csak sof fájlt kaphat. Amikor ez megtörténik, kattintson a "Fájl" gombra a Quartusban -> "konvertálja a programozási fájlokat". Módosítsa a piros dobozokkal jelölt beállításokat.
5. lépés: Próbáljuk ki
Végül is működnie kell !!! A sárga LED mindig világít. A piros LED villog. A kék LED kialszik, ha megnyomja a B gombot. A zöld LED akkor világít, ha megnyomja az A gombot
Ajánlott:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: 5 lépés
FPGA Cyclone IV DueProLogic Controls Raspberry Pi kamera: Annak ellenére, hogy az FPGA DueProLogic -t hivatalosan az Arduino számára tervezték, az FPGA -t és a Raspberry Pi 4B -t kommunikálhatóvá tesszük. Ebben az oktatóanyagban három feladat valósul meg: (A) Nyomja meg egyszerre a két nyomógombot FPGA a szög forgatásához
FPGA Cyclone IV DueProLogic vezérlő szervomotor: 4 lépés
FPGA Cyclone IV DueProLogic vezérlő szervomotor: Ebben az oktatóanyagban Verilog kódot írunk a szervomotor vezérléséhez. Az SG-90 szervót a Waveshare gyártja. A szervomotor vásárlásakor kaphat egy adatlapot, amely felsorolja az üzemi feszültséget, a maximális nyomatékot és a javasolt teljesítményt
Arduino Cyclone Game: 5 lépés (képekkel)
Arduino Cyclone Game: Soha nem játszottam az igazi ciklon arcade játékkal, de tetszik az ötlet, hogy a reakcióidővel játszunk. Terveztem egy miniatürizált játékot. 32 LED -ből áll, amelyek kört alkotnak, a LED -ek egyenként világítanak, mint egy ledes üldöző. A cél egy gomb megnyomása
Arduino Cyclone Arcade Game: 6 lépés
Arduino Cyclone Arcade Game: Villogó, mutatós fények! Arduino! Játszma, meccs! Mit kell még mondani? Ez a játék a Cyclone arcade játékon alapul, ahol a játékos megpróbálja megállítani a led körüli görgetését egy adott helyen
Cyclone LED Arcade Game: 4 lépés
Cyclone LED Arcade Game: A projekt célja egy egyszerű játék létrehozása volt egy Arduino használatával, amely interaktív és szórakoztató lenne a gyerekek számára. Emlékszem, hogy a Cyclone arcade játék az egyik kedvenc arcade játékom volt, amikor fiatalabb voltam, ezért úgy döntöttem, hogy megismétlem. T