BÖLÜM Sayıcılar (Counters) Prof. Dr. Hüseyin Ekiz 11 Sayıcılar (Counters) • belirli bir durum dizisini tekrarlar, SAYICILAR Tetikleme işaretlerinin uygulanışına göre Asenkron Sayıcı Senkron Sayıcı Sayma yönüne göre Yukarı Sayıcı Aşağı Aşağı/Yukarı Sayıcı Sayıcı Sayma kodlanmasına göre İkili BCD Sayıcı Sayıcı Mod Sayıcı Sayıcıların tetikleme sinyallerine göre sınıflandırılması • Tetikleme sinyaline göre; o Asenkron (farklı zamanlı) sayıcılar o Senkron (eş zamanlı) sayıcılar Sayıcıların sayma yönüne göre sınıflandırılması • Sayıcılar sayma yönüne göre; o Yukarı / İleri sayıcılar (Up counters): o Aşağı / Geri sayıcılar (Down counters): o Yukarı-Aşağı sayıcılar (Up-Down Counters): Sayıcıların sayma kodlanmasına göre sınıflandırılması • n sayıdaki FF ile, 2n sayıda sayma işlemi yapılır. • Üç adet FF kullanan sayıcı 8 kademe, dört adet FF kullanan sayıcı 16 kademe sayma gerçekleştirir. • Sayıcılar, sayabileceği maksimum değeri sayabileceği gibi, belirli bir değere kadar sayma yapabilir. Sayıcıların sayma kodlanmasına göre sınıflandırılması • Sayı dizisine göre; o İkili sayıcı, o BCD sayıcı, o Mod sayıcı Asenkron Sayıcılar • • • • • Bir FF’in çıkışı diğerinin girişine tetikleme için kullanılır, ‘dalgalı sayıcı’ veya ‘seri sayıcı’ ‘toggle’ modu, yayılım gecikmesi, Örneğin; 5 adet bağlı FF’nin yayılım gecikmesi her birinde 10 nsn ise, devrede bulunan 5. FF’nin konum değiştirmesi için 5x10nsn = 50 nsn’lik bir zamanın geçmesi gerekir. Asenkron Yukarı Sayıcılar – Pozitif Kenar CLK • • • • İlk FF çıkışı bir sonraki FF’nin tetikleme girişine, A FF; ilk gelen tetikleme sinyali QA = '1’ İkinci tetikleme sinyali, QA = ‘0’ Bu anda A FF’sinin QA çıkışının bağlı olduğu B FF’si tetiklenir ve QB çıkışı '1' değerini alır. ‘1’ clk JA QA QA JB QB A KA FF0 QıA B QıA KB QıB FF1 QB QıB Asenkron Yukarı Sayıcılar – Pozitif Kenar CLK Tetikleme sinyalleri ile FF’lerde oluşan çıkış değerleri tablo olarak gösterilirse, ikili sayma dizisinin oluştuğu görülür. ‘1’ clk Clk palsi JA QA QA JB QB A KA FF0 QıA B QıA KB QıB FF1 QB QıB Başlangıç 1 2 3 4 QB 0 0 1 1 0 QA 0 1 0 1 0 Asenkron Yukarı Sayıcılar – Pozitif Kenar CLK Sayma dizisinde, 4.tetikleme palsı ile çıkışların ‘00’ değerlerini aldığı ve sayma işlemine tekrar başlanacağı görülebilir. ‘1’ clk JA QA QA JB QB A KA FF0 QıA B QıA KB QıB QB QıB clk ı QA QA FF1 QB Asenkron Yukarı Sayıcılar – Negatif Kenar CLK • Negatif kenar tetiklemeli FF’ler kullanılması durumunda, aşağıdaki bağlantı oluşur. D C J QD Sonraki kademeye D K 1 1 B J QC 1 C A J QB 1 1 1 Clk A B K J QA K 1 Dört bitlik asenkron yukarı sayıcı devresi prensip şeması. Sayıcıda bulunan FF çıkışlarındaki dalga şekilleri. K 1 Asenkron Yukarı Sayıcılar – Negatif Kenar CLK • • • • • İlk tetikleme sinyali QA = ‘1’ İkinci tetikleme sinyali QA = ‘0’ Bu anda QB = '1’ dördüncü tetikleme sinyali QB = ‘0’ Bu anda QC = '1’ D C J QD Sonraki kademeye D K 1 1 B QC J 1 K 1 C A QB J 1 K 1 J QA 1 Clk A B K 1 Asenkron Yukarı Sayıcılar (İkili Dalgacık Sayıcı)… • her bir FF çıkışındaki sinyalin frekansı, girişindeki sinyalin frekansının yarısıdır. • girişten uygulanan frekans ikiye bölünmekte ve 4 kademeli bir sayıcıda girişten uygulanan sinyal 16’ya bölünmüş olarak elde edilmektedir. • 40 KHz’lik bir tetikleme palsı uygulanan 4 kademeli bir sayıcı devresinde; 1. FF’nin çıkışında 20 KHz, 2. FF’nin çıkışında 10 KHz, 3. FF’nin çıkışında 5 KHz, 4.FF’nin çıkışında ise 2.5 KHz’ lik bir sinyal elde edilir Sıfırlamalı ve Önkurmalı Asenkron Yukarı Sayıcılar • S1 kapatıldığında çok büyük bir şarj akımı geçer • R1’in alt ucundaki ‘0’ seviyeli gerilim ile tüm FF’lerin çıkışları sıfıra kurulur. • kondansatör şarj olur ve sıfırlama girişlerini etkisiz yapar. +V D C B '1' '1' Q Q S K D CLK R J A Q S C Q R K '1' Q CLK J Q S K B CLK R J '1' Q Q S K A CLK R J S1 R1 +- C1 Sıfırlamalı ve Önkurmalı Asenkron Yukarı Sayıcılar… +V D C B '1' '1' Q Q S K D CLK R J A Q S C Q R K '1' Q CLK J Q S K B CLK R J '1' Q Q S K A CLK R S1 R1 J +- C1 '0101' ikili sayısından saymaya başlayan ön-kurmalı sayıcı devresi Devreye gerilim uygulanması ile, devredeki FF’ler ‘0’ veya ‘1’ değerlerine kurulur ve sayıcı ‘0101’ değerinden başlayarak yukarı doğru sayar. Sıfırlamalı ve Önkurmalı Asenkron Yukarı Sayıcılar… A B C D PE CLK J S Q J S Q J S CLK CLK CLK CLK K R Q K R Q K R Q K R Q Q J S Q değer ikili sayı olarak ABCD girişlerine uygulanır. Örneğin; (4)10=(0100)2’den başlamak isteniyorsa, A=B=D=0 ve C=1 uygulanır. PE uygulanması ile bilgiler FF’lere aktarılır. Asenkron Aşağı Sayıcı • Asenkron aşağı sayıcı Q çıkışı yerine Q' çıkışları • asenkron yukarı sayıcı ve aşağı sayıcının çalışma prensipleri aynıdır. A ‘1’ J S CLK ‘1’ Q B ‘1’ A K R J S CLK Q ‘1’ K R Q C ‘1’ B Q J S Q CLK C ‘1’ K R Q Asenkron Aşağı Sayıcı • İlk tetikleme sinyali QA = ‘1’ ve QAı = ‘0’ • • • • • • • Bu anda QB = ‘1’ ve QBı = ‘0’ Bu durumda QC=‘1’ , QCı = ‘0’ Böylece ilk tetikleme ile C=B=A=‘1’ değerini alır, İkinci tetikleme sinyali QA=‘0’, QAı=‘1’ Diğer FF’ler aynı, Yani A=0, B=C=1 8. pals C=B=A=‘0’ A B C Sayı C B A 7 1 1 1 6 1 1 0 5 1 0 1 4 1 0 0 3 0 1 1 2 0 1 0 1 0 0 1 0 0 0 0 000 000 001 001 111 ‘1’ 010 J S CLK ‘1’ Q ‘1’ A K R J S CLK Q ‘1’ K R Q ‘1’ B Q J S Q CLK C ‘1’ K R 110 010 011 Q 101 100 011 100 Aşağı – Yukarı Sayıcı • sayma modu = ‘1’ B kapısı ile Qı çıkışı aktif sayıcı yukarı , • Sayma modu = ‘0’ A kapısı ile Q çıkışı aktif sayıcı aşağı SAYMA MODU Giriş J S Q A CLK K J S Q CLK R Q B K R Q Aşağı – Yukarı Sayıcı • ‘Özel-VEYA’ kapısı farklılık kapısı, • ‘Özel-VEYADEĞİL’ kapısı ise eşitlik kapısı • Kontrol girişi ‘1’ ise, ‘clk’ Q', Yukarı • ‘0’ ise ‘clk’ Q Aşağı Yukarı/Aşağı Kontrol Girişi A B C D ‘1’ ‘1’ ‘1’ J Q CLK K J Q CLK R Q K ‘1’ J Q CLK R Q K J Q CLK R Q K R Q Asenkron Sayıcılarla Belirli Bir Değere Kadar Sayma • Bir sayıcının tekrar yapmadan sayabildiği sayı miktarına, ‘sayıcının modu’ denir. • Mod-8 sayıcı “111” • Mod-10 sayıcısı “1001” • Sonra devre başa döner • Bu işlem; ‘sıfırlama’ • iki farklı yöntem kullanılır: o Dolaylı sıfırlama (modlara göre sıfırlama) yöntemi ve o Doğrudan sıfırlama yöntemi Dolaylı Sıfırlamalı Asenkron Sayıcılar • FF’lerin durumları • kapı devreleri ile sıfırlama işlemi, • Modlara göre sıfırlama yöntemi o sayıların ikili karşılıkları tablo yapılır, o en alta en son sayıdan sonraki sayı yazılır, o Devreyi sıfırlayacak birleşik devre sayıcı devresine ilave edilir Dolaylı Sıfırlamalı Asenkron Sayıcılar • • • • • (5)10 sayan sayıcı FF sayısı 3 Mod-6 sayıcı 101 durumundan sonra sıfırlanacak VEDEĞİL çıkışı '0’ C 0 0 0 0 1 1 1 B 0 0 1 1 0 0 1 A 0 1 0 1 0 1 0 Sayıcıyı sıfırlamak için gerekli geçici durum 001 CBA 010 000 011 111 110 geçici durum 100 101 Dolaylı Sıfırlamalı Asenkron Sayıcılar • mahsuru; meydana gelen kısa süreli sinyal, • sayma işlemi sırasında fark edilmez, Tüm J ve K girişleri '1' Q A J CLK B Q J CLK A K R Q K Q C J CLK B Q R K C Q R B çıkış Giris Sinyalleri 1 2 A B C NAND Çıkışı 3 4 5 A 6 7 8 9 10 11 12 Dolaylı Sıfırlamalı Asenkron Sayıcılar • MOD-10 sayıcı tasarımı aynı zamanda BCD sayıcı • 4 adet FF • Sıfırlanma değeri (10)10 =(1010)2 Desimal Sayı D C B A 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 Dolaylı Sıfırlamalı Asenkron Sayıcılar • tetikleme sinyalinin frekansı 10’a bölünür, • Bu nedenle frekansın 10’a bölünmesi istenilen durumlarda Mod-10 sayıcısı kullanılır A '1' '1' C B '1' CLK J CLK K Q J Q CLK B A Q K '1' J CLK Q D K Q C J CLK Q K Q D Q (BD) Dolaylı Sıfırlamalı Asenkron Sayıcılar 60 Hz bir sinyalden, 1 Hz’lik sinyal elde edecek devre 6 adet FF (60)10=(111100)2 sıfırlama işlemi, Bu durumda; C, D, E ve F FF’lerinin çıkışları ‘VEDEĞİL’ kapısına bağlanır. • • • • ‘1’ ‘1’ J 60 Hz Q ‘1’ J A K Q J B K ‘1’ ‘1’ Q J C K Q ‘1’ J D K Q J E K Q 1Hz F K C D E F Doğrudan sıfırlanmalı asenkron sayıcılar • devrenin çalışma konumu, • karmaşık ve tasarımı daha uzun, • FF tipi ve sayısı tespit edilir, • FF tetikleme girişleri tespit edilir, • FF senkron girişleri tespit edilir. Doğrudan sıfırlanmalı asenkron sayıcılar • 3 adet JK negatif kenar tetiklemeli FF, doğrudan sıfırlamalı Asenkron MOD-6 sayıcısı tasarımı • Her gelen tetikleme sinyali ile A FF’si konum değiştirir, • A FF her ‘1’ ‘0’ durumunda B FF konum değiştirir, • C FF ise, desimal olarak 3 4 ve 5 0 değişir • 3 4 iken A ve B FF çıkışı 1 0 olur ve C FF tetiklenir, • 5 0 iken yalnızca A FF 1 0 olur • Sadece iki durumda da C FF’i etkileyen A FF Desimal Sayı C B A 0 1 2 3 4 5 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 Sayılan Darbe 1.darbe 2.darbe 3.darbe 4.darbe 5.darbe 6.darbe Doğrudan sıfırlanmalı asenkron sayıcılar • Bu durumda tetikleme girişleri, LSB A J Q CLK K B R J A Q K J B CLK Q C MSB R Q CLK Q K Desimal Sayı C B A 0 1 2 3 4 5 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 C R Q Sayılan Darbe 1.darbe 2.darbe 3.darbe 4.darbe 5.darbe 6.darbe Doğrudan sıfırlanmalı asenkron sayıcılar… • J-K senkron girişlerinin tespiti; • tetikleme sinyali yoksa FF konum değiştirmez, • Bu anlarda J = K = ‘d’ • geçiş tablosu kullanılır Qn Qn+1 J K 0 0 0 d 0 1 1 d 1 0 d 1 1 1 d 0 Doğrudan sıfırlanmalı asenkron sayıcılar… • • • • FF’nin mevcut ve sonraki durumları kontrol edilir, değişiklik ve tetikleme sinyali varsa durum değiştirir, Senkron girişler geçiş tablosuna göre yazılır, Değişiklik olmayan durumlar‘d’ Desima l C B A J KC 0 0 0 0 d d d d 1 d 1 0 0 1 0 d 1 d d 1 C J KB B J JA KA CB 00 01 0 1 0 d d d d 1 d 3 0 1 1 1 d d 1 d 1 4 1 0 0 d d d d 1 d 5 1 0 1 d 1 0 d d 1 0 0 0 0 KA CB A 00 01 11 10 JB CB A 00 01 11 10 A A 2 11 10 0 1 1 x 1 0 d d x d 0 d d x d 1 d d x d 1 1 1 x 1 1 1 d x 0 JA=1 JC CB 00 01 11 10 A 0 d 1 0 d 1 x x KA=1 CB KC 0 d CB 00 01 11 10 A d KB d 1 d JC=B d d A JB=C 00 01 11 10 x d 0 d d x d x 1 1 d 1 x d KC=1 KB=1 LSB A C MSB B ‘1’ CLK JA Q CLK A KA R JB 12 Q ‘1’ CLK KB Q JC B R Q C CLK Q ‘1’ KC R Q Doğrudan sıfırlanmalı asenkron sayıcı: JK FF Mod-10 sayıcı • • • dikey oklar FF’nin durum değiştirmesi, Yatay ok başlangıcı sinyal hangi FF’ten çıkış, Bitişi ise sinyal hangi FF’e etkilediği • • • • • A FF her sinyali ile durum değiştirir, A FF her 1 0 B FF konum değiştirir, A FF B FF’i tetikler, B FF 1 0 C FF konum değiştirir, B FF C FF’i tetikler, Desimal Sayı Desimal 78 ve 90 D FF değişir 0 Bu durumda yalnızca A FF değişir, A FF D FF’i tetikler, A J CLK Q A K R Q B J CLK Q B K R Q D C J CLK Q C K R Q J CLK Q D K R Q D C B A Giriş Darberi 0 0 0 0 1.darbe 1 0 0 0 1 2.darbe 2 0 0 1 0 3.darbe 3 0 0 1 1 4.darbe 4 0 1 0 0 5.darbe 5 0 1 0 1 6.darbe 6 0 1 1 0 7.darbe 7 0 1 1 1 8.darbe 8 1 0 0 0 9.darbe 9 1 0 0 1 10.darbe 0 0 0 0 0 MSB FF’ una LSB FF’ una etki eden darbeler etki eden darbeler Doğrudan sıfırlanmalı asenkron sayıcı: JK FF Mod-10 sayıcı FF’nin tetikleme girişinde ‘1’ ‘0’ olması durum değişikliği D C B A J KD JC KC JB KB JA D K Sayılan Darbe A Qn Qn+1 J K 2.darbe 0 0 0 d d 3.darbe 0 1 1 d d 1 4.darbe d 1 d 5.darbe 1 0 d 1 1 d d 1 6.darbe 1 1 d 0 d d d 1 d 7.darbe d 1 d 1 d 1 8.darbe d d d d d 1 d 9.darbe 1 d d 0 d d 1 10.darbe 0 0 0 0 0 d d d d d d 1 d 1.darbe 1 0 0 0 1 0 d d d 1 d d 1 2 0 0 1 0 d d d d d d 1 3 0 0 1 1 0 d 1 d d 1 4 0 1 0 0 d d d d d 5 0 1 0 1 0 d d d 6 0 1 1 0 d d d 7 0 1 1 1 1 d 8 1 0 0 0 d 9 1 0 0 1 d 0 0 0 0 0 Doğrudan sıfırlanmalı asenkron sayıcı: JK FF Mod-10 sayıcı Karnaugh haritasında; fark etmez‘x’ KA JA DC BA 00 01 11 10 JC 00 01 11 10 d d x d 1 1 x 1 1 1 x x d d x x JB DC BA 01 00 01 11 10 d d x d d 11 1 10 d 11 10 00 1 x 1 01 d d x d 11 d d x x 10 1 1 x x d x d x d x BA 00 01 d 11 x 10 x 00 01 11 10 d d x d d d d d 1 d BA x x x KB 00 01 11 10 00 d d x d 01 1 1 x 11 d d 10 d d BA DC 00 01 d 11 A 01 11 10 00 d d x d 0 01 d d x d x x 11 1 1 x x x x 10 d d x x x 10 x 11 10 d d x d 0 0 1 d d x KB=1 DC 01 KC=1 JC=1 00 00 0 DC BA JB=A JD DC KC 00 01 1 JA=1 KA=1 DC BA 00 DC KD BA 00 01 d x x 11 x x 10 JD=BC 00 01 11 10 d d x d d d x 1 d d x x d d x x KD=1 B C D BC ‘1’ ‘1’ J K CLK Q J ‘1’ A Q K CLK Q B J K Q CLK Q J ‘1’ C Q K CLK Q D Q