İçindekiler:

VHDL Kronometre: 8 Adım (Resimlerle)
VHDL Kronometre: 8 Adım (Resimlerle)

Video: VHDL Kronometre: 8 Adım (Resimlerle)

Video: VHDL Kronometre: 8 Adım (Resimlerle)
Video: VHDL ile FPGA PROGRAMLAMA - Ders13: FPGA Architectural Mimari Tasarım 7 Segment Kronometre Part 1 2024, Temmuz
Anonim
VHDL Kronometre
VHDL Kronometre

Bu, VHDL ve Basys3 Atrix-7 Board gibi bir FPGA devre kartı kullanarak nasıl kronometre yapılacağına dair bir eğitimdir. Kronometre 00.00 saniyeden 99,99 saniyeye kadar sayabilir. Biri başlat/durdur düğmesi ve diğeri sıfırlama düğmesi için olmak üzere iki düğme kullanır. Rakamlar, kartın anotları ve katotları kullanılarak kartın yedi segmentli ekranında görüntülenir. Bu kronometrenin çalışması için gereken üç farklı dosya vardır.

Adım 1: Donanım/Yazılım

  • Basys3 Atrix-7 FPGA Kartı
  • Xilinx'ten Vivado Design Suite
  • USB 2.0 A Erkek - Mikro-B Erkek

Adım 2: Blok Şeması

Blok Şeması
Blok Şeması

Genel kronometrenin üç girişi ve iki çıkışı vardır. Üç giriş, başlatma/durdurma, sıfırlama ve saattir. Başlatma/durdurma ve sıfırlama düğmeleridir ve saat, kartın 100 MHz saatidir. İki çıkış, yedi segmentli ekran için anotlar ve katotlardır.

İlk modülün (saat bölücü) bir girişi ve iki çıkışı vardır. Giriş, kartın 100 MHz saatidir ve çıkışlar, biri 480 Hz'de ve diğeri 0,5 MHz'de çalışan iki ayrı saattir.

İkinci modül (ekran) beş giriş ve iki çıkışa sahiptir. Girişler, kartın 100MHz saati, saat bölücü modülünden iki saat ve başlat/durdur ve sıfırla düğmeleridir. Çıkışlar anotlar ve katotlardır.

Son modül (bütün blok şemasıyla modellenmiştir) üç giriş ve iki çıkışa sahiptir. Bu, her şeyi bir araya getiren dosyadır. Girişler, kartın 100MHz'i ve başlat/durdur ve sıfırla düğmeleridir. Çıkışlar, yedi segmentli ekranı kontrol eden anotlar ve katotlardır. Son modül için tüm giriş ve çıkışlar fiziksel olarak kart üzerindedir.

Adım 3: Durum Şeması

Durum diyagramı
Durum diyagramı

Yukarıdaki resim, kronometrenin nasıl çalıştığına ilişkin durum şemasını göstermektedir. Sıfırlama düğmesine basılmasının kronometrenin durumu üzerinde hiçbir etkisi yoktur. Bir sonraki durum başlat/durdur düğmesi ile belirlenir. Başlatma/durdurma, basıldığında "YÜKSEK", ancak basılı tutulduğunda değil ve düğme geri döndüğünde veya anlık olarak "YÜKSEK" olduktan sonra basılı tutulduğunda "DÜŞÜK" olur.

Kronometre sayıyorsa ve başlat/durdur düğmesi "YÜKSEK"se, sayımı durdurur. Kronometre durdurulursa ve başlat/durdur düğmesi "YÜKSEK" olursa, tekrar saymaya başlar. Her iki durum için de başlat/durdur düğmesi "DÜŞÜK" ise, o anda bulunduğu durumda kalacaktır.

Adım 4: Saat Bölücü Modülü

Saat bölücü modülün bir girişi, kartın 100MHz saati ve iki çıkışı, 480Hz ve 0.5MHz saatleri vardır. 480Hz saat, dörtlü arasında hızla geçiş yaparak yedi segmentli ekrandaki tüm LED'leri aynı anda "açık" tutmak için kullanılır. 0,5 MHz saat, kronometrenin gerçekte santi-saniye olarak sayması için kullanılır.

Adım 5: Ekran Modülü

Bu ekran modülünün beş girişi, kartın 100 MHz saati, saat modülünden iki saat ve başlat/durdur ve sıfırlama düğmeleri ve iki çıkış, anotlar ve katotlar vardır. Bu modül aynı zamanda kronometrenin nasıl sayıldığına ve sonlu durum makinesini nasıl içerdiğine ilişkin "mantığa" sahiptir.

Adım 6: Bağlama Modülü

Bu son modül, diğer iki modülü bir araya getiren modüldür. Üç girişi, kartın 100MHz saati ve başlat/durdur ve sıfırla düğmeleri ve iki çıkışı, anotlar ve katotları vardır. 100MHz saat, saat bölücü modülüne ve ekran modülüne gider ve başlat/durdur ve sıfırla düğmeleri ekran modülüne gider. Saat bölücü modülünün (480Hz ve 0.5MHz) çıkışları, ekran modülünün iki saat girişine gider. Ekran modülünün (anotlar ve katotlar) çıkışları, son modülün çıkışlarına gider.

7. Adım: Kısıtlamalar

kısıtlamalar
kısıtlamalar

İki giriş, Basys3 Atrix-7 FPGA Board üzerindeki herhangi bir düğme olabilir ve çıkışlar, yedi segmentli ekran için dört anot ve sekiz katot olacaktır (çünkü aynı zamanda saniye ve milisaniye arasında bir ondalık nokta da istersiniz).

Adım 8: Tamamlandı

Programı Basys3 Atrix-7 FPGA Board'unuza yükleyin ve kronometreyi çalıştırmak için başlat/durdur düğmesine basın!

Önerilen: