İçindekiler:

CPE 133 Metronom: 3 Adım
CPE 133 Metronom: 3 Adım

Video: CPE 133 Metronom: 3 Adım

Video: CPE 133 Metronom: 3 Adım
Video: 71st Inaugural Lecture Series by Prof Titus Osita Gabriel Chukwuanukwu 2024, Kasım
Anonim
CPE 133 Metronom
CPE 133 Metronom

Cal Poly'deki son projemiz için metronom adı verilen bir tempo tutma cihazı oluşturduk, ilgi çekici bir müzik ve dijital tasarım nedeniyle bu projeyi seçtik. CPE 133'teki geçmiş laboratuvarları, kodumuzu tasarlamaya yardımcı olması için ve devre tahtasındaki LED devresini oluşturmaya yardımcı olacak çevrimiçi öğreticileri kullandık.

Adım 1: Sistem Mimarisi

sistem mimarisi
sistem mimarisi
sistem mimarisi
sistem mimarisi
sistem mimarisi
sistem mimarisi

Bu tasarımı bir Basys 3 FPGA kartı, Breadboard, LED'ler, Dirençler ve bağlantı için jumperlar kullanarak uyguladık.

Bu tasarımın amacı, LED'lerin ileri geri yanıp sönme hızını artırmak ve azaltmaktır. Yanıp söndükleri hıza tempo denir. Işığın temposunu artırmak veya azaltmak için Basys 3 FPGA board üzerindeki butonlar kullanılarak istenilen tempoya ulaşıldı.

Yukarı tuşuna basılırsa ışık hızı artar, aşağı tuşuna basılırsa hız düşer.

Adım 2: Devre Mimarisi

Devre Mimarisi
Devre Mimarisi
Devre Mimarisi
Devre Mimarisi

Sistem Mimarisi: Button De-bounce: Bir düğmeye tıkladığımızda tempoyu bir aralık artırmak için devrede bir düğme geri sıçrama uyguladık. Geri sekme olmadan düğmeye tek bir basış saatin frekansıyla birlikte artacaktır.

Tempo Değiştirici: Tempo değiştirici, LED'i çalıştıran saat çıkışını kontrol etmek için saat bölücü tarafından kullanılan MAX_COUNT değerini artırmak veya azaltmak için kullanıldı.

Kayıt: Tempo değiştiriciden çıkan yeni MAX_COUNT'ımızın değerlerini tutmak için bir kayıt kullanıldı. MAX_COUNT değerini 1 saniyelik saat frekansına karşılık gelen bir değere sıfırlamak için kayda bir CLR eklendi.

Saat Bölücü: BASYS 3 kartının saat darbelerini yavaşlatmak için bir saat bölücü kullanılır, bu, saatin frekansının tempo değiştiricide değiştirilen MAX_COUNT değerine bölünmesiyle yapılır.

Kaydırma Kaydı: saat darbesinin yükselen kenarındaki devre tahtasındaki LED devremize '1' veya yüksek bir değer vermek için değiştirilmiş bir 4 bit kaydırma yazmacı kullanıldı. Breadboard'daki 4 LED ile, 4 LED'den sadece 1'ine arka arkaya çıktı verebildik ve tekrar eden 4 vuruşlu bir dizi oluşturduk. Kaydırma yazmacı, 4 bitlik çıktı yalnızca 1 yüksek değer, yani "0001" veya "0100" içerecek şekilde değiştirildi.

Önerilen: