counter.doc

17
MODUL XIII COUNTER Pada modul ini akan diuraikan berbagai jenis counter dan bagaimana merancang dan membuatnya.Tidak hanya sebagai contoh dari rangkaian sekuensial, melainkan juga sebagai perangkat yang digunakan dalam rangkian skala besar. 1. Definisi Counter Counter merupakan jenis dari rangkaian sekuensial. Serupa dengan register, state atau nilai flip-flop bertindak sebagai output. Nilai outputnya bertambah 1 setiap siklus clock. Setelah nilainya terbesar, outputnya kembali ke 0. Apabila menggunakan 2 bit, kita akan mendapatkan tabel dan diagram state sebagai berikut. Tabel 1 Tabel State Counter 2 bit Present S tate N ext S tate A B A B 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 00 01 10 11 1 1 1 1 00 00 01 01 10 10 11 11 1 1 1 1 1 1 1 1 Gambar 1 Diagram State Counter 2 bit 2. Kegunaan Counter PUSAT PENGEMBANGAN BAHAN AJAR e Maya Kadarina ST,MT PERENCANAAN SISTEM DIGITAL 1

Upload: adhe-flicker

Post on 26-Oct-2015

55 views

Category:

Documents


2 download

DESCRIPTION

teknik digital counter

TRANSCRIPT

MODUL XIII

COUNTER

Pada modul ini akan diuraikan berbagai jenis counter dan bagaimana merancang

dan membuatnya.Tidak hanya sebagai contoh dari rangkaian sekuensial, melainkan

juga sebagai perangkat yang digunakan dalam rangkian skala besar.

1. Definisi Counter

Counter merupakan jenis dari rangkaian sekuensial. Serupa dengan register, state

atau nilai flip-flop bertindak sebagai output. Nilai outputnya bertambah 1 setiap siklus

clock. Setelah nilainya terbesar, outputnya kembali ke 0. Apabila menggunakan 2 bit,

kita akan mendapatkan tabel dan diagram state sebagai berikut.

Tabel 1 Tabel State Counter 2 bit

Present State Next State A B A B

0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0

00 01

1011

1

11

1

0000 0101

10101111

11

1111

11

Gambar 1 Diagram State Counter 2 bit

2. Kegunaan Counter

Counter dapat bertindak sebagai clock sederhana untuk menjaga track dari waktu.

Kita perlu mengetahui/mencatat berapa kali sesuatu telah terjadi, sebagai contoh:

• Berapa banyak bit yang telah dikirim atau diterima?

• Berapa banyak langkah yang telah dilakukan dalam suatu komputasi?

Semua processor berisi sebuah program counter atau PC. Program terdiri dari list

instruksi yang dieksekusi satu demi satu (bertahap). PC menjaga track dari instruksi

yang dieksekusi. PC menambah 1 (melakukan increment) setiap siklus clock

kemudian instruksi program selanjutnya dieksekusi.

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 1

3. Merancang Counter 2 Bit

Kita memerlukan beberapa tahapan proses untuk merancang sebuah counter.

Sebagai contoh akan dijelaskan bagaimana cara merancang counter 2 bit.

Pada counter 2 bit ini:

- Output counter akan menjadi 00, 01, 10 dan 11.

- Terdapat 1 buah input, X. Jika X=0, nilai counter harus bertambah 1

(increment) tiap siklus clock. Tetapi, jika X=1, nilai counter harus berkurang 1

(decrement) pada tiap siklus clock (arah berlawanan).

Untuk itu kita memerlukan 2 buah flip-flop. Berikut ini adalah 4 kemungkinan nilai

state yaitu seperti ditunjukkan pada gambar 2 berikut.

00 01

1011

0000 0101

10101111

Gambar 3 State pada Counter 2 Bit

3.1 Rangkaian Direalisasikan Menggunakan D Flip-flop

Diagram dan tabel state lengkap untuk rangkaian counter 2 bit ini ditunjukkan pada

gambar 4 dan tabel 2 berikut ini.

00 01

1011

0

0

0

10 1

1

1

0000 0101

10101111

00

00

00

1100 11

11

11

Gambar 4 Diagram State untuk Counter 2 Bit yang Dirancang

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 2

Tabel 2 Tabel State Lengkap Counter 2 Bit yang Dirancang

Present State I nputs Next StateQ1 Q0 X Q1 Q0

0 0 0 0 10 0 1 1 10 1 0 1 00 1 1 0 01 0 0 1 11 0 1 0 11 1 0 0 01 1 1 1 0

Jika kita gunakan D flip-flop, maka input D akan sama dengan hasil state yang

diinginkan. Dengan menggunakan K-map akan di dapatkan persamaan untuk input D

flip-flopnya menjadi seperti pada gambar 5 berikut.

Q0

0 1 0 1

Q1 1 0 1 0

X

Q0

1 1 0 0

Q1 1 1 0 0

X

D1 = Q1 Q0 X

D0 = Q0’

Q0

0 1 0 1

Q1 1 0 1 0

X

Q0

1 1 0 0

Q1 1 1 0 0

X

D1 = Q1 Q0 X

D0 = Q0’

Gambar 5 K-map untuk Menghasilkan Persamaan Input D Flip-flop

Dengan demikian akan didapatkan rangkaian counter 2 bit seperti yang ditunjukkan

pada gambar 6. Rangkaian counter dengan D Flip Flop ini dibuat dengan

menggunakan perangkat lunak LogicWorks. Pada rangkaian ini terdapat 2 jenis

output, yaitu: normal dan complement, sehingga kita dapat mengakses Q0’ langsung

tanpa menggunakan inverter (Q1’ tidak diperlukan dalam contoh ini). Rangkaian ini

menghitung secara normal jika Reset = 1. Tetapi jika Reset adalah 0, output flip-flop

segera menjadi 00 (clear). Pada LogicWorks tidak terdapat gerbang XOR 3-input,

sehingga digunakan gerbang 4 input dengan salah satu input dihubungkan ke 0.

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 3

Gambar 6 Rangkaian Counter 2 Bit dengan D Flip-flop

3.2 Rangkaian Direalisasikan Menggunakan JK Flip-flop

Apabila kita gunakan JK flip-flop, dengan demikian kita harus menentukan input JK

untuk setiap flip-flop. Perhatikan present state dan next state yang diinginkan pada

tabel eksitasi JK berikut (tabel 3). Dengan demikian akan didapatkan input JK flip-

flop seperti yang diuraikan pada tabel 4.

Tabel 3 Tabel Eksitasi JK Flip-flop

Q(t) Q(t+1) J K

0 0 0 x0 1 1 x1 0 x 11 1 x 0

Tabel 4 Tabel State untuk Menentukan Input JK Flip-flop

Present State I nputs Next State Flip flop inputsQ1 Q0 X Q1 Q0 J 1 K1 J 0 K0

0 0 0 0 1 0 x 1 x0 0 1 1 1 1 x 1 x0 1 0 1 0 1 x x 10 1 1 0 0 0 x x 11 0 0 1 1 x 0 1 x1 0 1 0 1 x 1 1 x1 1 0 0 0 x 1 x 11 1 1 1 0 x 0 x 1

Dengan menggunakan K-map, kita dapat menentukan persamaan untuk keempat

input flip-flop, dalam kondisi present state dan input.

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 4

Disini menjadi: J1 = K1 dan J0 = K0.

J1 = K1 = Q0’ X + Q0 X’

J0 = K0 = 1

Setelah itu baru dapat dibuat rangkaiannya. Gambar 7 berikut ini adalah rangkaian

counter menggunakan JK Flip Flop n.i. RS pada LogicWorks. “n.i. RS” berarti bahwa

direct input (input langsung) R dan S adalah non-inverted, atau active-high. Dengan

demikian rangkaian ini menghitung secara normal jika Reset = 0, tetapi

menginisialisasi menjadi 00 jika Reset= 1.

Gambar 7 Rangkaian Counter 2 Bit Menggunakan JK Flip-flop

4. Ketentuan Perancangan untuk State yang Tidak Digunakan

Contoh-contoh sebelumnya memiliki state 2n, dan n flip-flop yang digunakan. Tetapi

kadangkala kita memiliki state yang tidak digunakan/diabaikan (unused, letover).

Sebagai contoh, berikut ini adalah tabel dan diagram state untuk sebuah counter

yang menghitung dari 0 (000) sampai 5 (101) secara berulang. Apa yang harus kita

isi dalam tabel untuk 2 state yang tidak digunakan? Terdapat 2 cara untuk mengatasi

permasalahan ini yaitu dengan mengabaikan state yang tidak digunakan atau tidak

mengabaikannya.

Tabel 5 Tabel State Counter yang Menghitung dari 0 sampai 5

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 5

Present State Next StateQ2 Q1 Q0 Q2 Q1 Q0

0 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 ? ? ?1 1 1 ? ? ?

001

010

011

100

101

000

001001

010010

011011

100100

101101

000000

Gambar 8 Diagram State Counter yang Menghitung dari 0 sampai 5

4.1 State yang Tidak Dipakai Diabaikan (Don’t Care)

Untuk mendapatkan rangkaian paling sederhana yang dimungkinkan, kita dapat

mengisi don’t care untuk next state yang tidak digunakan. Dengan demikian input

flip-flop pun diabaikan (don’t care) sehingga dapat meminimalisasi hardware. Jika

rangkaian berakhir pada kondisi state yang tidak digunakan (110 or 111), prilakunya

akan tergantung pada apa yang diberikan oleh input don’t care. Tabel statenya

menjadi seperti yang ditunjukkan pada tabel 6. Sedangkan untuk diagram statenya

sama seperti gambar 8.

Tabel 6 Tabel State Counter yang Menghitung dari 0 sampai 5

Dengan Mengabaikan State yang Tidak Dipakai

Present State Next StateQ2 Q1 Q0 Q2 Q1 Q0

0 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 x x x1 1 1 x x x

4.2 State yang Tidak Dipakai Tidak Diabaikan

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 6

Untuk mendapatkan rangkaian yang paling aman, kita dapat secara eksplisit mengisi

next state untuk state 110 dan 111. Hal ini menjamin bahwa meskipun rangkaian

memasuki state yang tidak digunakan maka akan berakhir pada state yang valid.

Dengan demikian counter ini disebut sebagai self-starting counter. Tabel dan

diagram statenya menjadi seperti yang ditunjukkan pada tabel 7 dan gambar 9

berikut ini.

Tabel 7 Tabel State Counter yang Menghitung dari 0 sampai 5

Dengan Tidak Mengabaikan State yang Tidak Dipakai

Present State Next StateQ2 Q1 Q0 Q2 Q1 Q0

0 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 0 0 01 1 0 0 0 01 1 1 0 0 0

001

010

011

100

101

000

111110

001

010

011

100

101

000

001001

010010

011011

100100

101101

000000

111111110110

Gambar 9 Diagram State Counter yang Menghitung dari 0 sampai 5

Dengan Tidak Mengabaikan State yang Tidak Dipakai

5. Perangkat Counter pada LogicWorks

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 7

Pada bagian ini akan diuraikan jenis perangkat counter yang tersedia pada software

LogicWorks.

5.1 Counter 4 bit Minimum (Counter-4 Min)

Counter yang paling sedehana pada LogicWorks adalah Counter-4 Min (gambar 10),

hanya bertambah (increment) sekali setiap siklus clock. Counter ini merupakan

counter 4 bit dengan nilai antara 0000 sampai 1111 dan hanya terdapat 1 buah input

yaitu sinyal clock.

Gambar 10 Simbol Counter-4 Min

5.2 Counter 4 bit (Counter-4)

Perangkat Counter-4 (gambar 11) memiliki fungsi sbb:

– Dapat melakukan increment atau decrement, dengan menbuat set pada

input UP menjadi 1 or 0.

– Kita dapat segera secara asinkron membuat clear counter menjadi 0000

dengan cara men-set CLR = 1.

– Kita dapat menentukan nilai output next dari counter dangan menbuat set

input D3-D0 untuk setiap nilai 4 bit dan membuat clear LD.

– Input EN active-low bertugas untuk membuat counter enable atau disable.

• Jika counter di-disable, counter akan terus mengeluarkan nilai yang

sama tanpa melakukan increment, decrement, pengisian (loading)

atau penghapusan (clearing)

– “Counter Out” CO dalam keadaan normal adalah 1, tetapi berubah menjasi 0

jika counter mencapai nilai maksimum, 1111.

Gambar 11 Simbol Counter-4

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 8

5.3 Counter 8 Bit

Dari sebuah counter kita dapat membuat counter lain. Gambar 12 di bawah ini

adalah counter 8-bit yang dibangun dari counter 4-bit. Counter yang di bawah

merepresentasikan least significant 4 bits (LSB), sedangkan yang di atas

merepresentasikan most significant 4 bits (MSB). Pada saat counter di bawah

mencapai nilai 1111 (yaitu: jika CO = 0), akan mengaktifkan atau membuat enable

counter yang di atas untuk 1 siklus.

Catatan implementasi lain: counter berbagi sinyal clock dan sinyal clear dan disini

digunakan peraga hexadesimal.

Gambar 12 Counter 8 Bit

5.4 Counter 4 Bit Terbatas

Kita pun dapat membuat counter yang dimulai pada suatu nilai selain 0000. Dalam

diagram rangkaian di bawah ini (gambar 13), jika CO=0 sinyal LD membuat next

state mengambil nilai dari D3-D0. Dengan demikian, counter ini akan menghasilkan

output dari 1111 ke 0110 (bukan kembali ke 0000).

Gambar 13 Diagram Rangkaian Counter yang Dimulai pada Suatu Nilai Selain 0000

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 9

Kita pun dapat membuat rangkaian yang menghitung naik sampai 1100, bukan 1111.

Jika nilai counter mencapai 1100, gerbang NAND membuat counter untuk

melakukan pengisian, sehingga next state menjadi 0000. Diagram rangkaian untuk

jenis counter terbatas ini ditunjukkan pada gambar 14.

Gambar 14 Diagram Rangkaian Counter yang Diakhiri pada Suatu Nilai Selain 1111

6. Jenis Rangkaian Counter

Menurut jenis pengaturan clock counter dibedakan menjadi 2, yaitu:

- Asynchronous counter disebut ripple counter/serial counter, karena output

masing-masing flip-flop yang digunakan akan bergulingan (berubah kondisi

dari 0 ke 1 atau sebaliknya) secara berurutan. Hal ini karena flip-flop yang

paling ujung saja yang dikendalikan sinyal clock,sedangkan sinyal lainnya

diambil dari masing-masing flip-flop sebelumnya.

- Synchronous counter, output flip-flop yang digunakan bergulingan secara

serempak. Hal ini disebabkan karena masing-masing flip-flop tersebut

dikendalikan secara serempak oleh satu sinyal clock. Oleh sebab itu

syncronous counter disebut paralel counter. Untuk menunjang operasinya

yang cepat,penyacah sinkron masih memerlukan gate-gate tambahan.

Menurut urutan pencacahan counter dibedakan menjadi 3 jenis, yaitu:

- Up counter, counter ini mencacah atau menghitung naik

- Down counter, merupakan jenis counter yang menghitung mundur

- Up/down counter, counter ini dapat difungsikan untuk menghitung naik atau

menghitung mundur.

Counter yang mengeluarkan urutan biner dinamakan binary counter. Sebuah n-bit

binary counter terdiri dari n buah flip-flop, dapat menghitung dari 0 sampai 2n – 1.

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 10

Selain itu terdapat juga BCD counter. Counter ini mengelurakan output berbentuk

bilangan BCD.

Sebuah counter dengan m state disebut sebagai modulo-m counter. Modulus

merupakan banyaknya state dalam satu siklus counter. Modulo (Mod) counter biasa

disebut juga sebagai divide-by-m counter. Jumlah state menentukan jumlah flip-flop.

Jenis-jenis counter diatas dapat digabungkan/dikombinasikan. Sebagai contoh, pada

gambar 15,16 , 17 dan 18 berikut.

T Q

Q Clock

T Q

Q

T Q

Q

1

Q 0 Q 1 Q 2

(a) Circuit

Clock

Q 0

Q 1

Q 2

Count 0 1 2 3 4 5 6 7 0

(b) Timing diagram

T Q

Q Clock

T Q

Q

T Q

Q

1

Q 0 Q 1 Q 2

(a) Circuit

Clock

Q 0

Q 1

Q 2

Count 0 1 2 3 4 5 6 7 0

(b) Timing diagram

Gambar 15 Asynchrounous 3 bit binary Up-Counter

T Q

Q Clock

T Q

Q

T Q

Q

1

Q 0 Q 1 Q 2

(a) Circuit

Clock

Q 0

Q 1

Q 2

Count 0 7 6 5 4 3 2 1 0

(b) Timing diagram

T Q

Q Clock

T Q

Q

T Q

Q

1

Q 0 Q 1 Q 2

(a) Circuit

Clock

Q 0

Q 1

Q 2

Count 0 7 6 5 4 3 2 1 0

(b) Timing diagram

Gambar 16 Asynchrounous 3 bit binary Down-Counter

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 11

T Q

Q Clock

T Q

Q

T Q

Q

1 Q 0 Q 1 Q 2

(a) Circuit

T Q

Q

Q 3

Clock

Q 0

Q 1

Q 2

Count 0 1 2 3 5 9 12 14 0

(b) Tim

ing diagram

Q 3

4 6 8 7 10 11 13 15 1

T Q

Q Clock

T Q

Q

T Q

Q

1 Q 0 Q 1 Q 2

(a) Circuit

T Q

Q

Q 3

Clock

Q 0

Q 1

Q 2

Count 0 1 2 3 5 9 12 14 0

(b) Tim

ing diagram

Q 3

4 6 8 7 10 11 13 15 1

Clock

Q 0

Q 1

Q 2

Count 0 1 2 3 5 9 12 14 0

(b) Tim

ing diagram

Q 3

4 6 8 7 10 11 13 15 1

Gambar 17 Synchrounous 4 bit binary Up-Counter

T Q

Q Clock

T Q

Q

T Q

Q

1 Q 0 Q 1 Q 2

(a) Circuit

Clock

Q 0

Q 1

Q 2

Count

(b) Timing diagram

0 1 2 3 4 5 0 1 2

T Q

Q Clock

T Q

Q

T Q

Q

1 Q 0 Q 1 Q 2

(a) Circuit

Clock

Q 0

Q 1

Q 2

Count

(b) Timing diagram

0 1 2 3 4 5 0 1 2

Gambar 18 Modulo-6 Counter dengan asynchronous reset

Sebagai ringkasan dapat disimpulkan bahwa terdapat banyak cara untuk membuat

counter. Kita dapat mengikuti prinsip perancangan dengan metode sintesa rangkaian

sekuensial untuk membuat counter dari awal. Kita pun dapat memodifikasi atau

mengkombinasikan device counter yang ada.

PUSAT PENGEMBANGAN BAHAN AJAR Trie Maya Kadarina ST,MT

PERENCANAAN SISTEM DIGITAL 12