- Apa itu Shift Register:
- Jenis Register di Digital Electronics
- 1. Register Geser Seri masuk - keluar
- 2. Register Geser Masuk - Paralel keluar
- 3. Register Geser Paralel Masuk - Keluar
- 4. Paralel masuk - Register geser paralel keluar
- 5. Register Geser Dua Arah
- 6. Penghitung
- Aplikasi register Shift
Apa itu Shift Register:
Register Geser adalah rangkaian logika sekuensial, yang mampu menyimpan dan mentransfer data. Mereka terdiri dari Flip-Flop yang dihubungkan sedemikian rupa sehingga keluaran dari satu flip-flop dapat berfungsi sebagai masukan dari flip-flop lainnya, tergantung dari jenis register geser yang dibuat.
Register geser pada dasarnya adalah jenis register yang memiliki kemampuan untuk mentransfer (“shift”) data. Register secara umum adalah perangkat penyimpanan yang dibuat dengan menghubungkan sejumlah sandal jepit secara seri dan jumlah data (jumlah bit) yang dapat disimpan oleh register selalu berbanding lurus dengan jumlah sandal jepit, karena setiap flip flop hanya mampu menyimpan satu bit pada satu waktu. Ketika flip-flop dalam register dihubungkan sedemikian rupa sehingga keluaran dari satu flip-flop, menjadi input yang lain, register geser dibuat.
Flip Flop adalah perangkat dengan operasi yang mirip dengan kait. Ini dapat disebut sebagai vibrator bistable yang dapat bergerak di antara dua keadaan (0 atau 1) dan mampu menyimpan data dalam bit. Data baru dibaca menjadi flip flop dengan setiap siklus clock dan data sebelumnya dikirim pada output.
Register Geser Terdiri dari flip-flop mana?
Namun ini tergantung pada jenis flip flop, karena hubungan siklus Input, Output, dan clock antara sandal jepit bervariasi. Ada beberapa jenis sandal jepit, tetapi yang paling umum digunakan dalam pembuatan register geser adalah jepit jepit D (Delay).
Untuk pengoperasian sandal jepit D yang membuatnya sangat diinginkan untuk register geser, Setiap kali ada perubahan pada jam dari flip flop D (tepi naik atau turun, tergantung pada spesifikasi flip flop). Data pada keluaran “Q” menjadi data yang sama dengan yang ada pada masukan “D”. Output "Q" dari flip flop akan tetap pada nilai itu sampai siklus clock berikutnya, di mana kemudian akan berubah lagi ke nilai (Tinggi atau rendah, 1 atau 0) pada input.
Sekarang kita tahu apa itu Sift Register, kita akan melanjutkan untuk mendalami jenis-jenis flip-flop dan aplikasinya. Tetapi sebelum itu, untuk memberikan penjelasan yang lebih praktis tentang di mana register geser digunakan, mari kita lihat register geser 74HC595 populer yang telah kami gunakan dengan mikrokontroler berbeda untuk antarmuka tampilan atau urutan LED.
- Shift Register dengan 74HC595 dengan Arduino untuk mengontrol urutan LED
- Shift Register dengan ESP32 untuk antarmuka Tampilan 7-Segmen
- Shift Register dengan Raspberry Pi untuk mengontrol banyak LED
- Shift Register dengan PIC untuk mengontrol urutan LED
Jenis Register di Digital Electronics
Register geser dikategorikan ke dalam beberapa tipe berdasarkan mode operasinya, baik serial atau paralel.
Ada enam (6) tipe dasar register geser yang tertera di bawah ini walaupun beberapa diantaranya dapat dibagi lagi berdasarkan arah aliran data baik shift kanan maupun shift kiri.
1. Serial in - Serial out Shift Register (SISO)
2. Serial In - Parallel out shift Register (SIPO)
3. Parallel in - Parallel out Shift Register (PIPO)
4. Parallel in - Serial out Shift Register (PISO)
5. Register Geser Dua Arah
6. Penghitung
1. Register Geser Seri masuk - keluar
Register geser serial masuk-keluar adalah register geser yang mengalirkan data secara serial (satu bit per siklus jam) dan mengalirkan data juga dengan cara yang sama, satu demi satu.
Sebuah register geser 4-bit serial in-serial Out sederhana ditunjukkan di atas, register terdiri dari 4 sandal jepit dan rincian cara kerjanya dijelaskan di bawah ini;
Saat startup, register geser pertama kali dibersihkan, memaksa output semua sandal jepit ke nol, data input kemudian diterapkan ke input secara serial, satu bit pada satu waktu.
Ada dua cara dasar untuk memindahkan data keluar melalui register geser SISO;
- Pembacaan Non-destruktif
- Pembacaan yang Merusak
- Pembacaan Tidak Merusak
Berbasis non-Destructive readout, register geser selalu memiliki mode operasi baca / tulis dengan baris tambahan yang ditambahkan untuk memungkinkan peralihan antara mode operasional baca dan tulis.
Saat perangkat dalam mode operasional "tulis", register geser menggeser setiap data keluar satu bit pada satu waktu yang berperilaku persis seperti versi pembacaan destruktif dan data hilang, tetapi ketika mode operasional dialihkan ke "baca", data yang digeser saat masukan masuk kembali ke sistem dan berfungsi sebagai masukan ke register geser. Ini membantu memastikan bahwa data tetap lebih lama (selama tetap dalam mode baca)
- Pembacaan yang Merusak
Untuk pembacaan yang merusak, data benar-benar hilang karena flip flop hanya menggeser informasi. Dengan asumsi register geser 4-bit di atas, kami ingin mengirimkan kata "1101". Setelah membersihkan register geser, output dari semua sandal jepit menjadi 0, jadi selama siklus clock pertama saat kami menerapkan data ini (1101) secara serial, output dari sandal jepit terlihat seperti tabel di bawah ini.
Siklus jam pertama:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
0 |
0 |
Siklus jam kedua:
FF0 |
FF1 |
FF2 |
FF3 |
0 |
1 |
0 |
0 |
Siklus Jam Ketiga:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
0 |
1 |
0 |
Siklus Jam Keempat:
FF0 |
FF1 |
FF2 |
FF3 |
1 |
1 |
0 |
1 |
2. Register Geser Masuk - Paralel keluar
Tipe kedua dari register geser yang akan kita pertimbangkan adalah register geser Serial-in-Paralel yang juga dikenal sebagai SIPO Shift Register. Jenis register geser ini digunakan untuk konversi data dari serial ke paralel. Data datang satu per satu per siklus jam dan dapat digeser dan diganti atau dibaca pada setiap keluaran. Ini berarti ketika data dibaca, setiap pembacaan dalam bit menjadi tersedia secara bersamaan pada jalur output masing-masing (Q0 - Q3 untuk register geser 4-bit yang ditunjukkan di bawah).
Register geser 4-bit serial masuk - Paralel keluar diilustrasikan pada Gambar di bawah.
Sebuah tabel yang menunjukkan bagaimana data digeser keluar dari register geser 4 bit serial in –paralel ditampilkan di bawah ini, dengan data sebagai 1001.
Bersih |
FF0 |
FF1 |
FF2 |
FF3 |
1001 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
|
1 |
0 |
0 |
1 |
Contoh yang baik dari register geser keluar paralel seri adalah register geser 74HC164, yang merupakan register geser 8-bit.
Perangkat ini memiliki dua input data serial (DSA dan DSB), delapan output data paralel (Q0 hingga Q7). Data dimasukkan secara serial melalui DSA atau DSB dan salah satu input dapat digunakan sebagai HIGH aktif yang memungkinkan untuk entri data melalui input lainnya. Data digeser pada transisi LOW-to-HIGH dari input clock (CP). A LOW pada master reset input (MR) menghapus register dan memaksa semua output LOW, terlepas dari input lainnya. Masukan termasuk dioda penjepit. Hal ini memungkinkan penggunaan resistor pembatas arus untuk menghubungkan input ke tegangan yang melebihi VCC.
3. Register Geser Paralel Masuk - Keluar
Dalam register geser Paralel masuk-keluar, data disuplai secara paralel, misalnya, perhatikan register 4-bit yang ditunjukkan di bawah ini.
Register ini dapat digunakan untuk menyimpan dan menggeser kata 4-bit, dengan input kontrol tulis / shift (WS) yang mengontrol mode operasi register geser. Ketika jalur kontrol WS rendah (Mode Tulis), data dapat ditulis dan dicatat melalui D0 hingga D3. Untuk menggeser data keluar secara serial, jalur kontrol WS dibawa TINGGI (mode Shift), register kemudian menggeser data keluar pada input jam. Paralel dalam Serial Register Geser kami juga disebut Register Geser PISO.
Sebuah contoh yang baik dari register geser keluar serial paralel adalah register geser 8-bit 74HC165 meskipun ia juga dapat dioperasikan sebagai register geser keluar serial masuk seri.
Perangkat ini memiliki fitur input data serial (DS), delapan input data paralel (D0 hingga D7) dan dua output serial komplementer (Q7 dan Q7 '). Ketika input beban paralel (PL) RENDAH, data dari D0 ke D7 dimuat ke register geser secara asinkron. Ketika PL TINGGI, data masuk ke register secara serial di DS. Ketika clock enable input (CE) adalah LOW, data digeser pada transisi LOW-to-HIGH dari input CP. TINGGI pada CE akan menonaktifkan input CP. Input toleran tegangan lebih hingga 15 V. Hal ini memungkinkan perangkat untuk digunakan dalam aplikasi pemindahan level TINGGI-ke-RENDAH.
Diagram fungsional dari register geser ditunjukkan di bawah ini;
Diagram waktu untuk sistem seperti yang ditunjukkan pada gambar di bawah ini;
4. Paralel masuk - Register geser paralel keluar
Untuk register geser paralel in-paralel, data output di seluruh output paralel muncul secara bersamaan saat data input dimasukkan. Jenis register geser ini juga disebut sebagai register geser PIPO.
Data masukan di masing-masing pin masukan dari D0 ke D3 dibaca pada saat yang sama ketika perangkat diberi clock dan pada saat yang sama, data yang dibaca dari masing-masing masukan dikirimkan pada keluaran yang sesuai (dari Q0 ke Q3).
The 74HC195 register geser adalah serbaguna register geser yang mampu bekerja di sebagian besar mode dijelaskan oleh semua jenis yang telah kita bahas sejauh terutama sebagai paralel di - paralel out shift register.
5. Register Geser Dua Arah
Register geser dapat melakukan pergeseran data kanan atau kiri, atau keduanya tergantung pada jenis register geser dan konfigurasinya. Dalam operasi shift kanan, data biner dibagi dua. Jika operasi ini dibalik, data biner akan dikalikan dua. Dengan penerapan logika kombinasional yang sesuai, register geser serial dapat dikonfigurasi untuk melakukan kedua operasi.
Pertimbangkan register 4-bit pada gambar di bawah ini. Sepasang gerbang NAND dikonfigurasi sebagai gerbang OR dan digunakan untuk mengontrol arah pergeseran, baik ke kanan maupun ke kiri.
Garis kontrol kiri / tulis digunakan untuk menentukan arah perpindahan data, baik ke kanan atau ke kiri.
Register geser dua arah 74HC194 adalah contoh yang baik. Register dapat beroperasi dalam semua mode dan variasi input atau output serial dan paralel. Diagram fungsional 74HC194 yang menyoroti garis kontrol, jam, pin input dan output ditunjukkan di bawah ini.
Diagram waktu perangkat juga ditampilkan di bawah. Ini akan lebih membantu Anda memahami bagaimana garis kontrol mengontrol tindakan register.
6. Penghitung
Penghitung, kadang-kadang disebut register geser putar pada dasarnya adalah register geser dengan outputnya dimasukkan kembali ke perangkat sebagai input sedemikian rupa sehingga menciptakan pola tertentu. Jenis register ini disebut sebagai penghitung karena pola dan urutan yang mereka tunjukkan. Jenis penghitung register geser yang paling populer adalah penghitung cincin.
Penghitung Dering
Penghitung cincin pada dasarnya adalah jenis pencacah di mana keluaran dari bit paling signifikan diumpankan kembali sebagai masukan ke bit yang paling tidak signifikan. Penghitung cincin 4-bit diilustrasikan pada diagram di bawah ini menggunakan sandal jepit D.
Ketika pulsa clock diterapkan, output dari setiap tahap digeser ke tahap berikutnya, dan siklus terus berjalan. Saat clear diubah menjadi tinggi, semua sandal jepit kecuali yang pertama (yang disetel ke 1) diatur ulang ke nol.
Aplikasi register Shift
Register geser digunakan di banyak aplikasi, beberapa di antaranya adalah;
1. Konversi paralel ke serial, di mana mereka digunakan untuk mengurangi jumlah kabel, atau jalur yang dibutuhkan untuk komunikasi antara dua perangkat, karena komunikasi serial umumnya hanya membutuhkan dua kabel dibandingkan dengan paralel yang tergantung pada jumlah bit yang dikirim.
2. Ekspansi IO untuk mikrokontroler. Dalam elektronik modern, pin IO mikrokontroler disebut sebagai real estat dan seseorang membutuhkan sebanyak mungkin untuk aplikasi tertentu seperti menyalakan 100 leds atau membaca 100 reed switch dengan sesuatu seperti Arduino atau mikrokontroler Atmeg328p. Sebagai contoh, diagram rangkaian di bawah ini menggambarkan bagaimana register geser serial ke paralel dapat digunakan untuk mengontrol 8 LED, hanya dengan menggunakan tiga pin IO mikrokontroler.
3. Mereka digunakan dalam register negara yang digunakan dalam perangkat sekuensial. Seperti mesin memori terbatas, status perangkat berikutnya selalu ditentukan dengan menggeser dan memasukkan data baru ke posisi sebelumnya.
4. Satu aplikasi utama lainnya ditemukan di Penundaan waktu. Register geser digunakan untuk waktu tunda dalam perangkat, dengan waktu yang disesuaikan oleh jam, atau ditingkatkan dengan register geser berjenjang atau dikurangi dengan mengambil keluaran dari bit signifikan yang lebih rendah.
Penundaan waktu biasanya dihitung dengan menggunakan rumus;
t = N * (1 / fc)
N adalah jumlah tahap flip flop di mana keluaran diambil, Fc adalah frekuensi sinyal clock dan t yang merupakan nilai yang ditentukan adalah jumlah waktu keluaran akan tertunda.
Ketika memilih register geser untuk tugas tertentu karena jangkauannya yang luas dan jenisnya, penting untuk memilih satu yang sesuai dengan kebutuhan khusus Anda, dengan mempertimbangkan hal-hal seperti, mode operasi, ukuran bit (jumlah sandal jepit), kanan atau kiri atau dua arah dll.
Beberapa register geser yang paling populer adalah;
- 74HC 194 register geser universal dua arah 4-bit
- 74HC 198 register geser universal dua arah 8-bit
- 74HC595 register geser Serial-In-Parallel-Out
- 74HC165 register geser Paralel-Masuk-Serial-Keluar
- IC 74291 register geser universal 4-bit, pencacah naik / turun biner, sinkron.
- IC 74395 register geser universal 4-bit dengan output tiga-status.
- IC 74498 register geser dua arah 8-bit dengan input paralel dan output tiga-status.
- IC 74671 register geser dua arah 4-bit.
- IC 74673 16-bit serial-in serial-out shift register dengan output penyimpanan register.
- IC 74674 register geser keluar serial-keluar 16-bit dengan keluaran tiga-status.
Ada beberapa lagi, Anda hanya perlu menemukan mana yang paling sesuai dengan aplikasi Anda.
Terima kasih sudah membaca, sampai lain kali.