BAB VIII PENCACAH (COUNTER)
8.1 Pendahuluan
Pencacah digital adalah sekumpulan FF yang berubah keadaan keluaran nya dalam merespon pulsa-pulsa yang diberikan pada masukannya. Susunan beberapa FF tersebut tersebut mengha menghasil silkan kan bilanga bilangan n biner biner ekival ekivalen en dari jumlah jumlah pulsa total yang yang diberikan pada saat itu. Pencac Pencacah ah bany banyak ak digu digunak nakan an pada pada siste sistem m digi digital tal,, dian diantar tarany anyaa sebag sebagai ai penghitung penghitung pulsa, pembagi pembagi frekuensi, frekuensi, pewaktu, penunda penunda waktu dan sebagainya. sebagainya. Berdasarkan Berdasarkan Clock Clock yang yang diberik diberikan an pada FF, maka maka Pencacah Pencacah dikelo dikelompo mpokkan kkan menjadi Pencacah tidak serempak ( Asynchronous ( Asynchronous)) dan serempak (Synchronous ( Synchronous). ). 8.2 Pencacah Tak Serempak (Asynchronous) / Ripple / Serial
Jenis Pencacah ini paling sederhana dan tersusun dari FF yang sejenis (SC, JK, T atau D) yang keluarannya Q (atau Q) dihubungkan dengan masukan Clock FF berikutn berikutnya, ya, sehingg sehinggaa semua semua keluaran keluaran FF tidak berubah berubah bersamaa bersamaan n dengan dengan adanya pulsa Clock. Perubahan keadaan keluaran tiap FF terjadi pada setiap sisi naik (atau turun) dari masukan Clocknya. Suatu Pencacah, apabila perubahan hitungan keluarannya naik dari hitungan awal awaln nya (mis (misal aln nya 0000 0000)) din dinamak amakan an Penc Pencac acah ah naik naik / maju maju ( Up-Counter ). ). Sebaliknya, apabila perubahan hitungan keluarannya turun dari hitungan awalnya (misalnya 1111) dinamakan Pencacah turun / mundur ( Down-C ( Down-Counter ounter ). ). Jumlah masukan pulsa Clock yang menyebabkan Pencacah kembali ke hitungan awalnya dinamakan modulus Pencacah, yaitu jumlah total keadaan keluaran yang berbeda (termasuk nol) dari Pencacah yang dinyatakan : Jumlah Modulus Pencacah = 2 N
N = Jumlah FF
Gambar 8.1 menunjukkan diagram logika Pencacah naik ripple 3 bit dari FF-JK dengan diagram waktu dan tabel hitungannya. Masukan J dan K dibuat berlogika berlogika 1, agar keluarannya keluarannya berubah terus (toggle). Karena N = 3, maka jumlah jumlah modulusnya = 2 3 = 8, jadi ada 8 macam perubahan pada keluaran yaitu naik dari 000 sampai 111. (a) Tabel Kebenaran Kebenaran Pencacah Pencacah Naik Asinkron Asinkron 3-bit 3-bit dari FF-JK 127
128
Keluaran QC QB Q A 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0
Clock
0 1 2 3 4 5 6 7 8 9 10 V
Hitungan
0 1 2 3 4 5 6 7 0 1 2
CC J
Clock
K
SET
CLR
Q
J
Q
K
Q
SET
CLR
Q
J
Q
K
Q
A
SET
CLR
Q
Q
Q
B
C
OUTPUT
(b) Diagram Rangkaian Pencacah Naik Asinkron 3-bit dari FF-JK
Clock
1
Q
A
Q
B
Q
C
2
3
4
5
6
7
8
9
10
(c) Bentuk Gelombang Pencacah Naik Asinkron 3-bit dari FF-JK Gambar 8.1 Pencacah Naik Asinkron 3-bit dari FF-JK Sedangkan gambar 8.2 adalah Pencacah turun ripple 3 bit dari FF-JK. Perbedaan gambar 8.2 dengan gambar 8.1 diatas adalah keluaran Pencacah dari keluaran Q. (a) Tabel Kebenaran Pencacah Turun Asinkron 3-bit dari FF-JK Clock
Keluaran
Hitungan
129
QC 0 1 1 1 1 0 0 0 0 1 1
0 1 2 3 4 5 6 7 8 9 10
V
QA
QB 0 1 1 0 0 1 1 0 0 1 1
0 1 1 1 0 1 0 1 0 1 0
0 7 6 5 4 3 2 1 0 7 6
CC
J
Clock
K
SET
CLR
Q
J
Q
K
Q
SET
CLR
Q
J
Q
K
Q
A
SET
CLR
Q
Q
Q
B
C
OUTPUT (b) Diagram Rangkaian Pencacah Turun Asinkron 3-bit dari FF-JK
Clock
1
Q
A
Q
A
Q
B
Q
B
Q
C
2
3
4
5
6
7
8
9
10
(c) Bentuk Gelombang Pencacah Turun Asinkron 3-bit dari FF-JK Gambar 8.2 Pencacah Naik Asinkron 3-bit dari FF-JK Pencacah diatas memerlukan 8 pulsa Clock dalam satu siklus untuk kembali ke keadaan awal dan karena frekuensi keluaran setiap FF adalah setengah frekuensi masukan Clock (atau lebar pulsa keluaran setiap FF adalah dua kali lebar pulsa
130
masukan Clock), maka frekuensi keluaran QC adalah 1/8 frekuensi pulsa Clock, sehingga dinamakan juga sebagai Pencacah pembagi 8. 8.2.1 Pencacah Dengan Jumlah Modulus < 2 N
Jumlah maksimummodulus suatu Pencacah dibatasi oleh jumlah FF yang digunakan Pencacah, namun dapat dimodifikasi untuk mendapatkan jumlah modulus kurang dari 2 N, dengan melompati bagian urutan hitungan yang tidak dikehendaki. Contohnya urutan hitungan sebagai berikut : 000
001
010
011
100
101
Kembali Gambar 8.3 Urutan Hitungan Pencacah Naik Ripple Mod-6 Pencacah diatas menghitung dari 000 (nol) sampai 101 (lima) lalu kembali ke 000 lagi, hitungan 110 (enam) dan 111 (tujuh) dilompati, sehingga ada 6 keadaan yang berbeda, untuk itu dinamakan Pencacah naik asinkron modulus-6. Untuk memperoleh rangkaian Pencacahnya maka pada saat hitungan ke enam yaitu 110 untuk itu keluaran Q C, QB dan QA dihubungkan ke Gate NAND yang menghasilkan keluaran 0 digunakan untuk me-reset (clear) Pencacah tersebut ke 000, seperti ditunjukkan pada gambar 8.4 dibawah.
OUTPUT Q V
Q
A
Q
B
C
CC
J
SET
Q
J
A
Clock
K
CLR
SET
Q
J
B Q
K
CLR
SET
Q
C Q
K
CLR
Q
(a) Diagram Rangkaian Pencacah Naik Asinkron Mod-6
131
Clock Q Q Q
1
2
3
4
5
6
7
8
9
10
11
12
A
B
C
Keluaran
1 0
NAND
(b) Bentuk Gelombang Pencacah Naik Asinkron Mod-6 Gambar 8.4 Pencacah Naik Asinkron Mod-6 Dari gambar 8.4 diatas tampak bahwa bentuk gelombang pada keluaran Q B muncul pulsa sesaat (spike atau glitch) setelah terjadi pulsa Clock ke-6 dan ke-12 yang disebabkan oleh terjadinya hitungan 110 (6) sebelum reset (clear). Keluaran QC mempunyai frekuensi 1/6 dari frekuensi pulsa Clock atau dengan kata lain Pencacah mod-6 membagi frekuensi pulsa masukan Clock dengan 6. Pencacah asinkron diatas dapat dimodifikasi sehingga mempunyai urutan hitungan yang lain, misalnya : 000
001
010
011
100
101
110
Berhenti Gambar 8.5 Urutan Hitungan Pencacah Naik Ripple Mod-6 Berhenti Sendiri
OUTPUT Q V
Q
A
Q
B
C
CC
J
SET
Q
J
A
Clock
K
CLR
SET
Q
J
B Q
K
CLR
SET
Q
C Q
K
CLR
Q
Gambar 8.6 Pencacah Naik Ripple Mod-6 Berhenti Sendiri
132
Agar Pencacah berhenti sendiri (self stopping) maka keadaan menyimpan (memory) dari sebuah FF digunakan untuk menghentikan hitungan, jadi pada hitungan 110 (6) keluaran Q C, Q B dan QA dihubungkan ke Gate NAND yang keluarannya dihubungkan ke masukan J-K FF pertama (FFA) sehingga hitungan Pencacah berhenti, seperti ditunjukkan pada gambar 8.6 dibawah. 8.3 Penundaan Perambatan ( Propagation Delay) Pada Pencacah Ripple
Pencacah ripple termasuk Pencacah biner yang sederhana rangkaiannya, karena memerlukan hanya sedikit komponen untuk menghasilkan urutan hitungan yang diinginkan. Kelemahannya adalah waktu operasinya yang relatif lebih lama, karena FF kedua tidak akan merespon masukannya sampai waktu penundaan perambatan t pd dari FF pertama, disebabkan masukan Clocknya berasal dari keluaran FF pertama. Sedangkan FF ketiga tidak akan merespon masukannya sampai waktu penundaan perambatan t pd dari FF kedua, karena masukan Clocknya berasal dari keluaran FF kedua, atau 2 x t pd setelah pulsa Clock diberikan, dan seterusnya. Jadi penundaan perambatan total Pencacah ripple dengan sejumlah N FF tidak dapat berubah keadaan sampai N x t pd setelah pulsa Clock diberikan. Gambar 8.7 mengilustrasikan penundaan perambatan Pencacah naik ripple 3-bit dengan perioda pulsa Clock T = 1000 ndetik dan penundaan perambatan tiap FF t pd = 50 ndetik. Clock Q Q Q
1
2
3
4
5
6
7
8
9
1000 ndet A
B
C
50 ndet
100 ndet
150 ndet
Gambar 8.7 Penundaan Perambatan Pencacah Naik Ripple 3-bit
10
133
Dari gambar diatas tampak bahwa urutan hitungan beroperasi normal walaupun terjadi penundaan perambatan 150 ndetik, ini menjadi masalah bila perioda pulsa Clock 100 ndetik yang menyebabkan terjadinya kesalahan hitungan, demikian juga apabila penundaan perambatan tiap FF mendekati perioda pulsa Clock. Untuk mengatasinya, maka besarnya perioda pulsa Clock adalah : TClock
≥ N
x t pd
f Clock
atau
≤
1 N x t pd
Contohnya Pencacah ripple 3-bit dengan t pd = 50 ndetik memerlukan frekuensi maksimum pulsa Clock adalah f maks
=
1 3 x 50 ndetik
= 6,67
MHz
Jadi semakin banyak jumlah FF pada Pencacah ripple, maka semakin besar total penundaan perambatan t pd semakin besar dan menyebabkan fmaks semakin kecil. Misalnya Pencacah ripple 5-bit dengan t pd 50ndetik, maka fmaks = 4 MHz. Karena alasan itu maka Pencacah ripple tidak sesuai digunakan pada frekuensi yang sangat tinggi.
8.4 IC Pencacah Ripple
IC 7493 adalah Pencacah ripple 4-bit yang didalamnya terdiri dari mod-2 dan mod-8, sehingga bisa digunakan sebagai Pencacah mod-2, mod-8, mod-10 dan mod-12 atau mod-16. Gambar 8.8 menunjukkan diagram logika 7493, yang mempunyai 2 masukan Clock. Masukan CLK A untuk FFA sebagai Pencacah mod-2, sedangkan masukan CLK B untuk FFB, FFC dan FFD sebagai Pencacah mod-8. Dengan menghubungkan keluaran Q A ke masukan CLK B atau keluaran QD ke masukan CLK A, maka diperoleh Pencacah mod-16. Semua FF bisa direset (clear) melalui masukan R 01 dan R 02 yang keduanya aktif tinggi, sehingga 7493 dapat disusun sebagai mod-10 (dengan menghubungkan keluaran Q B ke masukan R 01dan keluaran QD ke masukan R 02) dan mod-12 (dengan menghubungkan keluaran Q C ke masukan R 01dan keluaran QD ke masukan R 02).
134
Q
Q
A
Q
CLK
CLK R
01
R
02
A
Q
B
Q
Q
C
Q
D
Q
A
B
C
D
CLR
CLR
CLR
CLR
B
Gambar 8.8 Diagram Logika IC Pencacah Ripple 7493
8.5 Pencacah Serempak ( Synchronous) / Paralel
Pada Pencacah biner sinkron, Clocknya dihubungkan dengan setiap masukan Clock FF, untuk itu setiap pemberian pulsa Clock akan menyebabkan semua keluaran juga berubah secara serentak. Hitungan pada Pencacah sinkron tidak hanya seperti Pencacah ripple yaitu berurutan, tetapi bisa melompat atau bahkan hitungan acak. Dalam merancang rangkaian Pencacah sinkron dengan hitungan tertentu harus mengetahui jenis FF yang digunakan, karena setiap FF mempunyai keluaran yang berbeda terhadap adanya pulsa Clock. Untuk itu harus mengetahui setiap perubahan keadaan keluaran FF sehubungan dengan hitungan yang diinginkan. Tabel 8.1 menunjukkan perubahan keadaan keluaran beberapa FF sehubungan dengan pemberian pulsa Clock terhadap masukan-masukannya. Sedangkan gambar 8.9 menunjukkan contoh dalam merancang Pencacah sinkron 3-bit dari FF-JK. Tabel 8.1 Tabel Transisi FF SR, JK, D dan T Keluaran
Masukan
Sebelum Clock
Setelah Clock
Qn
Qn+1
S
R
J
K
D
T
0
0
1
X
0
X
0
0
0
1
0
1
1
X
1
1
1
0
1
0
X
1
0
1
1
1
X
1
X
0
1
0
(a) Tabel Kebenaran Pencacah Naik Sinkron 3-bit dari FF-JK
135
Keluaran
QC
QC
QC
0 1
0 1
0 1
Masukan
QC
QB
QA
JC
K C
JB
K B
JA
K A
0
0
0
0
X
0
X
1
X
0
0
1
0
X
1
X
X
1
0
1
0
0
X
X
0
1
X
0
1
1
1
X
X
1
X
1
1
0
0
X
0
0
X
1
X
1
0
1
X
0
1
X
X
1
1
1
0
X
0
X
0
1
X
1
1
1
X
1
X
1
X
1
0
0
0
00 X X
QB QA 01 11 1 1 1 1
00 1 1
00 0 0
00 0 X
QB QA 01 11 X X X X
10 1 1
QC
0 1
JA = 1
K A = 1
QB QA 01 11 1 X 1 X
QB QA 01 11 X 1 X 1
10 X X
QC
0 1
00 X X
JB = Q A
K B = QA
QB QA 01 11 0 1 X X
QB QA 01 11 X X 0 1
JC = QA QB
10 0 X
QC
0 1
00 X 0
K C = QA QB
(b) Perancangan Pencacah Naik Sinkron 3-bit dari FF-JK
10 X X
10 0 0
10 X 0
136
Q
OUTPUT Q
A
Q
B
C
+ 5 Volt SET
J
J
Q
A
K
CLR
SET
SET
J
Q
B
K
Q
Q
C
K
Q
CLR
CLR
Q
(c) Diagram Rangkaian Pencacah Naik Sinkron 3-bit dari FF-JK
1
Q
A
Q
B
Q
C
2
3
4
5
6
7
8
9
10
(d) Bentuk Gelombang Pencacah Naik Sinkron 3-bit dari FF-JK Gambar 8.9 Pencacah Naik Sinkron 3-bit dari FF-JK
8.6 Penundaan Perambatan Pada Pencacah Serempak ( Synchronous)
Keluaran setiap FF berubah secara serempak oleh pulsa Clock, sehingga penundaan perambatan total Pencacah paralel adalah t pd FF + t pd Gate logika yang digunakan, jadi perioda pulsa Clock : TClock
≥ t pd
Penundaan
FF + t pd Gate
perambatan
atau
f maks
oleh Gate
=
1 t pd FF + t pd Gate
logika
seringkali menyebabkan
munculnya gelombang paku ( glitch atau spike) pada bentuk gelombang di keluaran, namun waktunya relatif cepat dibanding pada Pencacah ripple. Disamping itu perubahan pada masukan J dan K bersamaan atau bahkan lebih cepat (race condition) terhadap perubahan transisi pulsa Clock, hal ini dapat diatasi dengan pemakaian FF jenis Master-Slave.
137
2.7 IC Pencacah Serempak ( Synchronous) / Paralel
IC 74193 adalah Pencacah paralel 4-bit naik atau turun yang dapat dihapus (clear ) dan di-set ke hitungan yang diinginkan, gambar 8.10 menunjukkan diagram penyemat dan 74193. 4 Keluaran dari FF master-slave yang dipicu oleh transisi level rendah ke tinggi dari salah satu masukan Clock hitungan naik ( count-up) atau turun (countdown) yang menentukan urutan hitungan naik atau turun. Keempat Pencacah dapat diprogram, yaitu tiap keluaran dapat dipreset atau clear oleh masukan data yang diinginkan pada masukan data, apabila masukan Load adalah rendah. Pencacah sebagai pembagi mod-N dengan memodifikasi panjang hitungan oleh masukan preset. Masukan Clear tinggi membuat semua keluar menjadi rendah, yang tidak tergantung pada masukan hitungan ( count ) dan Load . Pencacah dapat dibuat bertingkat dengan menghubungkan keluaran Borrow dan Carry ke masukan Count-down dan Count-up.
Input
V
CC
16
Output
Data A
Clear
15
14
Input
Carry
Load
Data C
Data D
12
11
10
9
4
5
6
7
8
Count Down
Count Up
Borrow 13
74193
1
Data B Input
2
Q
3
B
Output
Q
A
Input
Q
C
Q
D
Output
(a) Diagram Penyemat ( Pin-out ) IC 74193
GND
138
Clear Load A B Input C D Count-up Count-down Q
A
Q
B
Q
C
Q
D
Output
Carry Borrow Contoh hitungan
0
13
Clear
Preset
14
15
Hitungan naik
0
1
2
1
0
15
14
13
Hitungan turun
(b) Bentuk Gelombang IC Pencacah Paralel 4-Bit Naik/Turun 74193 Gambar 8.10 IC Pencacah Paralel 4-Bit Naik/Turun 74193
139
8.7 Pertanyaan
8.7.1 Berapakah jumlah FF yang diperlukan untuk Pencacah mod-128 ? 8.7.2 Suatu Gelombang kotak 8 MHz digunakan sebagai Clock pada Pencacah ripple 5-bit. Berapakah frekuensi gelombang keluaran pada FF terakhir ? Berpakah duty cyclenya ? 8.7.3 Pencacah ripple 5-bit dimulai dari 00000, berapakah keluarannya setelah 144 pulsa Clock ? 8.7.4 Susunlah Pencacah ripple yang berhenti sendiri pada hitungan ke 14 ? 8.7.5 Gambarkan bentuk gelombang Pencacah dekade dengan Clock 1 KHz ! Tunjukkan sinyal paku (glitch / spike) yang muncul pada keluaran FF dan tentukan frekuensi pada keluaran FF tertinggi ! 8.7.6 Bilangan terbesar dari Pencacah ripple adalah 4096, berapakah FF yang diperlukan Pencacah tersebut ? Berapakah frekuensi Clock yang digunakan untuk mendapatkan frekuensi 550 KHz pada keluaran FF tertinggi ? 8.7.7 Keluaran tertinggi Pencacah ripple menghasilkan 875 pulsa untuk setiap 896.000 pulsa Clock dengan frekuensi 128 KHz. a. Berapakah jumlah FF yang dimiliki Pencacah tersebut ? b. Berapakah perioda pada FF tertinggi ? 8.7.8 Gambarkanlah diagram waktu dan tabel hitungannya yang menunjukkan seluruh keluaran Pencacah ripple yang ditunjukkan pada gambar dibawah ! (Anggaplah semua keluaran FF awalnya di-set 1)
Q 1
T
SET
CLR
Q
Q
Q
A
1
T
SET
CLR
Q
B
1
Q
Q
T
SET
CLR
(a)
Q
Q
Q
C
1
T
SET
CLR
Q
Q
D
140
Q 1
SET
T
CLR
Q
A
1
Q
SET
T
Q
CLR
Q
B
1
Q
T
Q
SET
Q
C
1
Q
Q
CLR
SET
T
D
Q
Q
CLR
(b) 1
SET
T
CLR
1
Q
SET
T
Q
CLR
Q
1
Q
T
Q
1
Q
Q
Q
CLR
Q
B
SET
T
Q
CLR
Q
A
SET
Q
C
D
(c) Gambar 8.11 Untuk Soal 8.7.8 8.7.9 Gambarkanlah tabel hitungan dan modulus serta diagram waktu yang menunjukkan glitch pada keluaran Pencacah gambar 8.12 dibawah !
Q 1
T
SET
CLR
Q
Q
A
1
Q
T
SET
CLR
Q
Q
Q
B
1
T
SET
CLR
Q
Q
C
1
Q
T
SET
CLR
D
Q
Q
Gambar 8.12 Untuk Soal 8.7.9 8.7.10 Rancanglah Pencacah ripple dengan diagram waktunya yang menghitung mulai 111, 110, 101, 100, 011, 000 kembali lagi ke 111 dan seterusnya ! 8.7.11 Sinyal Clock pada suatu sistem digital mempunyai perioda 250 ndetik, yang digunakan untuk menghasilkan dua sinyal sinkronisasi pada frekuensi 50 KHz dan 1,25 KHz dengan Pencacah mod-5, 8 dan 10, gambarkanlah blok diagramnya !
141
8.7.12 Pencacah ripple disusun dengan menggunakan FF yang mempunyai waktu penundaan perambatan 35 ndetik. Jika frekuensi Clock adalah 2 MHz, berapakah modulus maksimum Pencacah ? 8.7.13 Rancanglah Pencacah paralel 4-bit dengan menggunakan FF-JK yang menghitung dengan urutan ganjil dimulai dari 0001 kembali lagi ke awal dan seterusnya ! Gambarkanlah diagram waktunya ! 8.7.14 Tunjukkan bagaimana IC Pencacah 7493 dapat dioperasikan sebagai Pencacah ripple mod-10 dan 12 ! Berapakah frekuensi keluaran Q D apabila frekuensi Clocknya 690 KHz ? 8.7.15 Susunlah IC Pencacah 7493 yang digunakan untuk menghasilkan pulsa dengan frekuensi 7,5 KHz di keluaran Q D pada frekuensi Clock 45 KHz ! 8.7.16 Berapakah modulus Pencacah yang dihasilkan IC 7493 dengan susunan seperti gambar 8.13 dibawah ? Q
CLK
CLK
Clock
R
01
R
02
Q
A
Q A
Q
B
Q
Q
C
Q
Q
A
B
C
D
CLR
CLR
CLR
CLR
B
Gambar 8.13 Untuk Soal 8.7.16
D