Obsah:
- Krok 1: Vytvorte elektronický obvod
- Krok 2: Skontrolujte plánovač pinov a upravte kód Verilog
- Krok 3: Upravte kód Verilog
- Krok 4: Zostavte kód Verilog
- Krok 5: Skúsme to
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
V tomto tutoriále použijeme FPGA na ovládanie externého obvodu LED. Budeme implementovať nasledujúce úlohy
(A) Na ovládanie LED diódy použite tlačidlá na FPGA Cyclone IV DuePrologic.
(B) LED dióda Flash sa pravidelne zapína a vypína
Video ukážka
Laboratórna ponuka:
Krok 1: Vytvorte elektronický obvod
Krok 2: Skontrolujte plánovač pinov a upravte kód Verilog
Krok 3: Upravte kód Verilog
Pri kúpe FPGA DueProLogic by ste mali dostať DVD. Po otvorení „Projects_HDL“by ste mali vidieť pôvodný súbor s kódom
Pridajte zvýraznený kód. Zaregistruje I/O porty a priradí portom čísla.
výstupný vodič [7: 0] XIO_1, // XIO-D2-D9
výstupný vodič [5: 0] XIO_2, // XIO-D10-D12
výstupný vodič [5: 0] XIO_3, // XIO-D22-D29
vstupný vodič [5: 0] XIO_4, // XIO-D30-D37
vstupný vodič [5: 0] XIO_5, // XIO-D38-D45
výstupný vodič [4: 0] XIO_6_OUT, // XIO-D46-D53
vstupný vodič [31: 5] XIO_6, // XIO-D46-D53
výstupný vodič [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
vstupný vodič UBA, // tlačidlové prepínače
vstupný vodič UBB // tlačidlové spínače
priradiť XIO_1 [3] = start_stop_cntrl;
priradiť XIO_2 [1] = start_blinky; // LED blesk LED zapína a vypína
priradiť XIO_2 [2] = 1'b1; // výstup VYSOKÝ
priradiť XIO_2 [3] = ~ UBA; // Stlačte tlačidlo A
priradiť XIO_2 [4] = UBB; // Stlačte tlačidlo B
priradiť c_enable = XIO_5 [2];
priradiť LEDExt = XIO_5 [5];
Potom musíme nastaviť časovač oneskorenia. Komentujte pôvodný kód časovača a napíšte novú funkciu časovača
//-----------------------------------------------
// LED Blinky štart
//-----------------------------------------------
/*
vždy @(posedge CLK_66 alebo negedge RST)
začať
ak (! RST)
start_blinky <= 1'b0;
inak
začať
if (control_register [7: 4]> 0)
start_blinky <= 1'b1;
inak
start_blinky <= 1'b0;
koniec
koniec
*/
reg [31: 0] ex;
počiatočný začiatok
ex <= 32'b0;
start_blinky <= 1'b0;
koniec
vždy @(posedge CLK_66)
začať
ex <= ex + 1'b1;
ak (napr.> 100000000) // zapnutie/vypnutie blesku ~ 1,6 sekundy, hodiny 66 MHz
začať
start_blinky <=! start_blinky;
ex <= 32'b0;
koniec
koniec
//-----------------------------------------------
// Počítadlo časovača oneskorenia LED
//-----------------------------------------------
/*
vždy @(posedge CLK_66 alebo negedge RST)
začať
ak (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
inak
začať
if (state [SELECT_MODE])
led_delay_counter <= hodnota_časovača;
else if (state [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
koniec
koniec*/
Krok 4: Zostavte kód Verilog
V programe Quartus kliknite na „Spustiť kompiláciu“, nemalo by sa vytvárať žiadne chybové hlásenie.
Ak sa zobrazí chybové hlásenie o viacerých kolíkoch. Prejdite na Úlohy -> Zariadenie -> Možnosti zariadenia a pinov -> Dvojúčelové piny -> zmeňte hodnotu príslušného kolíka na „Použiť ako pravidelný I/O“.
Po kompilácii by ste mali dostať výstupný súbor pof priamo. Ak váš softvér nie je aktuálny, môžete získať iba súbor sof. Keď sa to stane, kliknite v Quartuse na „Súbor“-> „Previesť programovacie súbory“. Zmeňte nastavenia, ktoré sú označené červenými políčkami.
Krok 5: Skúsme to
Predsa by to malo fungovať !!! Žltá dióda LED stále svieti. Červená LED dióda bliká. Modrá LED dióda zhasne, ak stlačíte tlačidlo B. Zelená LED dióda sa rozsvieti, ak stlačíte tlačidlo A
Odporúča:
FPGA Cyclone IV DueProLogic ovláda kameru Raspberry Pi: 5 krokov
FPGA Cyclone IV DueProLogic Ovláda kameru Raspberry Pi: Napriek tomu, že FPGA DueProLogic je oficiálne navrhnutý pre Arduino, chystáme sa sprístupniť FPGA a Raspberry Pi 4B. V tomto návode sú implementované tri úlohy: (A) Súčasne stlačte dve tlačidlá na FPGA na prevrátenie uhla
Servo motor FPGA Cyclone IV DueProLogic ovláda: 4 kroky
FPGA Cyclone IV DueProLogic riadi servomotor: V tomto tutoriáli napíšeme kód Verilog na ovládanie servomotora. Servo SG-90 vyrába spoločnosť Waveshare. Pri kúpe servomotora môžete dostať katalógový list, v ktorom je uvedené prevádzkové napätie, maximálny krútiaci moment a navrhovaný Pu
Arkádová hra Arduino Cyclone: 6 krokov
Arkádová hra Arduino Cyclone: Blikajúce svetlá! Arduino! Hra! Čo viac treba povedať? Táto hra je založená na arkádovej hre Cyclone, kde sa hráč pokúša zastaviť posúvanie diódy LED okolo kruhu na konkrétnom mieste
Arkádová hra Cyclone LED: 4 kroky
Cyklónová arkádová hra LED: Cieľom tohto projektu bolo vytvoriť jednoduchú hru pomocou Arduina, ktorá by bola interaktívna a zábavná pre deti. Pamätám si, že cyklónová arkáda bola jednou z mojich obľúbených arkádových hier, keď som bol mladší, a tak som sa rozhodol ju zopakovať. T
Reakčná hra FPGA: 10 krokov
Reakčná hra FPGA: Od Summer Rutherforda a Regity Soetandar