24 Ocak 2019 Perşembe

VHDL Dijital Saat Tasarımı

MOD-60 DEVRESİ

Saatin saniye ve dakikası için mod-60 sayıcı devresi kullanıldı. Devre için 6 adet JK tipi Flip-Flop kullanıldı. Bu sayaca 6 adet giriş bağlandı (26=64). Sayaç, 000000,000001, ... ,111011 (59), 111100 (60) değerine geldiğinde sıfırlanarak 000000 değerinden tekrar saymaya başlayacaktır.
JK tipi Flip-Flop J=K=1 durumunda sonraki durum denklemi: Q(t+1)=JQ’+K’Q→Q(t+1)=Q’(t) Buna bağlı olarak devrenin durum tablosunun bir kısmı aşağıdaki gibidir:


Flip-Flop giriş denklemleri: CLR= Q5.Q4.Q3.Q2.Q1’.Q0’ ve tüm girişler için J=K=1 olur. Böylece sayaç 59 değerinden sonra sıfırlanarak dakika sayacının CLK girişini tetikler. CLK atımı 60 olana kadar işlem devam eder. Aynı sayaç dakika göstergesi için de kullanıldı. Dakika sayacı da binary karşılığı 111011 olan 59 sayısına ulaştığında saat göstergesi için kullandığımız MOD-24 sayacı tetiklenir.
Dakika ve saniye için kullanılan MOD-60 devresinin görüntüsü aşağıdaki gibidir:

MOD - 60 Devresi


MOD-24 DEVRESİ

Dakika 60 olduğunda tetiklenecek olan, saat göstergesi için kullandığımız 6 adet JK tipi Flip-Flop içeren MOD-24 devresinin durum tablosunun bir kısmı aşağıdaki gibidir:


Flip-Flop giriş denklemleri: CLR=RO=Q5’.Q4.Q3.Q2’.Q1’.Q0’ ve tüm girişler için J=K=1 olur. Saat göstergesi için kullanılan MOD-24 devresi aşağıdaki gibidir:

MOD - 24 Devresi
Sayaçların bulunduğu devrenin toplam 18 adet çıkışı vardır. Bir sonraki aşamada bu çıkış değerlerini binary koddan BCD koda dönüştürmek gerekir.

BINARY TO BCD DEVRESİ

Sayaç devresinden gelen binary kodun BCD koda çevrilmesi gerekir. Bunun için 6 bit girişli 7 bit çıkışlı binary to BCD çeviriciyi kullanıyoruz. Sayaçtan gelen 6 şar bitlik saniye, dakika ve saat bilgilerini ayrı ayrı BCD koda çevirmek için saat devresinde 3 adet Binary to BCD dönüştürücü devresi kullanıldı.
Devrenin durum tablosu aşağıdaki gibidir:



Binary kodu BCD koduna çeviren devrenin görüntüsü aşağıdaki gibidir:

BCD to Binary


7 SEGMENT DÖNÜŞTÜRÜCÜ

Bu aşamada binary to BCD devresinin 21 adet çıkışını devreye eklediğimiz 4 adet 7 segment dönüştürücü elemanının girişlerine bağlanmıştır. Saniye, dakika ve saat için kullanılacak olan ve 10lar basamağına denk gelen dönüştürücünün A girişine 0 biti bağlanmıştır.

Devrenin durum tablosu aşağıdaki gibidir:


Devrenin çıkış denklemleri şu şekildedir:

a=A+C+B’D’+BD          b=B’+CD+C’D’                 c=B+C’+D d=A+B’C+CD’+B’D’+BC’D
e=A+CD’+B’D’              f=A+BD’+C’D’+BC’         g=A+CD’+CB’+BC’

Devrenin görüntüsü aşağıdaki gibidir:

         

Yedi segment dönüştürücü devresinin çıkışlarından gelen a,b,c,d,e,f,g bitleri toplam 6 adet 7 segment display elemanına bağlanarak devre tamamlanır.



Dijital saatin .circ kodunu indirmek için tıklayınız.




VHDL Dijital Saat Tasarımı

MOD-60 DEVRESİ Saatin saniye ve dakikası için mod-60 sayıcı devresi kullanıldı. Devre için 6 adet JK tipi Flip-Flop kullanıldı. Bu sayaca ...