0 - SABİS

advertisement
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 78 ve 90 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
Download