Mündəricat:
- Addım 1: Elektron Dövrə qurun
- Addım 2: Pin Plannerini yoxlayın və Verilog Kodunu Düzəldin
- Addım 3: Verilog Kodunu redaktə edin
- Addım 4: Verilog Kodunu tərtib edin
- Addım 5: Gəlin sınayaq
Video: FPGA Cyclone IV DueProLogic - Düymə və LED: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Bu təlimatda, xarici LED dövrəsini idarə etmək üçün FPGA -dan istifadə edəcəyik. Aşağıdakı vəzifələri yerinə yetirəcəyik
(A) LED -i idarə etmək üçün FPGA Cyclone IV DuePrologic düymələrindən istifadə edin.
(B) Flaş LED -i vaxtaşırı açılır və sönür
Video demo
Laboratoriya menyusu:
Addım 1: Elektron Dövrə qurun
Addım 2: Pin Plannerini yoxlayın və Verilog Kodunu Düzəldin
Addım 3: Verilog Kodunu redaktə edin
FPGA DueProLogic satın aldığınız zaman bir DVD almalısınız. "Projects_HDL" proqramını açdıqdan sonra orijinal kod faylını görməlisiniz
Vurğulanan kodu əlavə edin. G/Ç portlarını qeyd edir və limanlara nömrələr təyin edir.
çıxış teli [7: 0] XIO_1, // XIO-D2-D9
çıxış teli [5: 0] XIO_2, // XIO-D10-D12
çıxış teli [5: 0] XIO_3, // XIO-D22-D29
giriş teli [5: 0] XIO_4, // XIO-D30-D37
giriş teli [5: 0] XIO_5, // XIO-D38-D45
çıxış teli [4: 0] XIO_6_OUT, // XIO-D46-D53
giriş teli [31: 5] XIO_6, // XIO-D46-D53
çıxış teli [2: 0] XIO_7, // XIO - D69, D70, D71, D74, D75, D76
giriş teli UBA, // Push Button Switch
giriş teli UBB // Push Button Switch
təyin XIO_1 [3] = start_stop_cntrl;
təyin XIO_2 [1] = start_blinky; // LED fənəri LED yandırılır və sönür
təyin XIO_2 [2] = 1'b1; // YÜKSƏK
təyin XIO_2 [3] = ~ UBA; // A düyməsini basın
təyin XIO_2 [4] = UBB; // B düyməsini basın
c_enable = XIO_5 [2] təyin edin;
LEDExt = XIO_5 [5] təyin edin;
Sonra bir gecikmə taymerini təyin etməliyik. Orijinal taymer kodunu şərh edin və yeni bir taymer funksiyası yazın
//-----------------------------------------------
// LED yanıb -sönən başlanğıc
//-----------------------------------------------
/*
həmişə @(pozitge CLK_66 və ya RST işarələndi)
başlamaq
əgər (! RST)
start_blinky <= 1'b0;
başqa
başlamaq
əgər (control_register [7: 4]> 0)
start_blinky <= 1'b1;
başqa
start_blinky <= 1'b0;
bitmək
bitmək
*/
reg [31: 0] ex;
ilkin başlanğıc
ex <= 32'b0;
start_blinky <= 1'b0;
bitmək
həmişə @(poza CLK_66)
başlamaq
ex <= ex + 1'b1;
əgər (məsələn> 100000000) // yanıp sönmə/sönmə ~ 1.6 saniyə, saat 66MHz
başlamaq
start_blinky <=! start_blinky;
ex <= 32'b0;
bitmək
bitmək
//-----------------------------------------------
// LED Gecikmə Taymeri Sayacı
//-----------------------------------------------
/*
həmişə @(pozitge CLK_66 və ya RST işarələndi)
başlamaq
əgər (! RST)
led_delay_counter <= TIMER_LOW_LIMIT;
başqa
başlamaq
əgər (dövlət [SELECT_MODE])
led_delay_counter <= timer_value;
başqa halda ([WAIT_FOR_TIMER] vəziyyətini bildirin)
led_delay_counter <= led_delay_counter - 1'd1;
bitmək
son*/
Addım 4: Verilog Kodunu tərtib edin
Quartus -da "Derlemeye Başla" düyməsini basın, heç bir səhv mesajı yaradılmamalıdır.
Birdən çox pin haqqında bir səhv mesajı alsanız. Tapşırıqlar -> Cihaz -> Cihaz və Pin Seçimləri -> İkiqat Məqalələrə -> uyğun pinin dəyərini "Normal G/Ç olaraq istifadə et" olaraq dəyişdirin.
Tərtib etdikdən sonra birbaşa pof çıxış faylını almalısınız. Proqramınız müasir deyilsə, yalnız sof faylı əldə edə bilərsiniz. Bu baş verdikdə, Quartusdakı "Fayl" -> "proqramlaşdırma fayllarını çevir" düyməsini basın. Qırmızı qutularla işarələnmiş parametrləri dəyişdirin.
Addım 5: Gəlin sınayaq
Axı, işləməlidir !!! Sarı LED həmişə yanır. Qırmızı LED yanıb -sönür. B düyməsini basarsanız mavi LED sönür. A düyməsini basarsanız yaşıl LED yanır
Tövsiyə:
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Kamera: 5 addım
FPGA Cyclone IV DueProLogic Controls Raspberry Pi Kamera: FPGA DueProLogic rəsmi olaraq Arduino üçün nəzərdə tutulsa da, FPGA və Raspberry Pi 4B -ni ünsiyyətcil hala gətirəcəyik. Bucağı çevirmək üçün FPGA
FPGA Cyclone IV DueProLogic Nəzarət Servo Motoru: 4 Addım
FPGA Cyclone IV DueProLogic Controls Servo Motor: Bu dərslikdə servo motoru idarə etmək üçün Verilog kodunu yazacağıq. Servo SG-90 Waveshare tərəfindən istehsal olunur. Servo motoru satın aldığınızda, iş gərginliyini, maksimum fırlanma anını və təklif olunan Pu -nu əks etdirən məlumat cədvəli ala bilərsiniz
DIY VR Koşu Bandı- Basys3 FPGA-Digilent Müsabiqəsi: 3 addım
DIY VR Koşu Bandı- Basys3 FPGA-Digilent Müsabiqəsi: Masa üstü tətbiqlərinizi və oyunlarınızı idarə edə biləcəyiniz bir VR Koşu Bandı qurmaq istəyirsinizmi? Sonra doğru yerə gəldiniz! Adi oyunlarda ətraf mühitlə qarşılıqlı əlaqə yaratmaq üçün siçan və klaviaturadan istifadə edirsiniz. Buna görə də, göndərməliyik
Mojo FPGA İnkişaf Heyəti Qalxanı: 3 addım
Mojo FPGA İnkişaf Kartı Kalkanı: Mojo inkişaf lövhənizi bu qalxanla xarici girişlərə bağlayın. Mojo inkişaf lövhəsi nədir? Lövhə Alchitry tərəfindən hazırlanmışdır. FPGA çox faydalıdır
Arduino Cyclone Arcade Oyunu: 6 addım
Arduino Cyclone Arcade Oyunu: yanıb -sönən parlaq işıqlar! Arduino! Oyun! Daha nə demək lazımdır? Bu oyun, oyunçunun müəyyən bir nöqtədə bir dairədə fırlanmasını dayandırmağa çalışdığı Cyclone arcade oyununa əsaslanır