Ankara Üniversitesi
Nallıhan Meslek Yüksekokulu
Sayıcılar (Counters)
NE T 107 SAYI SAL E L E KT R ONIK Ö ğr . Gö r . B u rc u Ya kı şı r G i rgi n
Ders İçeriği
Sayıcılar
•
Sayıcıların Özellikleri
•
Sayıcı Çeşitleri
Sayıcılar (Counters)
• Dijital sayıcı (sayaç-counter), seçilen bir zaman aralığındaki darbe sayısını istenen kod’da gösteren sayısal bir çıktı üretir.
• Sayıcılar, flip - flopların uygun şekilde arka arkaya bağlanmalarından elde edilirler. Sayıcılar ölçü, kumanda ve kontrol tesislerinde yoğun olarak kullanılırlar.
Sayıcılar; saat sinyalinin uygulanışına ve sayma yönüne göre sayıcılar olmak üzere
ikiye ayrılır.
Sayıcıların Özellikleri
•
Sayıcılar girişine uygulanan darbe miktarına bağlı olarak 2
ndeğer alabilen elektronik devrelerdir. Buradaki n sayıcının yapısındaki flip flop sayısını verir.
Bunun yanında 2
nsayısı sayıcının modunu, 2ⁿ-1 sayısı da sayıcının en çok kaça kadar sayabileceğini bize gösterir.
•Bu durumu bir örnekle açıklayacak olursak. n = 3 ise; bu sayıcıda 3 tane flip flop kullanılmış mod 8 bir sayıcıdır ve en çok 2n-1=23-1= 7’e kadar sayabilmektedir.
•Eğer yukarı doğru bir sayıcı ise 0-1-2-3-4-5-6-7 sayıp tekrar 0’a dönecektir.
Mod 8 sayıcının döngüsü
Sayıcıların Özellikleri
•
Bir sayıcının tekrar yapmadan sayabildiği durum sayısına o sayıcının modu denir.
•
Tüm sayıcılar belli bir moda göre çalışırlar.
•
Sayıcı modları hep 2’nin katları şeklinde olmak zorunda değildir.
Sayıcı Çeşitleri
Saat sinyalinin uygulanışına göre;
Asenkron (Farklı zamanlı) Sayıcılar: Asenkron sayıcılarda saat sinyali sadece ilk flip-flopa uygulanır. Bu flip-flopun çıkışı ikinci flip-flopun saat girişine uygulanır.
Senkron (Eş zamanlı) Sayıcılar: Senkron sayıcılarda ise saat sinyali tüm flip-floplara aynı anda uygulanır.
Sayma yönüne göre sayıcılar;
Yukarı Sayıcılar: 0’dan başlayıp belirli bir sayıya kadar sayıcılar.
Aşağı Sayıcılar: Belirli bir sayıdan başlayıp 0’a doğru sayan sayıcılar.
Yukarı – Aşağı Sayıcılar: Bir anahtar yardımı ile hem yukarı hem aşağı doğru
sayma işlemi yapan sayıcılar.
Asenkron Sayıcılar
Asenkron sayıcılar, JK flip flopların arka arkaya bağlanması ile elde edilen sayıcılardır. Saat sinyali sadece ilk flip-flop’a uygulanır. İkinci flip-flop’a ise birinci flip flopun çıkışı bağlanır. Üçüncü flip-flop’a da ikinci flip-flopun çıkışı bağlanır. Çıkışlar ise Q çıkışlarından elde edilir.
Asenkron sayıcılar da saat sinyali sadece ilk flip flopa uygulandığı için girişi ile
çıkışı arasında oluşan bir zaman gecikmesi oluşur.
Asenkron Yukarı Sayıcılar
JK flip-flop’un J ve K girişlerine 1 uygularsak, Toggle (her defasında çıkışın durum değiştirmesi) modunda çalışır. Ancak saat sinyali bir pozitif ve bir negatif alternansı tamamladığında (1 periyodunda) JK flip flop sadece bir kere konum değiştirir (1 alternans oluşur). Birinci flip-flop saat sinyalinin frekansını ikiye bölmüş olur. Birinci flip-flop’un çıkışı ikinci flip-flop’un girişine bağlandığında aynı işlem ikinci flip-flop için de gerçekleşmiş olur. Bu durumda girişteki saat sinyalinin frekansı ikinci flip flopun çıkışında dörde bölünmüş olur.
Üç bitlik asenkron ikilik yukarı sayıcı devresi 000’dan 111’e kadar sayma işlemi yapar. Bu devrede JK flip floplar arka arkaya bağlanmıştır. Saat sinyali sadece birinci flip-flop’a uygulanır. Birinci flip-flop’un Q çıkışından hem en küçük ikilik basamak elde edilir hem de ikinci flip-flop’un saat sinyali sağlanmış olur.
Üç Bitlik Sayıcı
Üç bitlik asenkron yukarı sayıcı devresi
Üç Bitlik Sayıcı
Tüm flip-flop’ların girişine bir uygulanmış durum da ve saat sinyali sadece birinci flip- flop’a uygulanıyor. İlk durumda tüm çıkışların 0. Saat sinyalinin ilk düşen kenarında (1 iken 0 olduğu an) birinci flip-flop Q çıkışı 1 olur. Bu aynı zaman da ikinci flip-flop’un saat girişine uygulanır. İkinci bir saat sinyali ile birinci flip flopun Q çıkışı 0 olur. Bu durumu ikinci flip flop bir düşen kenar olarak algıladığı için çıkışı konum değiştirir ve 0 olan çıkışı 1 olarak değişir. Üçüncü saat sinyalinde birinci flip flop tekrar konum değiştirir, yani 0 iken 1 olur. Bu durum ikinci flip flopun girişine de uygulanır ama bu durum yükselen kenar olduğu için ikinci flip flopun konum değiştirmesine sebep olmaz. Buradaki flip-floplar saat girişindeki sinyal sadece 1 iken 0 olduğunda tetiklenir. Bir sonraki saat sinyalinde ise ilk iki flip flop 0 olurken üçüncü flip flop 1 durumu alır. Bu durum hepsi 111 oluncaya kadar devam eder, daha sonra hepsi 000 olarak en baştan başlar.
3 bitlik asenkron yukarı sayıcının zaman grafiği
3 bitlik asenkron yukarı sayıcı doğruluk tablosu
Dört Bitlik Sayıcı
Asenkron 4 bitlik sayıcı 3 bitlikten farklı olarak arkasına bir flip-flop daha eklenmiş halidir. Dolayısıyla 0000’dan 1111’e kadar sayma işlemi yapmaktadır.
Çalışma prensibi 3 bitlik sayıcı ile aynıdır.
Asenkron dört bitlik sayıcı ile 0’dan 15’e kadar ikilik düzende sayma işlemi
gerçekleştirebiliriz. Burada dikkat etmemiz gereken bir konuda küçük basamak
ilk flip flopa bağlı olan D çıkışıdır. Bu durum genel literatür de MSD (en büyük
basamak), LSD (en küçük basamak) olarak adlandırılır. Burada A en büyük
basamak, D ise en küçük basamağa karşılık gelir.
Dört bitlik asenkron yukarı sayıcı devresi
Dört bitlik asenkron yukarı sayıcı zaman diyagramı
Dört bitlik asenkron yukarı saycı doğruluk tablosu
Asenkron Aşağı Sayıcılar
Üç bitlik aşağı doğru sayıcılarda sayıcı sayma işlemine ilk saat sinyali ile birlikte 111’den başlar ve 000’a kadar aşağı doğru sayma işlemi yapar. Daha sonra sayma işlemi yine 111 olur. Döngü bu şekilde devam eder. Üç bitlik aşağı sayıcının üç bitlik yukarı sayıcıdan farkı ikinci flip flopun saat sinyali birinci flip flopun Q çıkından değil de Q' çıkışından alınmıştır. Aynı şekilde üçüncü flip flopun da saat sinyali ikinci flip flopun Q' çıkışından alınmıştır.
Normalde JK flip floplar Toggle modunda çalışırken ve saat sinyali uygulanmamış iken Q çıkışları 0, Q' çıkışları ise 1 durumundadır. İlk saat sinyali uygulandığında 1.
flip flopun Q çıkışı 1 olur. Q' çıkışı 1 iken 0 olur ve ikinci flip flopu tetikler.
Üç Bitlik Sayıcı
Asenkron Aşağı Sayıcılar
İkinci flip-flop’unda Q çıkışı 0 iken 1 olur. Q' çıkışı da 1 iken sıfır olduğunda bu durum üçüncü flip-flop’u tetikler, bu sayede ilk saat sinyali ile üç flip-flop’unda çıkışı 1 olur ve her saat sinyali ile aşağı doğru sayma işlemi devam eder. İkilik düzende 7’den 0’a doğru sayma işlemi yapar.
Üç bitlik asenkron aşağı sayıcı devresi doğruluk tablosu Üç bitlik asenkron aşağı sayıcı devresi zaman diyagramı
Üç bitlik asenkron aşağı sayıcı devresi
Asenkron Aşağı Sayıcılar
Asenkron dört bitlik geri sayıcının çalışma prensibi üç bitlik geri sayıcının çalışma esası ile aynıdır.
Tek farkı bir flip-flop daha eklenmiş olmasıdır. Bundan dolayı 23 ’den değil de 2
4’den geri sayabilmektedir.
Başlangıç sayısı ikilik düzende 7 yerine 15’ten başlar.
Dört Bitlik Sayıcı
Asenkron dört bitlik aşağı sayıcı
Dört bitlik asenkron aşağı sayıcı devresi zaman diyagramı
Dört bitlik asenkron aşağı sayıcı devresi doğruluk tablosu
Senkron Sayıcılar
•
Senkron sayıcılarda asenkron sayıcılardan farklı olarak saat sinyali sadece ilk flip- flopa değil tüm flip - floplara aynı anda uygulanır.
•
Sistemdeki tüm flip - floplar aynı anda girişlerindeki sinyalleri işlerler. Bundan dolayı zaman gecikmesi oluşmaz ve hassas olarak zaman ölçülebilir.
•
Senkron sayıcılarda flip floplara ek olarak kapılarda kullanır.
Senkron Yukarı Sayıcılar
Üç bitlik senkron yukarı sayıcı 000’dan başlayıp 111’e kadar sayma işlemi yapar. FF3’e +5 V uygulanmış durumda. Bundan dolayı her saat sinyali ile A çıkışı konum değiştirecektir.
Burada A en küçük basamak C ise en büyük basamaktır. İlk saat sinyali ile birlikte FF3’ün Q çıkışı konum değiştirerek A çıkışı 0 iken 1 olur. Bu çıkış aynı zamanda FF2’nin J ve K girişlerine uygulanır. Bu FF2’nin ikinci saat sinyali ile 0 iken 1 olmasını sağlarken aynı zamanda A çıkışının da 0 olmasını sağlar. Üçüncü saat sinyali ile A çıkışı tekrar 1 olur fakat FF2’nin girişlerinde üçüncü saat sinyalinden önce 0 bilgisi olduğu için konum değiştirmez 1 olarak kalmaya devam eder. Üçüncü saat sinyali sonunda A çıkışı ve B çıkışı 1 olduğundan devredeki AND kapısının çıkışı 1 olur ve bu durum FF1’in girişlerine uygulanır. Dördüncü saat sinyali ile C çıkışı 1 olurken B ve A çıkışları 0 olurlar. Bundan sonraki üç saat sinyallinde ise ilk üç durum tekrarlanır ve A, B ve C çıkıları 1 olur. Bir sonraki saat sinyali ile üçü de 0 durumunu alır ve bu şekilde sayma işlemi devam eder.
Üç Bitlik Sayıcı
Üç bitlik senkron yukarı sayıcı devresi
Üç bitlik senkron yukarı sayıcının zaman grafiği
3 bitlik senkron yukarı sayıcı doğruluk tablosu
Senkron Yukarı Sayıcılar
Dört bitlik senkron sayıcı 0000’dan başlayıp 1111’e kadar sayma işlemi yapar. Çalışma prensibi üç bitlik senkron sayıcıya benzer. Üç bitlik
senkron sayıcıda en büyük basamağı 1 durumuna getirmek için ondan önceki iki basamağın 1 olması gerekiyordu.
Bu durum da bir AND kapısı ile
sağlanmıştı. Dört bitlik sayıcıda gene aynı esas üzerine kurulurdur. En
büyük basamağın 1 olması için ilk üç basamağın 1 olması gerekir. Bu da üç bitlik sayıcıya bir AND kapısı ve bir flip flop eklenerek sağlanabilir.
Dört Bitlik Sayıcı
Dört bitlik senkron yukarı sayıcı doğruluk tablosu Dört bitlik senkron yukarı sayıcının zaman grafiği
Senkron Aşağı Sayıcılar
Senkron üç bitlik aşağı sayıcı 111’başlayıp 000’a kadar sayma işlemi yapan sayıcılardır.
Senkron sayıcıların çalışmasında alt basamaktan üst basamağa doğru beslemeyi Q çıkışından değil de Q' çıkışından yaparsak sayma işlemi 111’den başlayarak geriye doğru ilerler. 000’a ulaşınca tekrar 111 olur ve bu şekilde döngü devam eder. İlk saat sinyali verilmeden önce flip flopların Q çıkışı 0, Q' çıkışı 1 olduğu durumdur. Bu durumda ilk saat sinyalinden önce tüm flip flopların JK bacaklarına 1 bilgisi ulaşmış durumdadır. Yani 0 olan Q çıkışları 1 olmaya hazır halde beklemektedirler. İlk saat sinyali ile beraber tüm flip flopların Q çıkışı 1 olur. Q' çıkışları da 0 olur. Bu aşamadan sonra her saat sinyali ile FF3 konum değiştirir. Bu konum değiştirme FF2 yi her iki sinyalde bir, FF3’ünde her dört sinyalde bir konum değiştirmesine sebep olur. Bu değişimler sonucu 111’den başlayan sayıcı devresi 000’a ulaşıncaya kadar sayma işlemine devam eder. Bir sonraki saat sinyali ile tekrar 111 olarak sayma işlemi devam edecektir
Üç Bitlik Sayıcı
Üç bitlik senkron aşağı sayıcı devresi
Üç bitlik senkron aşağı sayıcı doğruluk tablosu
Üç bitlik senkron aşağı sayıcının zaman grafiği
Senkron Aşağı Sayıcılar
Dört bitlik senkron geri sayıcı 1111’den başlayarak 0000’a kadar geriye doğru sayma işlemi yapabilmektedir. Çalışması üç bitlik senkron sayıcı ile yaklaşık aynıdır.
Dört Bitlik Sayıcı
Dört bitlik senkron aşağı sayıcı devresi
Dört bitlik senkron aşağı sayıcının zaman grafiği
Üç bitlik senkron aşağı sayıcı doğruluk tablosu
KAYNAKLAR
1. Flip-Flop, Sayısal Tasarım, Selçuk Üniversitesi, Lojik_Uygulamalari_2_BO, Öğrenme Faaliyeti 1, syf. 61- 89
(http://www.selcuk.edu.tr/dosyalar/files/074/Sayisal_Tasarim.pdf)