İçindekiler:
- Adım 1: Elektronik Devre Oluşturun
- Adım 2: Pin Planlayıcıyı Kontrol Edin ve Verilog Kodunu Düzenleyin
- 3. Adım: Verilog Kodunu Düzenleyin
- Adım 4: Verilog Kodunu Derleyin
- Adım 5: Hadi Deneyelim
Video: FPGA Cyclone IV DueProLogic - Basmalı Düğme ve LED: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bu derste, harici LED devresini kontrol etmek için FPGA kullanacağız. Aşağıdaki görevleri uygulayacağız
(A) LED'i kontrol etmek için FPGA Cyclone IV DuePrologic üzerindeki basma düğmelerini kullanın.
(B) Flaş LED'i periyodik olarak açılır ve kapanır
Video demosu
Laboratuvar menüsü:
Adım 1: Elektronik Devre Oluşturun
Adım 2: Pin Planlayıcıyı Kontrol Edin ve Verilog Kodunu Düzenleyin
3. Adım: Verilog Kodunu Düzenleyin
FPGA DueProLogic satın aldığınızda, bir DVD alacaksınız. "Projects_HDL"yi açtıktan sonra orijinal kod dosyasını görmelisiniz.
Vurgulanan kodu ekleyin. G/Ç bağlantı noktalarını kaydeder ve bağlantı noktalarına numara atar.
çıkış kablosu [7:0] XIO_1, //XIO -- D2-D9
çıkış kablosu [5:0] XIO_2, //XIO -- D10-D12
çıkış kablosu [5:0] XIO_3, //XIO -- D22-D29
giriş kablosu [5:0] XIO_4, //XIO -- D30-D37
giriş kablosu [5:0] XIO_5, //XIO -- D38-D45
çıkış kablosu [4:0] XIO_6_OUT, //XIO -- D46-D53
giriş kablosu [31:5] XIO_6, //XIO -- D46-D53
çıkış kablosu [2:0] XIO_7, //XIO -- D69, D70, D71, D74, D75, D76
giriş kablosu UBA, //Push Buton Anahtarları
giriş kablosu UBB //Push Buton Anahtarları
XIO_1[3] ata = start_stop_cntrl;
atama XIO_2[1] = start_blinky; //LED flaş LED'i açık ve kapalı
XIO_2[2] = 1'b1 ata; // çıkış YÜKSEK
XIO_2[3] = ~UBA ata; //A düğmesine basın
XIO_2[4] ata = UBB; //B düğmesine basın
ata c_enable = XIO_5[2];
LEDExt = XIO_5[5] ata;
O zaman bir gecikme zamanlayıcı ayarlamalıyız. Orijinal zamanlayıcı kodunu yorumlayın ve yeni bir zamanlayıcı işlevi yazın
//-----------------------------------------------
// LED Yanıp sönen başlangıç
//-----------------------------------------------
/*
her zaman @(posedge CLK_66 veya negedge RST)
başlamak
eğer(!RST)
start_blinky <= 1'b0;
Başka
başlamak
if(control_register[7:4] > 0)
start_blinky <= 1'b1;
Başka
start_blinky <= 1'b0;
son
son
*/
reg [31:0] örn;
ilk başlangıç
eski <= 32'b0;
start_blinky <= 1'b0;
son
her zaman @(posedge CLK_66)
başlamak
eski <= eski + 1'b1;
if(ex > 100000000) //flaş açık/kapalı ~1.6 saniye, saat 66MHz
başlamak
start_blinky <= !start_blinky;
eski <= 32'b0;
son
son
//-----------------------------------------------
// LED Gecikme Zamanlayıcı Sayacı
//-----------------------------------------------
/*
her zaman @(posedge CLK_66 veya negedge RST)
başlamak
eğer(!RST)
led_delay_counter <= TIMER_LOW_LIMIT;
Başka
başlamak
if(durum[SELECT_MODE])
led_delay_counter <= timer_value;
else if(durum[WAIT_FOR_TIMER])
led_delay_counter <= led_delay_counter - 1'd1;
son
son*/
Adım 4: Verilog Kodunu Derleyin
Quartus'ta "Derlemeyi Başlat" a basın, hiçbir hata mesajı oluşturulmamalıdır.
Birden fazla pin hakkında hata mesajı alıyorsanız. Atamalar -> Cihaz -> Cihaz ve Pin Seçenekleri -> Çift Amaçlı Pinler -> seçeneğine gidin ve uygun pinin değerini "Normal G/Ç olarak kullan" olarak değiştirin.
Derlemeden sonra doğrudan pof çıktı dosyasını almalısınız. Yazılımınız güncel değilse sadece sof file alabilirsiniz. Bu olduğunda, Quartus -> "programlama dosyalarını dönüştür"de "Dosya"ya tıklayın. Kırmızı kutularla işaretlenmiş ayarları değiştirin.
Adım 5: Hadi Deneyelim
Sonuçta, çalışması gerekir !!! Sarı LED her zaman açıktır. Kırmızı LED yanıp sönüyor. B düğmesine basarsanız mavi LED söner. A düğmesine basarsanız yeşil LED yanar
Önerilen:
Tek Düğme Servo Süspansiyon Kilidi: 3 Adım
Tek Düğme Servo Süspansiyon Kilidi: Tam süspansiyonlu dağ bisikletleri yumuşak bir sürüş sağlar, ancak yokuş yukarı pedal çevirirken genellikle süspansiyonun kilitlenmesini gerektirir. Aksi takdirde, pedalların üzerinde dururken süspansiyon sıkışır ve bu çabayı boşa harcar. Bisiklet üreticileri bunu biliyor ve
FPGA Cyclone IV DueProLogic Raspberry Pi Kamerayı Kontrol Ediyor: 5 Adım
FPGA Cyclone IV DueProLogic Raspberry Pi Kamerayı Kontrol Ediyor: FPGA DueProLogic resmi olarak Arduino için tasarlanmış olmasına rağmen, FPGA ve Raspberry Pi 4B'yi iletilebilir hale getireceğiz. FPGA açısını çevirmek için
FPGA Cyclone IV DueProLogic Servo Motoru Kontrol Ediyor: 4 Adım
FPGA Cyclone IV DueProLogic Servo Motor Kontrolleri: Bu dersimizde servo motoru kontrol etmek için Verilog kodu yazacağız. Servo SG-90, Waveshare tarafından üretilmiştir. Servo motoru satın aldığınızda, çalışma voltajını, maksimum torku ve önerilen Pu'yu listeleyen bir veri sayfası alabilirsiniz
Yanıp Sönen LED {Düğme Kontrollü}: 5 Adım
Yanıp Sönen LED {Düğme Kontrollü}: Kang Chiao'da öğrenciyim. Bu benim projem, Arduino kullanıyorum ve yanıp sönmesini sağlayan bir düğme ile yanıp sönen bir led ışık yaptım. Bezinizin üzerine koyabilirsiniz ve bazı insanlar size çok yakın olduğunda, düğmeye ve ampule basabilirsiniz
LED Disk Lambasından Işıklı Düğme Yapın: 4 Adım
Bir LED Disk Lambasından Işıklı Bir Düğme Yapın: Hırdavatçıdaki pazarlık kutusunda bazı LED disk lambaları buldum. Bunlar, bir şeye yapıştırdığınız ve onları açıp kapatmak için ittiğiniz ışıklardır. İyi ışıklı anlık anahtarlar yapacaklarını düşündüm