Anda di halaman 1dari 25

BAB IX REGISTER 9.

1 Pendahuluan Register adalah kumpulan beberapa Flip-Flop yang digunakan untuk menyimpan data biner, tiap Flip-Flop dapat menyimpan data biner 1 bit. Pengisian Register berarti me-set atau me-reset masing-masing FF sehingga sesuai dengan bit data yang disimpan. Semakin panjang data biner yang disimpan oleh register, maka jumlah Flip-Flopnya juga semakin banyak. Register akan menyimpan data baru jika ada data baru diberikan pada masukan dan Clock register diaktifkan. Ada dua cara untuk menyimpan atau mengambil data pada Register, yaitu bit per bit secara berurutan dengan sinkronisasi sebuah pulsa Clock, yang dinamakan serial atau disebut juga Register geser (shift) dan beberapa bit secara serentak yang dinamakan paralel. Sehingga berdasarkan masuk dan keluarnya data pada Register, maka Register terbagi menjadi : 9.2 Register SISO (Serial Input - Serial Output) / Geser (Shift) Data masuk ke dalam dan ke luar dari Register secara serial (bit per bit).

Masukan Data

SET

SET

SET

SET

Keluaran Data

CLR

CLR

CLR

CLR

Clock

Gambar 9.1 Register SISO (Serial Input - Serial Output) Untuk mengetahui proses penyimpanan dan pengambilan data pada Register SISO maka semua FF harus di reset dahulu lalu data pertama masuk dari 142

143

masukan D-FFA, dengan memberikan satu pulsa Clock, maka data pertama tersebut akan muncul pada keluaran Q-FFA, sedangkan keluaran FF lainnya tetap. Data kedua diberikan lagi pada masukan D-FFA, lalu dengan pemberian pulsa Clock kedua menyebabkan data di masukan D-FFA muncul di keluaran Q- FFA, sedangkan data dari keluaran Q FFA (sebagai data masukan FFB) muncul pada keluaran Q FFB. Data ketiga diberikan lagi pada masukan D-FFA, lalu dengan pemberian pulsa Clock ketiga menyebabkan data di masukan D-FFA muncul di keluaran Q-FFA, sedangkan data dari keluaran Q-FFA muncul pada keluaran Q-FFB dan data dari keluaran Q FFB muncul pada keluaran Q-FFC. Data keempat diberikan lagi pada masukan D-FFA, lalu dengan pemberian pulsa Clock keempat menyebabkan data di masukan D-FFA muncul di keluaran Q-FFA, sedangkan data dari keluaran Q-FFA muncul pada keluaran Q-FFB dan data dari keluaran Q-FFB muncul pada keluaran Q FFC serta data dari keluaran Q FFC muncul pada keluaran Q-FFD. Jadi untuk register SISO dengan empat FF membutuhkan empat FF. Untuk lebih jelasnya mengetahui cara kerja dari Register SISO perhatikanlah tabel 9.1. Tabel 9.1 Register SISO 4 Bit Clock 0 1 2 3 4 Masukan Data 1 0 1 1 0 Keluaran FF QA 0 1 0 1 1 QB 0 0 1 0 1 QC 0 0 0 1 0 QD 0 0 0 0 1 Keluaran Data 0 0 0 0 1

Contoh IC Register SISO adalah 7491, Register geser 8 bit yang menggunakan FF-RS Master Slave dengan dua masukan A dan B. Jika masukan data serial dihubungkan ke masukan A, maka masukan B dibuat tinggi atau sebaliknya, sedangkan keluaran data pada keluaran QH.

144

Output Q 14
H

Input Q 13
H

Input B 11 GND 10 Clock 9 NC 8

A 12

7491

1 NC

2 NC

3 NC

4 NC V

5
CC

6 NC

7 NC

(a) Diagram Pin


A B
S R
SET

Q Q

S R

SET

Q Q

S R

SET

Q Q

S R

SET

Q Q

S R

SET

Q Q

S R

SET

Q Q

S R

SET

Q Q

S R

SET

Q Q

Q Q

H H

CLR

CLR

CLR

CLR

CLR

CLR

CLR

CLR

Clock

(b) Diagram Fungsional (c) Tabel Fungsi Masukan pada tn A H L X B H X L Keluaran pada tn+8 QH H L L QH L H H

Gambar 9.2 Register SISO 8-Bit 7491 Dari lembaran data ditunjukkan bahwa nilai minimum dari frekuensi Clock maksimum fMAX adalah 10 MHz, sehingga perioda Clocknya adalah :
T= 1 = 0,1 detik 10 X 10 6 Hz

Untuk itu IC 7491 terbebani penuh setelah 8 pulsa Clock dan waktu maksimum yang diperlukan adalah 8 T = 0,8 detik. Apabila IC 7491 menyimpan data awal biner 21310 (dalam bilangan desimal) dengan masukan bit MSB pada FF sebelah kiri, lalu masukan data serial 8310 diberikan ke masukan data, maka Register akan menyimpan data 15810 setelah 5 pulsa Clock terjadi.

145

9.3 Register SIPO (Serial Input - Paralel Output) Data masuk kedalam Register secara serial dan keluar dari Register secara paralel (serempak). Proses penyimpanan dan pengambilan data pada Register SIPO yaitu semua FF harus di reset dahulu lalu data pertama masuk dari masukan D-FFA, dengan memberikan satu pulsa Clock, maka data tersebut akan muncul pada keluaran Q0, sedangkan keluaran Q1 datanya sama dengan data pada keluaran Q0 sebelumnya, keluaran Q2 datanya sama dengan data pada keluaran Q1 sebelumnya dan keluaran Q3 datanya sama dengan data pada keluaran Q2 sebelumnya. Data kedua diberikan lagi pada masukan D-FFA, lalu dengan pemberian pulsa Clock kedua menyebabkan data di masukan D-FFA muncul di keluaran Q0, sedangkan data dari keluaran Q0 sebelumnya sebagai data masukan FFB muncul pada keluaran Q1, sedangkan keluaran Q2 datanya sama dengan data pada keluaran Q1 sebelumnya dan keluaran Q3 datanya sama dengan data pada keluaran Q2 sebelumnya. Data ketiga diberikan lagi pada masukan D-FFA, lalu dengan pemberian pulsa Clock ketiga menyebabkan data di masukan D-FFA muncul di keluaran Q0, sedangkan data dari keluaran Q0 sebelumnya sebagai data masukan D-FFB muncul pada keluaran Q1 dan data dari keluaran Q1 sebelumnya sebagai data masukan D-FFB muncul pada keluaran Q2, sedangkan keluaran Q3 datanya sama dengan data pada keluaran Q2 sebelumnya. Data keempat diberikan lagi pada masukan D-FFA, lalu dengan pemberian pulsa Clock keempat menyebabkan data di masukan D-FFA muncul di keluaran Q0, sedangkan data dari keluaran Q0 sebelumnya sebagai data masukan D-FFB muncul pada keluaran Q1 dan data dari keluaran Q1 sebelumnya sebagai data masukan D-FFC sebelumnya sebagai data masukan D-FFC muncul pada keluaran Q2 serta data dari keluaran Q2 sebelumnya sebagai data masukan DFFB muncul pada keluaran Q3. Transfer data paralel lebih cepat daripada serial, jadi untuk register SIPO dengan empat FF membutuhkan satu pulsa Clock untuk mengeluarkan 4 data pada 4 keluaran paralel, sedangkan waktu untuk memasukkan data pada semua FF memerlukan 4 pulsa Clock.

146

Keluaran Data
D D D D

Masukan Data

SET

SET

SET

SET

CLR

CLR

CLR

CLR

Clock

Gambar 9.3 Register SIPO (Serial Input - Paralel Output) Untuk lebih jelasnya dalam mengetahui cara kerja dari Register SISO perhatikanlah tabel 9.2 dibawah ini. Tabel 9.2 Register SIPO 4 Bit Clock 0 1 2 3 4 Masukan Data 1 0 1 1 0 Keluaran Data Q0 0 1 0 1 1 Q1 0 0 1 0 1 Q2 0 0 0 1 0 Q3 0 0 0 0 1

Contoh IC Register SIPO adalah 74164, Register 8 bit yang menggunakan FF-D dengan dua masukan A dan B. Jika masukan data serial dihubungkan ke masukan A, maka masukan B dibuat tinggi atau sebaliknya, dengan 8 keluaran (Q A sampai QH). Keluaran data serial juga dapat diperoleh pada keluaran QH.
Output V
CC

Q 13

Q 12

Q 11

Q 10

Clear 9

Clock 8

14

74164

1 A Input Serial

2 B Q

3
A

4 Q
B

5 Q Output
C

6 Q
D

7 GND

147

(a) Diagram Pin


Q
A

A B Clock Clear

SET

Q Q

SET

Q Q

SET

Q Q

SET

Q Q

SET

Q Q

SET

Q Q

SET

Q Q

SET

Q Q

CLR

CLR

CLR

CLR

CLR

CLR

CLR

CLR

(b) Diagram Fungsional (c) Tabel Fungsi Masukan Clear L H H H H Clock X L A X X H L X B X X H X L QA L QA0 H L L Keluaran QB L QB0 QAn QAn QAn ..... QH L QH0 QGn QGn QGn

Gambar 9.4 Register SIPO 8-Bit 74164 Dari lembaran data ditunjukkan bahwa nilai minimum dari frekuensi Clock maksimum fMAX adalah 10 MHz, sehingga IC tersebut tidak bisa bekerja pada frekuensi lebih besar dari 10 MHz. Untuk itu IC 74164 memerlukan waktu 1/(10 X 106) = 0,1 detik untuk keluaran, sedangkan untuk masukan adalah 8 X 0,1 detik = 0,8 detik. 9.4 Regsiter PISO (Paralel Input - Serial Output) Data masuk ke dalam Register secara paralel (serempak) dan ke luar Register secara serial (bit per bit). Proses penyimpanan data pada Register PISO adalah melalui 2 masukan asinkron yaitu Clear / Reset untuk data 0 dan Set untuk data 1 pada masing-masing FF, sehingga data tersebut akan muncul pada tiap-tiap keluaran Q-FF, dengan memberikan satu pulsa Clock, maka data bergeser dari keluaran QA sebagai data masukan FFB muncul pada keluaran QB (sedangkan data di keluaran QA menjadi 0), data dari keluaran QB sebagai data masukan FFC muncul

148

pada keluaran QC, data dari keluaran QC sebagai data masukan FFD muncul pada keluaran QD yang digunakan sebagai keluaran data.

Masukan Data 1

SET

Q Q

SET

Q Q

SET

Q Q

SET

Q Q

Keluaran Data

CLR

CLR

CLR

CLR

Clock

Masukan Data 0

Gambar 9.5 PISO (Paralel Input - Serial Output) Pemberian pulsa Clock kedua menyebabkan data bergeser dari keluaran Q A sebagai data masukan FFB muncul pada keluaran QB (data di keluaran QA menjadi 0), data dari keluaran QB sebagai data masukan FFC muncul pada keluaran QC (data di keluaran QB menjadi 0), data dari keluaran QC sebagai data masukan FFD muncul pada keluaran QD yang digunakan sebagai keluaran data. Pemberian pulsa Clock ketiga menyebabkan data bergeser dari keluaran Q A sebagai data masukan FFB muncul pada keluaran QB (data di keluaran QA menjadi 0), data dari keluaran QB sebagai data masukan FFC muncul pada keluaran QC (data di keluaran QB menjadi 0), data dari keluaran QC sebagai data masukan FFD muncul pada keluaran QD yang digunakan sebagai keluaran data QC (data di keluaran QC menjadi 0). Pemberian pulsa Clock keempat menyebabkan data bergeser dari keluaran Q A sebagai data masukan FFB muncul pada keluaran QB (data di keluaran QA menjadi 0), data dari

149

keluaran QB sebagai data masukan FFC muncul pada keluaran QC (data di keluaran QB menjadi 0), data dari keluaran QC sebagai data masukan FFD muncul pada keluaran QD yang digunakan sebagai keluaran data, jadi memerlukan 4 pulsa Clock untuk mengeluarkan 4 bit data pada Register PISO, untuk lebih jelasnya mengetahui cara kerja dari Register PISO perhatikanlah tabel 9.3 dibawah ini. Tabel 9.3 Register PISO 4 Bit Clock 0 1 2 3 4 Masukan Data Set 1 0 0 0 0 Clear 0 1 0 0 0 Set 1 0 1 0 0 Set 1 1 0 1 0 Keluaran Data 1 1 0 1 0

Contoh IC Register PISO adalah 74165 dengan 8 masukan / bit paralel dan masukan serial SER, sehingga data Register bisa diisikan paralel atau serial pada FF-D yang diatur melalui masukan shift/load; yaitu apabila tinggi (1), maka data diberikan pada masukan serial SER dan bit data digeser saat transisi naik dari Clock dengan syarat masukan CLK INH berlogika 0 (jika masukan CLK INH berlogika 1, maka tidak akan pernah terjadi adanya pulsa Clock), sedangkan apabila masukan shift/load berlogika rendah (0), maka data paralel diisikan pada Register melalui masukan A sampai H, yang tidak memerlukan pulsa Clock dan masukan SER.

150

PARALEL INPUT V
CC

CLOCK INHIBIT

SERIAL INPUT

OUTPUT Q

16

15

14

13

12

11

10

74165

1
SHIFT/ LOAD

2
CLOCK

3
E

4
F

5
G

6
H

7
OUTPUT Q
H

8 GND

PARALEL INPUT

(a) Diagram Pin (b) Tabel Fungsi Input Shift/ Load L H H H H Clock Inhibit X L L L H Clock X L Serial X X H L X Paralel
A ... H

Output Internal QA a QAO H L QA0 QB b QBO Qan Qan QBO

Output QH h QHO QGn QGn QHO

a ... h X X X X

151

CLOCK CLOCK INHIBIT SERIAL INPUT SHIFT/LOAD A B C D DATA E F G H OUTPUT Q OUTPUT Q H L H L H L H H H L


INHIBIT LOAD

H L

L H

H L

L H
SERIAL SHIFT

H L

L H

H L

L H

(c) Diagram Waktu Gambar 9.6 Register PISO 8-Bit 74165 9.5 Register PIPO (Paralel Input - Serial Output) Data masuk ke dalam dan keluar Register secara paralel (serempak). Proses penyimpanan data pada Register PIPO adalah melalui masukan data D pada masing-masing FF. Dengan satu pulsa Clock, maka data dari tiap-tiap masukan DFF akan muncul pada masing-masing keluaran,sehingga untuk mengeluarkan 4 bit data pada Register PIPO hanya memerlukan 1 pulsa Clock.

152

Keluaran Data O O O O

SET

Q Q

SET

Q Q

SET

Q Q

SET

Q Q

CLR

CLR

CLR

CLR

Clock

I0

I1 Masukan Data

I2

I3

Gambar 9.7 Register PIPO (Paralel Input - Serial Output) Untuk lebih jelasnya dalam mengetahui cara kerja dari Register PISO perhatikanlah tabel 9.4 dibawah. Tabel 9.4 Register PIPO 4 Bit Clock 0 1 Masukan Data DA 1 1 DB 0 0 DC 1 1 DD 1 1 QA 0 1 Keluaran Data QB 0 0 QC 0 1 QD 0 1

153

Contoh IC Register PIPO 8 bit adalah 74195, yang mempunyai masukan shift/load seperti 74165 dengan masukan serial J dan K yang dihubungkan bersama-sama (masukan K aktif rendah) untuk mengendalikan FF-RS A seperti ditunjukkan pada tabel 9.5 dibawah. Tabel 9.5 Fungsi Masukan Serial J-K Register PIPO 4 Bit 74195 Masukan Serial J 0 0 1 1 K 0 1 0 1
OUTPUT V Q 15 Q 14 Q 13 Q 12 Q 11 CLOCK 10 SHIFT/ LOAD 9

Clock

Keluaran QA (shift/load =1) 0 (reset)

QA (tetap) QA (toggle) 1 (set)

CC

16

74195

1 CLEAR

2 J SERIAL INPUT

3 K

4 A

5 B PARALEL INPUT

6 C

7 D

8 GND

(a) Diagram Pin

(b) Tabel Fungsi

154

Input
Clear Shift/ Load Clock

Output
Paralel

Serial

J X X X L L H H

K X X X H L H L

A X a X X X X X

B X b X X X X X

C X c X X X X X

D X d X X X X X

QA

QB

QC

QD

L H H H H H H

X L H H H H H

X L

L a QA0 QA0 L H QAn

L b QB0 QA0 QAn QAn QAn

L c QC0 QBn QBn QBn QBn

L d QD0 QCn QCn QCn QCn

(c) Diagram Waktu


CLOCK CLEAR SERIAL DATA INPUT SHIFT/LOAD A PARALEL DATA INPUT B C D Q Q OUTPUT Q Q
A H L

J K

H L

SERIAL SHIFT CLEAR LOAD

SERIAL SHIFT

Gambar 4.8 Register PIPO 4 Bit 74195 Gate logika AND/OR/INVERT (AOI) pada masukan paralel digunakan untuk fungsi shift/load dan penerapan masukan serial J-K, sedangkan keluaran AOI ke masukan Set dan melalui Inverter ke masukan Reset FF. Gambar 4.8d menunjukkan diagram waktu 74195 dengan ilustrasi hapus (clear), geser (shft) dan urutan pengisian (load) data. 9.6 Register Dua Arah (Bidirectional) dan Universal

155

Pengertian dua arah adalag bahwa register dapat digeser dari kiri ke kanan atau sebaliknya, sedangkan universal adalah masukannya bisa serial atau paralel demikian juga keluarannya. IC 74194 adalah contoh Register 4-bit universal seperti ditunjukkan pada gambar 9.9 dibawah.
PARALEL OUTPUT V
CC

Q 15

Q 14

Q 13

Q 12

CLOCK 11

S 10

S 9

16

74194

1 CLEAR

2 SHIFT RIGHT SERIAL INPUT

3 A

4 B PARALEL INPUT

5 C

6 D

7 SHIFT LEFT SERIAL INPUT

8 GND

(a) Diagram Pin (a) Tabel Fungsi Input


Clear

Output Paralel
A B C D

Mode S1 S2

Clock Left

Serial
Right

QA

QB

QC

QD

L H H H H H H H
L X X H

X X

X X

X X X H L X X X

X X a X X X X X

X X b X X X X X

X X c X X X X X

X X d X X X X X

L QA0 a H L QBn QBn QA0

L QB0 b QAn QAn QCn QCn QB0

L QC0 c QBn QBn QDn QDn QC0

L QD0 d QCn QCn H L QD0

H L H L H H L H L L

X X X H L

156

(b) Diagram Waktu


CLOCK MODE CONTROL INPUT CLEAR SERIAL DATA INPUT R L A PARALEL DATA INPUT B C D Q Q OUTPUT Q Q
A

S0 S1

H L H L

SHIFT RIGHT CLEAR LOAD

SHIFT LEFT

INHIBIT CLEAR

Gambar 9.9 Register Universal 4-Bit 74194 Masukan S0 dan S1 digunakan untuk pergeseran kekanan (dari kiri ke kanan) atau kekiri (dari kanan ke kiri), seperti ditunjukkan pada tabel 4.6 berikut : Tabel 9.6 Masukan Kendali Register Universal 4 Bit 74194 S1 0 0 1 1 S0 0 1 0 1 Clock X Operasi tetap geser kanan geser kiri paralel

157

Tabel diatas menunjukkan bahwa tidak ada perubahan pada data Register saat kedua masukan kendali S0 = S1 = 0, sehingga baik operasi serial ataupun paralel tidak terjadi, inilah yang dinamakan menghalangi (inhibit) operasi. Sedangkan apabila S0 = S1 = 1 maka pengisian data dilakukan secara paralel melalui masukan A, B, C dan D, saat transisi naik dari pulsa Clock. Register 74194 mempunyai masukan Clear aktif rendah yang digunakan untuk mereset semua FF. Gambar 9.9d menunjukkan diagram waktu Register Universal 74194. 9.7 Register Dinamis Semua Register yang telah dibahas diatas menggunakan FF untuk menyimpan data, sehingga tiap bit data yang disimpan akan tetap pada masingmasing FF, Register demikian dinamakan statis. Pada Register dinamis, penyimpanan dilakukan dengan menggeser bit secara kontinyu dari satu FF ke FF berikutnya dan berputar kembali dari keluaran FF terakhir ke masukan FF pertama. Data secara kontinyu berputar melalui Register dibawah kendali pulsa Clock. Untuk mendapatkan keluaran, keluaran serial harus dapat diakses pada pulsa Clock tertentu, sedangkan urutan bit bertanggung jawab terhadap data yang disimpan. Untuk contoh jika ada Register geser 64 bit, keluaran serial akan memulai kembali dengan kelipatan 64 pulsa Clock. Untuk menyimpan data yang baru, maka lintasan perputaran kembali pada FF terakhir ke FF pertama disela, dan data baru diisikan secara serial ke tingkat pertama.
V
CC

4 Shift Register 1024 bit Serial Input


(Write/Recirculate)

Output

3 1
CS CS

W/R

Chip Select

X Y

(a) Setengah dari Dua Register Geser Dinamik NMOS 1024 Bit (b) Tabel Kebenaran

158

W/R 1 0 X X X

CSX 0 X 1 X 0

CSY 0 X X 1 0

Fungsi Write Recirculate Recirculate Recirculate Read

Gambar 9.10 Register Geser NMOS Dinamis 2401 9.8 Aplikasi Register 9.8.1 Penunda Waktu (Time Delay) Pada beberapa sistem digital, seringkali diperlukan untuk menunda pemindahan data hingga operasi data lainnya telah lengkap, atau untuk sinkronisasi data yang datang ke subsistem agar bisa diproses dengan data lainnya. Register geser dapat digunakan untuk menunda data serial yang datang oleh sejumlah pulsa Clock tertentu. Jumlah tingkat (FF) sesuai dengan jumlah pulsa Clock yang diperlukan untuk menggeser tiap bit lengkap pada Register. Penundaan waktu total dapat diatur oleh frekuensi Clock atau jumlah FF dalam Register. Pada kenyataannya, frekuensi Clock sudah ditetapkan, sedangkan jumlah FF (tingkat) yang diatur. Dengan menggunakan Register SIPO atau SISO maka penundaan keluaran oleh jumlah pulsa Clock sama dengan atau lebih kecil dari jumlah FF (tingkat) dalam Register. Contohnya dua IC 74164 dalam bentuk Register SIPO digunakan untuk menunda data serial 16 bit ke suatu subsistem setelah 4 detik dan ke subsistem lainnya setelah 10 detik setelah subsistem pertama, dengan frekuensi operasi Clock 1 MHz, yang ditunjukkan pada gambar 9.11 dibawah.

159

keluaran serial tertunda 4

u detik

Masukan Data Serial

74164

74164 CLOCK 1 MHz


A B C D E F G H

keluaran serial tertunda 14

u detik

Gambar 9.11 Contoh Dua 74164 untuk Penundaan 4 detik dan 14 detik 9.8.2 Konversi Data Serial Paralel Pemrosesan data dalam operasi aritmatika pda mikroprosesor dan komputer menggunakan transfer data paralel, sehingga lebih cepat operasinya. Tetapi seringkali data ditransmisikan ke atau menerima dari suatu sistem tertentu yang lokasinya jauh, untuk itu lebih efisien menggunakan transmisi serial, akibatnya diperlukan konversi dari bentuk paralel ke serial dan sebaliknya. Untuk penerapan itu bisa menggunakan Register SIPO dan PISO atau universal. Data serial harus dicacah pada interval waktu tertentu untuk mendapatkan tiap bit dalam urutan, format konversi dan sinkronisasi yang sesuai. Misalnya bit tertentu harus ditambahkan ke data serial untuk menandai awal dan akhir kata, dan bit ini harus tidak muncul apabila kata tersebut dikonversikan lagi ke bentuk paralel. IC yang melakukan fungsi tersebut dinamakan Universal Asynchronous Receiver Transmitter (UART), yang berisi Register dan rangkian sinkronisasi untuk menerima data dalam bentuk serial dan mentransmisikannya dalam bentuk paralel, dan sebaliknya. Hal ini seringkali dilakukan untuk teknik antar muka sistem mikroprosesor dengan komponen periferal (pendukung) yang mengirim dan menerima data dalam bentuk serial seperti ditunjukkan pada gambar 9.12. Dua tanda panah menunjukkan bahwa transmisi data dapat terjadi dalam dua arah.

160

transfer data serial UART

bus data paralel

Periferal

Sistem Mikroprosesor

Gambar 9.12 Antarmuka Sistem Mikroprosesor - Periferal dengan UART 9.8.3 Pencacah Lingkaran (Ring Counter) Pencacah lingkaran disusun dengan menghubungkan keluaran FF akhir Register geser ke masukan FF pertama, seperti ditunjukkan pada gambar 9.10a. Pengisian Register dilakukan pada salah satu FF berisi data 1, sedangkan FF yang lain 0. Dengan pemberian pulsa Clock secara kontinyu, maka data 1 tersebut akan berputar, dan hanya satu keluaran tinggi pada satu saat, seperti ditunjukkan pada gambar 4.13b, dengan demikian keluarannya dapat digunakan sebagai pengurut pulsa sinkronisasi seperti halnya Multivibrator monostabil pada bab lain.

SET

SET

SET

SET

A
CLR

B
Q
CLR

C
Q
CLR

D
Q
CLR

Clock

(a) Diagram Rangkaian Pencacah Lingkaran 4-Bit


Clock Q Q Q Q

(b) Diagram waktu Pencacah Lingkaran 4-Bit Gambar 9.13 Pencacah Lingkaran (Ring Counter) 4-Bit

161

Susunan FF seperti ini dikatakan sebagai pencacah (counter) karena dapat menghitung jumlah pulsa Clock yang terjadi. Misalnya sudah dua FF (tingkat) tinggi, maka telah tiga pulsa Clock terjadi dan seterusnya seperti halnya pencacah desimal pada bab lalu. Ring counter dapat digunakan sebagai perangkat pembagi n, n adalah jumlah FF (tingkat). Contohnya dari gambar 9.13 diatas, karena menggunakan 4 bit maka frekuensi tiap keluaran FF adalah frekuensi Clock. Sedangkan gambar 9.14a adalah contoh Ring counter 4 bit memulai sendiri (self starting). Saat awal semua keluaran FF adalah 0000 sehingga keluaran Gate NAND adalah 1, maka dengan pemberian satu pulsa Clock menyebabkan keluaran QA menjadi 1 sedangkan keluaran lainnya tetap 0 dan keluaran Gate NAND adalah 0, yang digunakan untuk data masukan DA. Pemberian pulsa Clock kedua menyebabkan data 1 bergeser ke keluaran FF berikutnya, demikian seterusnya sampai pulsa keempat Clock data 1 berada pada kondisi awal kembali, seperti ditunjukkan pada gambar 9.14b.

SET

SET

SET

SET

A
CLR

B
Q
CLR

C
Q
CLR

D
Q
CLR

Clock

(a) Ring Counter 4-Bit Memulai Sendiri (b) Tabel Urutan Ring Counter 4-Bit Keadaan Awal Setelah Pulsa 1 Setelah Pulsa 2 Setelah Pulsa 3 Setelah Pulsa 4 Setelah Pulsa 5 Setelah Pulsa 6 Setelah Pulsa 7 Setelah Pulsa 8 Keluaran QA 0 1 0 0 0 1 0 0 0 QB 0 0 1 0 0 0 1 0 0 QC 0 0 0 1 0 0 0 1 0 QD 0 0 0 0 1 0 0 0 1 Masukan DA 1 0 0 0 1 0 0 0 1

Gambar 9.14 Ring Counter 4-Bit 9.8.4 Pencacah Johnson (Johnson Counter)

162

Mirip dengan Ring Counter, kecuali bahwa keluaran komplemen FF terakhir dihubungkan dengan masukan data FF pertama, untuk itu seringkali dinamakan juga Pencacah lingkaran terpilin (twisted-ring counter). Gambar 9.15a adalah contoh Johnson counter 4-bit, sedangkan apabila saat awal diisikan data 0 pada semua FF, maka urutan hitungan dan diagram waktunya ditunjukkan pada gambar 9.15b. frekuensi tiap keluaran adalah 1/8 dari pulsa Clock. Johnson counter bisa dikatakan sebagai pembagi 2n, n adalah jumlah FF (tingkat). Sedangkan gambar 9.15c adalah contoh Johnson Counter self starting.

SET

Q Q

SET

Q Q

SET

Q Q

SET

Q Q

A
CLR

B
CLR

C
CLR

D
CLR

Clock

(a) Johnson Counter 4-Bit (b) Tabel Urutan Johnson Counter 4-Bit Keadaan Awal Setelah Pulsa 1 Setelah Pulsa 2 Setelah Pulsa 3 Setelah Pulsa 4 Setelah Pulsa 5 Setelah Pulsa 6 Setelah Pulsa 7 Setelah Pulsa 8 Setelah Pulsa 9 Keluaran QA 0 1 1 1 1 0 0 0 0 1 QB 0 0 1 1 1 1 0 0 0 0 QC 0 0 0 1 1 1 1 0 0 0 QD 0 0 0 0 1 1 1 1 0 0 Masukan DA 1 1 1 1 0 0 0 0 1 1

163

Clock
8T

Q Q Q Q

(c) Diagram Waktu Johnson Counter 4-Bit

SET

SET

SET

SET

A
CLR

B
Q
CLR

C
Q
CLR

D
Q
CLR

Clock

(c) Johnson Counter 4-Bit Self Starting Gambar 9.15 Johnson Counter 4-Bit

164

9.9 Latihan Soal 9.9.1 Register SISO 8-bit menyimpan bilangan biner dalam desimal 154 (bit LSB berada pada FF paling kanan). Register diisi lagi data 167 dengan menggeser bit ke kiri. Susunlah tabel yang menunjukkan isi Register dalam bentuk bilangan biner setelah 8 pulsa Clock berturut-turut ! 9.9.2 Register SISO 8-bit tidak mempunyai reset langsung dalam operasinya. Jelaskan bagaimana Register dapat di-reset dan tentukan waktunya, jika frekuensi Clocknya adalah 1,25 MHz ! 9.9.3 Susunlah diagram waktu pada Register SISO 4-bit yang menggambarkan keadaan keluaran tiap FF, apabila nasukan serialnya seperti gambar dibawah (anggap isi awal Register adalah 0000) ! Berapakah isi Register setelah pulsa Clock ke-empat ?
Clock Masukan serial D

Gambar 9.16 Soal 9.9.3 9.9.4 Data serial diisikan ke IC Register 74164 untuk ditransmisikan dalam bentuk paralel ke memory komputer yang mempunyai kapasitas 216 8 bit. Setelah tiap 8 bit digeser, pulsa Clock berikutnya digunakan untu mentransfer data dalam bentuk paralel ke memory, dan mengisi data serial baru ke Register untuk pulsa Clock berurutan. Jika Register diberi Clock 2 MHz, berapakah lamanya isi memory tersebut penuh ? 9.9.5 Rangkaian Pencacah digital 8-bit digunakan untuk menghitung jumlah kendaraan yang melewati perempatan dalam bentuk serial ke kontroller trafik dibawah sinkronisasi sinyal Clock. Rancanglah rangkaian yang menggunakan IC 74165 untuk melakukan fungsi tersebut ! 9.9.6 Bilangan biner 4-bit diisikan dalam bentuk paralel ke IC Regsiter 74195. Apabil keluarannya sama dengan 1111 maka akan dirubah menjadi 0111 pada sisi naik (leading) pulsa Clock berikutnya. Rancanglah rangkaiannya ! 9.9.7 IC Regsister 74194 digunakan untuk melakukan urutan kejadian sebagai berikut : a. Mengisi data 4-bit (A1B1C1D1) dalam bentuk paralel (A1 adalah LSB) b. Mengkonversi data paralel tersebut ke serial

165

c. Tunda untuk 2 perioda Clock d. Isilah data baru 4-bit (A1B1C1D1) dalam bentuk paralel (D2 adalah LSB) e. Mengkonversi data paralel tersebut ke serial, dengan LSB terbih dahulu Anggap operasi tiap pengisian paralel memerlukan satu perioda pulsa Clock Susunlah diagram waktu yang menunjukkan bentuk gelombang Clock dan S0S1 yang harus dibangkitkan untuk mengendalikan Register. Tunjukkan pulsa Clock selama setiap 5 kali operasi yang dilakukan ! 9.9.8 Sebuah Register yang terdiri dari 3 FF-SR digunakan untuk operasi dua arah (bidirectional) dengan sinyal kontrolarah DIR. Apabila DIR = 0, bergeser ke kanan dan DIR = 1 bergeser kekiri. Anggap tidak memerlukan masukan paralel. Rancanglah rangkaian logika yang diperlukan untuk FFB dan gambarkan diagram logikanya ! 9.9.9 Register dinamis diberi Clock sebesar 500 KHz. Berpakah lama waktu maksimum yang diperlukan untuk menggeser data 8-bit yang disimpan pada Register ? 9.9.10 Gambar dibawah menunjukkan sistem untuk mendeteksi gangguan (noise) pada dua lintasan transmisi data, yaitu transmisi data serial melalui satelit dan melalui saluran telepon ke stasiun penerima secara serempak. Apabila keluaran Gate Ex-Nor menjadi rendah (0), maka tidak ada perbedaan diantara bit-bit yang ditransmisikan oleh kedua lintasan dan dianggap noise dapat diabaikan pada kedua lintasan. Data serial dibangkitkan pada kecepatan 64 X 103 bit/detik dan disinkronisasikan oleh sinyal Clock 64 KHz pada penerima. Waktu transmisi melalui satelit adalah 0,272 detik dan melalui saluran telepon adalah 0,256 detik. Rancanglah rangkaian tunda yang menjamin bit-bit yang datang pada Gate waktunya sama dan gambarkanlah blok diagramnya !

166

Satelit

Penerima Saluran Telepon Pemancar

Delay

1 = OK 0 = noise

Gambar 9.17 Soal 9.9.10 9.9.11 Register 32-bit dengan keluaran paralel digunakan untuk menunda data serial 7,2 detik. a. Pada frekuensi berapakah akan diberi Clock jika keluaran yang ditunda dari tingkat ke 18 ? b. Dengan menggunakan frekuensi Clock soal a diatas, pada tingkat berapakah keluaran terjadi jika penundaan total adalah 12,4 detik ? 9.9.12 Pencacah lingkaran awalnya diisi data QAQBQCQD = 1011. Susunlah diagram waktu yang menunjukkan keluaran tiap tingkat untuk 8 pulsa Clock ? Berapakah frekuensi tiap keluaran ? 9.9.13 Jika isi awal Pencacah lingkaran self starting adalah Q AQBQCQD = 1100, berapakah banyaknya pulsa Clock yang diperlukan sebelum isinya 1000 ?