Isi kandungan:
- Langkah 1: Bina Litar Elektronik
- Langkah 2: Periksa Pin Perancang dan Edit Kod Verilog
- Langkah 3: Edit Kod Verilog
- Langkah 4: Kumpulkan Kod Verilog
- Langkah 5: Mari Cuba
Video: FPGA Cyclone IV DueProLogic - Butang Tekan & LED: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Dalam tutorial ini, kita akan menggunakan FPGA untuk mengawal litar LED luaran. Kami akan melaksanakan tugas-tugas berikut
(A) Gunakan butang tekan pada FPGA Cyclone IV DuePrologic untuk mengawal LED.
(B) Lampu kilat menyala & mati berkala
Demo video
Menu makmal:
Langkah 1: Bina Litar Elektronik
Langkah 2: Periksa Pin Perancang dan Edit Kod Verilog
Langkah 3: Edit Kod Verilog
Apabila anda membeli FPGA DueProLogic, anda seharusnya menerima DVD. Selepas anda membuka "Projects_HDL", anda akan melihat fail kod asal
Tambahkan kod yang diserlahkan. Ia mendaftarkan port I / O dan memberikan nombor ke port.
wayar keluaran [7: 0] XIO_1, // XIO - D2-D9
wayar keluaran [5: 0] XIO_2, // XIO - D10-D12
wayar keluaran [5: 0] XIO_3, // XIO - D22-D29
wayar input [5: 0] XIO_4, // XIO - D30-D37
wayar input [5: 0] XIO_5, // XIO - D38-D45
wayar keluaran [4: 0] XIO_6_OUT, // XIO - D46-D53
wayar input [31: 5] XIO_6, // XIO - D46-D53
wayar keluaran [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
wayar input UBA, // Suis Tombol Tekan
wayar input UBB // Suis Tombol Tekan
tetapkan XIO_1 [3] = start_stop_cntrl;
tetapkan XIO_2 [1] = start_blinky; // LED flash LED hidup dan mati
tetapkan XIO_2 [2] = 1'b1; // output TINGGI
berikan XIO_2 [3] = ~ UBA; // Tekan butang A
berikan XIO_2 [4] = UBB; // Tekan butang B
tetapkan c_enable = XIO_5 [2];
tetapkan LEDExt = XIO_5 [5];
Maka kita harus menetapkan pemasa tunda. Komen kod pemasa asal dan tulis fungsi pemasa baru
//-----------------------------------------------
// Mula LED Blinky
//-----------------------------------------------
/*
sentiasa @ (posedge CLK_66 atau negedge RST)
bermula
sekiranya (! RST)
mula_blinky <= 1'b0;
yang lain
bermula
jika (control_register [7: 4]> 0)
start_blinky <= 1'b1;
yang lain
permulaan_blinky <= 1'b0;
akhir
akhir
*/
reg [31: 0] cth;
permulaan awal
ex <= 32'b0;
mula_blinky <= 1'b0;
akhir
selalu @ (posedge CLK_66)
bermula
ex <= ex + 1'b1;
jika (mis.> 100000000) // hidupkan / matikan denyar ~ 1.6 saat, jam 66MHz
bermula
start_blinky <=! mula_blinky;
ex <= 32'b0;
akhir
akhir
//-----------------------------------------------
// Kaunter Pemasa Kelewatan LED
//-----------------------------------------------
/*
sentiasa @ (posedge CLK_66 atau negedge RST)
bermula
sekiranya (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
yang lain
bermula
jika (nyatakan [SELECT_MODE])
led_delay_counter <= timer_value;
lain jika (nyatakan [WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
akhir
akhir * /
Langkah 4: Kumpulkan Kod Verilog
Tekan "Mula Kompilasi" di Quartus, tidak ada mesej ralat yang akan dihasilkan.
Sekiranya anda menerima mesej ralat mengenai beberapa pin. Pergi ke Tugasan -> Peranti -> Pilihan Peranti dan Pin -> Pin Dual-Purpose -> ubah nilai pin yang sesuai menjadi "Gunakan sebagai I / O biasa".
Selepas penyusunan, anda harus mendapatkan fail output pof secara langsung. Sekiranya perisian anda tidak terkini, anda mungkin hanya mendapat fail sof. Apabila ia berlaku, klik "Fail" di Quartus -> "ubah fail pengaturcaraan". Tukar tetapan yang ditandai dengan kotak merah.
Langkah 5: Mari Cuba
Lagipun, ia mesti berfungsi !!! LED kuning sentiasa menyala. LED merah berkelip. LED biru dimatikan jika anda menekan butang B. LED hijau dihidupkan jika anda menekan butang A
Disyorkan:
Gunakan Tombol Tekan pada Magicbit Anda [Magicblocks]: 5 Langkah
Gunakan Tombol Tekan pada Magicbit Anda [Magicblocks]: Tutorial ini akan mengajar anda untuk menggunakan Tombol Tekan pada Magicbit anda menggunakan Magicblocks. Kami menggunakan magicbit sebagai papan pengembangan dalam projek ini yang berdasarkan ESP32. Oleh itu, papan pengembangan ESP32 boleh digunakan dalam projek ini
Corona Safe: Tekan Penjimatan Air Automatik: 6 Langkah
Corona Safe: Tekan penjimatan air automatik: Kita semua mesti mencuci tangan setiap saat untuk menyingkirkan virus dan bakteria khas untuk virus Corona kita perlu mencuci tangan selama 20 saat untuk menyingkirkannya sepenuhnya. Dispenser sabun atau tombol paip mungkin tidak perlu menjadi kebersihan atau
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Kamera: 5 Langkah
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Camera: Walaupun FPGA DueProLogic secara rasmi direka untuk Arduino, kami akan menjadikan FPGA dan Raspberry Pi 4B dapat disambungkan. Tiga tugas dilaksanakan dalam tutorial ini: (A) Serentak tekan dua butang tekan pada FPGA untuk membalik sudut
Tekan Air Motion Sensor Menggunakan Arduino dan Solenoid Valve - DIY: 6 Langkah
Keran Air Motion Sensor Menggunakan Arduino dan Solenoid Valve - DIY: Dalam projek ini, saya akan menunjukkan kepada anda cara membina Motion Sensor Water Tap menggunakan Solenoid Valve. Projek ini dapat membantu anda menukar paip air manual yang ada menjadi keran yang dapat dikendalikan berdasarkan pengesanan gerakan. Menggunakan antara muka sensor IR
FPGA Cyclone IV DueProLogic Controls Servo Motor: 4 Langkah
FPGA Cyclone IV DueProLogic Controls Servo Motor: Dalam tutorial ini, kita akan menulis kod Verilog untuk mengawal motor servo. Servo SG-90 dihasilkan oleh Waveshare. Apabila anda membeli motor servo, anda mungkin menerima lembar data yang menyenaraikan voltan operasi, tork maksimum dan Pu yang dicadangkan