BAB IX REGISTER
9.1 Pendahuluan
Register Register adalah adalah kumpul kumpulan an beberap beberapaa Flip-F Flip-Flop lop yang yang diguna digunakan kan untuk 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 jumlah Flip-F Flip-Flopny lopnyaa juga semakin semakin banyak. banyak. Register akan menyimpa menyimpan n 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 sinkronisasi sebuah pulsa Clock, yang dinamakan serial atau disebut juga Register geser (shift) dan beberapa bit secara serentak yang dinamakan dinamakan paralel. Sehingga berdasarkan masuk dan keluarnya keluarnya data pada Register, maka Register Register terbagi menjad menjadii :
9.2 Register SISO ( Serial Input - Serial Output Output ) / Geser ( Shift )
Data masuk ke dalam dan ke luar dari Register secara serial (bit per bit).
Masukan Data
D
SET
CLR
Q
Q
D
SET
CLR
D
Q
Q
SET
CLR
Q
Q
D
SET
CLR
Q
Keluaran Data
Q
Clock
Gambar 9.1 Register SISO (Serial Input - Serial Output) Untuk Untuk meng mengeta etahu huii proses proses penyi penyimp mpan anan an dan peng pengam ambi bila lan n data pada pada Register SISO maka semua FF harus di reset dahulu lalu data pertama masuk dari
142
143
masukan D-FFA, dengan memberikan memberikan satu pulsa Clock, maka data pertama tersebut akan muncul pada keluaran Q-FF A, sedangkan keluaran FF lainnya tetap. Data kedua diberikan lagi pada masukan D-FF A, lalu dengan pemberian pulsa Clock kedua menyebabkan data di masukan D-FF A muncul di keluaran Q- FF A, sedangkan data dari keluaran Q FFA (sebagai data masukan FFB) muncul pada keluaran Q FF B. Data ketiga ketiga diberik diberikan an lagi pada masukan masukan D-FFA, lalu lalu dengan dengan pember pemberian ian pulsa Clock ketiga menyebabkan data di masukan D-FF A 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-FF C. 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 FF C muncul pada keluaran Q-FF D. Jadi Jadi untuk 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 Keluaran FF
Clock
Masukan Data
QA
QB
QC
QD
Keluaran Data
0
1
0
0
0
0
0
1
0
1
0
0
0
0
2
1
0
1
0
0
0
3
1
1
0
1
0
0
4
0
1
1
0
1
1
Cont Contoh oh IC Regi Regist ster er SISO SISO adal adalah ah 7491 7491,, Regi Regist ster er gese geserr 8 bit yang yang menggunakan FF-RS Master Slave dengan dua masukan A dan B. Jika masukan data data seria seriall dihu dihubu bung ngkan kan ke masuk masukan an A, maka maka masuk masukan an B dibu dibuat at tingg tinggii atau sebaliknya, sedangkan keluaran data pada keluaran Q H.
144
Output Q
Input Q
H
14
H
13
Input
A
B
12
11
GND
Clock
NC
10
9
8
5
6
7
NC
NC
7491
1
2
3
4
NC
NC
NC
NC
V
CC
(a) Diagram Pin A B
S
R
SET
CLR
Q
S
Q
R
SET
CLR
Q
S
Q
R
SET
CLR
Q
S
Q
R
SET
CLR
Q
S
Q
R
SET
CLR
Q
S
Q
R
SET
CLR
Q
S
Q
R
SET
CLR
Q
S
Q
R
SET
CLR
Q
Q
H
Q
Q
H
Clock
(b) Diagram Fungsional (c) Tabel Fungsi Masukan pada t n
Keluaran pada t n+8
A
B
QH
QH
H
H
H
L
L
X
L
H
X
L
L
H
Gambar 9.2 Register SISO 8-Bit 7491 Dari lembaran data ditunjukkan bahwa nilai minimum dari frekuensi Clock maksimum f MAX adalah 10 MHz, sehingga perioda Clocknya adalah : T
1 =
10 X 10 6 Hz
=
0,1 μdetik
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 158 10 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-FF A, dengan memberikan satu pulsa Clock, maka data tersebut akan muncul pada keluaran Q0, sedangkan keluaran Q 1 datanya sama dengan data pada keluaran Q 0 sebelumnya, keluaran Q2 datanya sama dengan data pada keluaran Q 1 sebelumnya dan keluaran Q 3 datanya sama dengan data pada keluaran Q 2 sebelumnya. Data kedua diberikan lagi pada masukan D-FF A, lalu dengan pemberian pulsa Clock kedua menyebabkan data di masukan D-FF A muncul di keluaran Q 0, sedangkan data dari keluaran Q0 sebelumnya sebagai data masukan FF B muncul pada keluaran Q1, sedangkan keluaran Q 2 datanya sama dengan data pada keluaran Q 1 sebelumnya dan keluaran Q 3 datanya sama dengan data pada keluaran Q 2 sebelumnya. Data ketiga diberikan lagi pada masukan D-FF A, lalu dengan pemberian pulsa Clock ketiga menyebabkan data di masukan D-FF A muncul di keluaran Q 0, sedangkan data dari keluaran Q 0 sebelumnya sebagai data masukan D-FFB muncul pada keluaran Q1 dan data dari keluaran Q 1 sebelumnya sebagai data masukan D-FFB muncul pada keluaran Q 2, sedangkan keluaran Q3 datanya sama dengan data pada keluaran Q2 sebelumnya. Data keempat diberikan lagi pada masukan D-FF A, lalu dengan pemberian pulsa Clock keempat menyebabkan data di masukan D-FF A muncul di keluaran Q0, sedangkan data dari keluaran Q 0 sebelumnya sebagai data masukan D-FFB muncul pada keluaran Q 1 dan data dari keluaran Q 1 sebelumnya sebagai data masukan D-FFC sebelumnya sebagai data masukan D-FF C muncul pada keluaran Q 2 serta data dari keluaran Q 2 sebelumnya sebagai data masukan DFFB muncul pada keluaran Q 3. 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
Masukan Data
D
SET
D
0
Q
SET
D
Q
CLR
CLR
D
1
Q
SET
D
Q
CLR
D
2
Q
D
Q
SET
CLR
3
Q
Q
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 Keluaran Data
Clock
Masukan Data
Q0
Q1
Q2
Q3
0
1
0
0
0
0
1
0
1
0
0
0
2
1
0
1
0
0
3
1
1
0
1
0
4
0
1
1
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
Q
CC
14
H
13
Q
G
Q
12
Q
F
E
Clear
Clock
11
10
9
8
4
5
6
7
74164
1
2
A
B Input Serial
3
Q
A
Q
Q
B
Output
C
Q
D
GND
147
(a) Diagram Pin Q
A B
D
SET
CLR
Q
A
D
Q
Q
SET
CLR
Q
B
D
Q
Q
SET
CLR
Q
Q
Q
C
D
SET
CLR
Q
Q
D
D
Q
SET
CLR
Q
Q
Q
E
D
SET
CLR
Q
Q
Q
F
D
SET
CLR
Q
Q
Q
G
D
SET
CLR
H
Q
Q
Clock Clear
(b) Diagram Fungsional (c) Tabel Fungsi Masukan
Keluaran
Clear
Clock
A
B
QA
QB
.....
QH
L
X
X
X
L
L
L
H
L
X
X
QA0
QB0
QH0
H
H
H
H
QAn
QGn
H
L
X
L
QAn
QGn
H
X
L
L
QAn
QGn
Gambar 9.4 Register SIPO 8-Bit 74164 Dari lembaran data ditunjukkan bahwa nilai minimum dari frekuensi Clock maksimum f MAX 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 Q B sebagai data masukan FFC muncul
148
pada keluaran Q C, data dari keluaran Q C sebagai data masukan FFD muncul pada keluaran QD yang digunakan sebagai keluaran data.
Masukan Data 1
D
SET
CLR
Clock
Q
Q
D
SET
CLR
Q
D
Q
SET
CLR
Q
D
Q
SET
CLR
Q
Keluaran Data
Q
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 Q B (data di keluaran QA menjadi 0), data dari keluaran QB sebagai data masukan FF C muncul pada keluaran Q C (data di keluaran QB menjadi 0), data dari keluaran Q C 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 Q B (data di keluaran QA menjadi 0), data dari keluaran Q B sebagai data masukan FFC muncul pada keluaran Q C (data di keluaran Q B menjadi 0), data dari keluaran QC sebagai data masukan FFD muncul pada keluaran Q D yang digunakan sebagai keluaran data Q C (data di keluaran QC menjadi 0). Pemberian pulsa Clock keempat menyebabkan data bergeser dari keluaran QA sebagai data masukan FFB muncul pada keluaran Q B (data di keluaran QA menjadi 0), data dari
149
keluaran QB sebagai data masukan FFC muncul pada keluaran Q C (data di keluaran QB menjadi 0), data dari keluaran Q C 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 Masukan Data Set
Clear
Set
Set
Keluaran Data
0
1
0
1
1
1
1
0
1
0
1
1
2
0
0
1
0
0
3
0
0
0
1
1
4
0
0
0
0
0
Clock
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
D
C
B
A
SERIAL INPUT
OUTPUT Q
15
14
13
12
11
10
9
7
8
16
H
74165
1
SHIFT/ LOAD
2
3
4
5
6
CLOCK
E
F
G
H
OUTPUT Q
PARALEL INPUT
GND H
(a) Diagram Pin (b) Tabel Fungsi Input Shift/
Clock
Load
Inhibit
L
X
X
H
L
L
H
Clock
Serial
Paralel
Output Internal
Output QH
A ... H
QA
QB
X
a ... h
a
b
h
X
X
QAO
QBO
QHO
L
H
X
H
Qan
QGn
H
L
L
X
L
Qan
QGn
H
H
X
X
QA0
QBO
QHO
151
CLOCK CLOCK INHIBIT L
SERIAL INPUT SHIFT/LOAD H
A
L
B
H
C
L
D DATA
E
H L
F G
H
H
H
OUTPUT Q
H
OUTPUT Q
H
H
H
L
H
L
H
L
H
L
L
L
H
L
H
L
H
L
H
INHIBIT
SERIAL SHIFT
LOAD
(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
D
SET
O
0
SET
D
Q
Q
CLR
CLR
O
1
D
Q
Q
SET
O
2
SET
D
Q
Q
CLR
CLR
3
Q
Q
Clock
I0
I1
I2
I3
Masukan Data
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
Masukan Data
Keluaran Data
DA
DB
DC
DD
QA
QB
QC
QD
0
1
0
1
1
0
0
0
0
1
1
0
1
1
1
0
1
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
Clock
Keluaran QA (shift/load =1)
J
K
0
0
0
0
1
QA (tetap)
1
0
QA (toggle)
1
1
(reset)
1
(set)
OUTPUT
V
CC
16
Q
A
15
Q
B
14
Q
Q
C
13
D
Q
D
SHIFT/ LOAD
CLOCK
12
11
10
9
74195
1
2
3
4
5
6
7
8
CLEAR
J
K
A
B
C
D
GND
SERIAL INPUT
PARALEL INPUT
(a) Diagram Pin
(b) Tabel Fungsi
154
Input Clear
Shift/ Load
Clock
L
X
X
H
L
H
H
H
Output
Serial
Paralel
QA
QB
QC
QD
X
L
L
L
L
c
d
a
b
c
d
X
X
X
QA0
QB0
QC0
QD0
X
X
X
X
QA0
QA0
QBn
QCn
L
X
X
X
X
L
Q An
QBn
QCn
H
H
X
X
X
X
H
QAn
QBn
QCn
H
L
X
X
X
X
QAn
QAn
QBn
QCn
J
K
A
B
C
D
X
X
X
X
X
X
X
a
b
X
X
X
H
L
H
H
H
L
H
H
H
H
L
(c) Diagram Waktu CLOCK CLEAR SERIAL DATA INPUT
J K
SHIFT/LOAD A PARALEL DATA INPUT
H L
B C
H L
D Q Q
A
B
OUTPUT Q Q
C
D
SERIAL SHIFT CLEAR
SERIAL SHIFT LOAD
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
Q
CC
16
Q
A
15
Q
B
14
Q
C
13
CLOCK
S
12
11
10
9
D
S
1
0
74194
1
CLEAR
2
3
4
5
6
7
8
SHIFT RIGHT SERIAL INPUT
A
B
C
D
SHIFT LEFT SERIAL INPUT
GND
PARALEL INPUT
(a) Diagram Pin (a) Tabel Fungsi Input Clear
Mode S1
X X
L H
X X
H
H
Left
X
H
Serial
Clock
S2
L
Output
Right
Paralel A
B
C
D
QA
QB
QC
QD
X
X
X
X
X
X
L
L
L
L
X
X
X
X
X
X
Q A0
QB0
QC0
QD0
X
X
a
b
c
d
a
b
c
d
H
L H
X
H
X
X
X
X
H
QAn
QBn
QCn
H
L H
X
L
X
X
X
X
L
QAn
QBn
QCn
H
H L
H
X
X
X
X
X
Q Bn
QCn
QDn
H
H
H L
L
X
X
X
X
X
Q Bn
QCn
QDn
L
X
X
X
X
X
X
Q A0
QB0
QC0
QD0
H
L
L
X
156
(b) Diagram Waktu CLOCK S0
MODE CONTROL INPUT
S1 CLEAR R
SERIAL DATA INPUT
L A
PARALEL DATA INPUT
H L
B C
H L
D Q
A
Q
B
Q
C
Q
D
OUTPUT
SHIFT RIGHT CLEAR
SHIFT LEFT
INHIBIT
LOAD
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
S0
Clock
Operasi
0
0
X
tetap
0
1
geser kanan
1
0
geser kiri
1
1
paralel
157
Tabel diatas menunjukkan bahwa tidak ada perubahan pada data Register saat kedua masukan kendali S 0 = S1 = 0, sehingga baik operasi serial ataupun paralel tidak terjadi, inilah yang dinamakan menghalangi (inhibit) operasi. Sedangkan apabila S 0 = 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
R
4 Shift Register 1024 bit Serial Input
3
W/R
1
(Write/Recirculate)
Chip Select
CS
X
CS
Y
2
(a) Setengah dari Dua Register Geser Dinamik NMOS 1024 Bit (b) Tabel Kebenaran
L
Output
158
W/R
CSX
CSY
Fungsi
1
0
0
Write
0
X
X
Recirculate
X
1
X
Recirculate
X
X
1
Recirculate
X
0
0
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 tot al 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 lainnya setelah 10
µdetik
µdetik
dan ke subsistem
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
A
B
C
D
E
F
G
H
E
F
G
H
74164
74164 CLOCK
A
B
C
D
1 MHz
keluaran serial tertunda 14
Gambar 9.11 Contoh Dua 74164 untuk Penundaan 4
µdetik
u 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
bus data paralel
UART
Sistem Mikroprosesor
Periferal
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.
D
SET
Q
A CLR
D
SET
Q
B Q
CLR
D
SET
Q
C Q
CLR
D
SET
Q
D Q
CLR
Q
Clock
(a) Diagram Rangkaian Pencacah Lingkaran 4-Bit
Clock
Q
A
Q
B
Q
C
Q
D
(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 D A. 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.
D
SET
Q
A CLR
D
SET
Q
D
B Q
SET
Q
D
SET
C Q
CLR
CLR
Q
D Q
CLR
Q
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
Masukan
QA
QB
QC
QD
DA
0 1 0 0 0 1 0 0 0
0 0 1 0 0 0 1 0 0
0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 1
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 .
D
SET
D
Q
A CLR
SET
SET
D
Q
B Q
CLR
D
Q
C Q
CLR
SET
Q
D Q
CLR
Q
Clock
(a) Johnson Counter 4-Bit (b) Tabel Urutan Johnson Counter 4-Bit Keadaan
Keluaran
Masukan
QA
QB
QC
QD
DA
Awal
0
0
0
0
1
Setelah Pulsa 1
1
0
0
0
1
Setelah Pulsa 2
1
1
0
0
1
Setelah Pulsa 3
1
1
1
0
1
Setelah Pulsa 4
1
1
1
1
0
Setelah Pulsa 5
0
1
1
1
0
Setelah Pulsa 6
0
0
1
1
0
Setelah Pulsa 7
0
0
0
1
0
Setelah Pulsa 8
0
0
0
0
1
Setelah Pulsa 9
1
0
0
0
1
163
T
Clock 8T
Q
A
Q
B
Q
C
Q
D
(c) Diagram Waktu Johnson Counter 4-Bit
D
SET
Q
A CLR
D
SET
Q
B Q
CLR
D
SET
Q
D
C Q
CLR
SET
Q
D Q
Clock
(c) Johnson Counter 4-Bit Self Starting Gambar 9.15 Johnson Counter 4-Bit
CLR
Q
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
A
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 (D 2 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 Q AQBQCQD = 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 ?