Rangkaian Decoder Biner
Decoder Biner adalah rangkaian logika kombinasional lain yang dibangun dari gerbang logika individu dan merupakan kebalikan dari sebuah Encoder.
Nama "Decoder" berarti menerjemahkan atau mendekodekan informasi kode dari satu format ke format lain, sehingga decoder biner mengubah "n" sinyal input biner menjadi kode yang setara menggunakan output 2n.
Decoder Biner adalah jenis lain dari perangkat logika digital yang memiliki input kode 2-bit, 3-bit atau 4-bit tergantung pada jumlah jalur input data, sehingga decoder yang memiliki satu set dua atau lebih bit akan didefinisikan sebagai memiliki kode n-bit, dan oleh karena itu akan mungkin untuk mewakili 2n nilai yang mungkin.
Dengan demikian, decoder umumnya menerjemahkan nilai biner menjadi non-biner dengan menetapkan tepat salah satu dari n keluarannya ke logika "1". Jika decoder biner menerima n input (biasanya dikelompokkan sebagai angka Biner atau Boolean tunggal) ia mengaktifkan satu dan hanya satu dari 2n output berdasarkan input tersebut dengan semua output lain dinonaktifkan.
Jadi misalnya, sebuah inverter (Gerbang NOT) dapat digolongkan sebagai decoder biner 1-ke-2 sebagai 1-input dan 2-output (21) dimungkinkan karena dengan input A dapat menghasilkan dua output A dan (not-A) seperti yang ditunjukkan.
Kemudian kita dapat mengatakan bahwa decoder logika kombinasional standar adalah Decoder n-ke-m , di mana m ≤ 2n, dan yang outputnya, Q hanya bergantung pada status arus inputnya. Dengan kata lain, decoder biner melihat arus inputnya, menentukan kode biner atau nomor biner mana yang ada pada inputnya dan memilih output yang sesuai yang sesuai dengan input biner tersebut.
Sebuah Decoder Biner mengkonversi kode input menjadi kode output, dimana kode input dan output yang berbeda dan decoder yang tersedia untuk “decode” baik biner atau BCD (8421 code) pola input ke biasanya kode output desimal.
BCD-to-Desimal Decoder yang tersedia secara umum dipasaran mencakup TTL 7442 atau CMOS 4028. Umumnya kode output decoder biasanya memiliki lebih banyak bit daripada kode inputnya dan rangkaian "decoder biner" praktis termasuk, 2-to-4, 3-to-8 dan konfigurasi jalur 4-to-16. Contoh Decoder 2-to-4 beserta tabel kebenarannya diberikan sebagai:
Contoh sederhana ini di atas dari 2-to-4 baris decoder biner terdiri dari susunan dari empat gerbang AND. 2 input biner berlabel A dan B didekodekan menjadi salah satu dari 4 output, maka uraian decoder biner 2-to-4. Setiap output mewakili salah satu miniterms dari 2 variabel input, (setiap output = miniterm).
Input biner A dan B menentukan jalur output mana dari Q0 to Q3 yang "TINGGI" pada level logika "1" sedangkan output yang tersisa dipegang "RENDAH" pada logika "0" sehingga hanya satu output yang dapat aktif (TINGGI) di sembarang satu kali. Oleh karena itu, jalur output mana pun yang "TINGGI" mengidentifikasi kode biner yang ada pada input, dengan kata lain "men-dekode" input biner.
Beberapa decoder biner memiliki pin input tambahan berlabel "Enable" yang mengontrol output dari perangkat. Input ekstra ini memungkinkan output decoder dinyalakan "ON" atau "OFF" sebagaimana diperlukan. Jenis decoder biner ini biasanya digunakan sebagai "decoder alamat memori" dalam aplikasi memori mikroprosesor.
Kita dapat mengatakan bahwa decoder biner adalah demultiplexer dengan jalur data tambahan yang digunakan untuk mengaktifkan decoder.
Cara alternatif untuk melihat rangkaian decoder adalah dengan menganggap input A , B dan C sebagai sinyal alamat. Setiap kombinasi A , B atau C mendefinisikan alamat memori yang unik.
Kita telah melihat bahwa decoder biner 2-to-4 baris (TTL 74155) dapat digunakan untuk mendekode kode biner 2-bit untuk menghasilkan empat output, satu untuk setiap kombinasi input yang mungkin.
Namun, kadang-kadang diperlukan untuk memiliki Decoder Biner dengan jumlah output lebih besar dari yang tersedia, sehingga dengan menambahkan lebih banyak input, decoder berpotensi dapat memberikan 2n lebih banyak output.
Jadi misalnya, decoder dengan 3 input biner ( n = 3 ), akan menghasilkan 3-to-8 line decoder (TTL 74138) dan 4 input ( n = 4 ) akan menghasilkan decoder garis 4-to-16 (TTL 74154) dan seterusnya.
Tetapi decoder juga dapat memiliki kurang dari 2n output seperti BCD ke tujuh-segmen Decoder (TTL 7447) yang memiliki 4 input dan hanya 7 output aktif untuk menggerakkan layar daripada 16 (24) output penuh seperti yang Anda harapkan.
Di sini, 4 (3 data plus 1 aktif) yang jauh lebih besar dari 16 line decoder biner telah diimplementasikan menggunakan dua decoder 3-to-8 yang lebih kecil.
Input A, B, C digunakan untuk memilih output mana pada kedua decoder dengan logika "1" (HIGH) dan input D digunakan dengan input yang memungkinkan untuk memilih encoder mana yang pertama atau kedua akan menghasilkan "1".
Namun, ada batasan jumlah input yang dapat digunakan untuk satu Decoder tertentu, karena ketika n bertambah, jumlah gerbang AND yang dibutuhkan untuk menghasilkan output juga menjadi lebih besar sehingga mengakibatkan fan-out dari gerbang yang digunakan untuk menggerakkan mereka menjadi besar.
Jenis decoder aktif- "TINGGI" ini dapat diimplementasikan menggunakan Inverter saja, ( Gerbang NOT ) dan gerbang AND. Lebih mudah menggunakan gerbang AND sebagai elemen decoding dasar untuk output karena menghasilkan output "TINGGI" atau logika "1" hanya ketika semua inputnya adalah logika "1".
Tetapi beberapa decoder biner dibangun menggunakan gerbang NAND daripada gerbang AND untuk outputnya yang didekodekan, karena gerbang NAND lebih murah untuk diproduksi daripada AND karena mereka membutuhkan lebih sedikit transistor untuk diimplementasikan dalam desain mereka.
Penggunaan gerbang NAND sebagai elemen decoding, menghasilkan output "RENDAH" aktif sementara sisanya akan "TINGGI". Ketika gerbang NAND menghasilkan operasi AND dengan output terbalik, decoder NAND terlihat seperti ini dengan tabel kebenaran terbalik.
Kemudian untuk Decoder NAND, hanya satu output yang bisa RENDAH dan sama dengan logika "0" pada waktu tertentu, dengan semua output lainnya menjadi TINGGI pada logika "1".
Decoder juga tersedia dengan pin input "Enable" tambahan yang memungkinkan output yang didekodekan untuk dinyalakan "ON" atau "OFF" dengan menerapkan logika "1" atau logika "0" secara berurutan.
Jadi misalnya, ketika mengaktifkan input pada tingkat logika “0”, (EN = 0) semua output adalah “OFF” pada logika “0” (untuk gerbang AND) terlepas dari keadaan input A dan B.
Secara umum untuk mengimplementasikan fungsi pengaktifan ini, 2-input gerbang AND atau gerbang NAND diganti dengan 3-input gerbang AND atau gerbang NAND. Pin input tambahan mewakili fungsi aktifkan.
Dalam sistem mikroprosesor modern, jumlah memori yang dibutuhkan bisa sangat tinggi dan umumnya lebih dari satu chip memori saja.
Salah satu metode untuk mengatasi masalah ini adalah menghubungkan banyak chip memori individual bersama-sama dan membaca data pada "Data Bus" yang umum.
Untuk mencegah data "dibaca" dari masing-masing chip memori pada saat yang sama, setiap chip memori dipilih secara individual satu per satu dan proses ini dikenal sebagai Address Decoding.
Dalam jenis aplikasi ini, alamat mewakili input data yang dikodekan, dan outputnya adalah sinyal pilih elemen memori tertentu. Setiap chip memori memiliki input yang disebut Chip Select atau CS yang digunakan oleh MPU (unit prosesor mikro) untuk memilih chip memori yang sesuai ketika diperlukan.
Umumnya logika "1" pada input chip select ( CS ) memilih perangkat memori sementara logika "0" pada input tidak memilihnya .Jadi dengan memilih atau tidak memilih setiap chip satu per satu, memungkinkan kita untuk memilih perangkat alamat memori yang benar untuk lokasi alamat tertentu.
Keuntungan dari address decoding adalah ketika kita menentukan alamat memori tertentu, lokasi memori yang sesuai HANYA ada di salah satu chip.
Sebagai contoh, Mari kita asumsikan kita memiliki sistem mikroprosesor yang sangat sederhana dengan hanya 1Kb (seribu byte) memori RAM dan 10 garis alamat memori yang tersedia.
Memori terdiri dari perangkat 128 × 8-bit (128 × 8 = 1024 bytes) dan untuk 1Kb kita akan membutuhkan 8 chip memori individual tetapi untuk memilih chip memori yang benar kita juga memerlukan decoder biner 3-to-8 baris seperti yang ditunjukkan di bawah ini.
Decoder biner hanya membutuhkan 3 baris alamat, ( A0 hingga A2 ) untuk memilih masing-masing dari 8 chip (bagian bawah alamat), sedangkan 8 baris alamat yang tersisa ( A3 hingga A10 ) memilih memori yang benar lokasi pada chip itu (bagian atas alamat).
Setelah memilih lokasi memori menggunakan alamat bus, informasi di lokasi memori internal tertentu dikirim ke "Data Bus" umum untuk digunakan oleh mikroprosesor. Ini tentu saja merupakan contoh sederhana tetapi prinsipal tetap sama untuk semua jenis chip memori atau modul.
Decoder Biner adalah perangkat yang sangat berguna untuk mengubah satu format digital ke format digital lainnya, seperti data tipe biner atau BCD menjadi desimal atau oktal dll. dan IC dekoder yang tersedia secara umum dipasaran adalah decoder biner TTL 74LS138 3-to-8 line atau 74ALS154 4-to-16 line decoder.
Mereka juga sangat berguna untuk berinteraksi dengan Display 7-segmen seperti TTL 74LS47 yang akan kita lihat di tutorial selanjutnya
Nama "Decoder" berarti menerjemahkan atau mendekodekan informasi kode dari satu format ke format lain, sehingga decoder biner mengubah "n" sinyal input biner menjadi kode yang setara menggunakan output 2n.
Decoder Biner adalah jenis lain dari perangkat logika digital yang memiliki input kode 2-bit, 3-bit atau 4-bit tergantung pada jumlah jalur input data, sehingga decoder yang memiliki satu set dua atau lebih bit akan didefinisikan sebagai memiliki kode n-bit, dan oleh karena itu akan mungkin untuk mewakili 2n nilai yang mungkin.
Dengan demikian, decoder umumnya menerjemahkan nilai biner menjadi non-biner dengan menetapkan tepat salah satu dari n keluarannya ke logika "1". Jika decoder biner menerima n input (biasanya dikelompokkan sebagai angka Biner atau Boolean tunggal) ia mengaktifkan satu dan hanya satu dari 2n output berdasarkan input tersebut dengan semua output lain dinonaktifkan.
Jadi misalnya, sebuah inverter (Gerbang NOT) dapat digolongkan sebagai decoder biner 1-ke-2 sebagai 1-input dan 2-output (21) dimungkinkan karena dengan input A dapat menghasilkan dua output A dan (not-A) seperti yang ditunjukkan.
Kemudian kita dapat mengatakan bahwa decoder logika kombinasional standar adalah Decoder n-ke-m , di mana m ≤ 2n, dan yang outputnya, Q hanya bergantung pada status arus inputnya. Dengan kata lain, decoder biner melihat arus inputnya, menentukan kode biner atau nomor biner mana yang ada pada inputnya dan memilih output yang sesuai yang sesuai dengan input biner tersebut.
Sebuah Decoder Biner mengkonversi kode input menjadi kode output, dimana kode input dan output yang berbeda dan decoder yang tersedia untuk “decode” baik biner atau BCD (8421 code) pola input ke biasanya kode output desimal.
BCD-to-Desimal Decoder yang tersedia secara umum dipasaran mencakup TTL 7442 atau CMOS 4028. Umumnya kode output decoder biasanya memiliki lebih banyak bit daripada kode inputnya dan rangkaian "decoder biner" praktis termasuk, 2-to-4, 3-to-8 dan konfigurasi jalur 4-to-16. Contoh Decoder 2-to-4 beserta tabel kebenarannya diberikan sebagai:
Decoder Biner A 2-to-4
Contoh sederhana ini di atas dari 2-to-4 baris decoder biner terdiri dari susunan dari empat gerbang AND. 2 input biner berlabel A dan B didekodekan menjadi salah satu dari 4 output, maka uraian decoder biner 2-to-4. Setiap output mewakili salah satu miniterms dari 2 variabel input, (setiap output = miniterm).
Input biner A dan B menentukan jalur output mana dari Q0 to Q3 yang "TINGGI" pada level logika "1" sedangkan output yang tersisa dipegang "RENDAH" pada logika "0" sehingga hanya satu output yang dapat aktif (TINGGI) di sembarang satu kali. Oleh karena itu, jalur output mana pun yang "TINGGI" mengidentifikasi kode biner yang ada pada input, dengan kata lain "men-dekode" input biner.
Beberapa decoder biner memiliki pin input tambahan berlabel "Enable" yang mengontrol output dari perangkat. Input ekstra ini memungkinkan output decoder dinyalakan "ON" atau "OFF" sebagaimana diperlukan. Jenis decoder biner ini biasanya digunakan sebagai "decoder alamat memori" dalam aplikasi memori mikroprosesor.
Kita dapat mengatakan bahwa decoder biner adalah demultiplexer dengan jalur data tambahan yang digunakan untuk mengaktifkan decoder.
Cara alternatif untuk melihat rangkaian decoder adalah dengan menganggap input A , B dan C sebagai sinyal alamat. Setiap kombinasi A , B atau C mendefinisikan alamat memori yang unik.
Kita telah melihat bahwa decoder biner 2-to-4 baris (TTL 74155) dapat digunakan untuk mendekode kode biner 2-bit untuk menghasilkan empat output, satu untuk setiap kombinasi input yang mungkin.
Namun, kadang-kadang diperlukan untuk memiliki Decoder Biner dengan jumlah output lebih besar dari yang tersedia, sehingga dengan menambahkan lebih banyak input, decoder berpotensi dapat memberikan 2n lebih banyak output.
Jadi misalnya, decoder dengan 3 input biner ( n = 3 ), akan menghasilkan 3-to-8 line decoder (TTL 74138) dan 4 input ( n = 4 ) akan menghasilkan decoder garis 4-to-16 (TTL 74154) dan seterusnya.
Tetapi decoder juga dapat memiliki kurang dari 2n output seperti BCD ke tujuh-segmen Decoder (TTL 7447) yang memiliki 4 input dan hanya 7 output aktif untuk menggerakkan layar daripada 16 (24) output penuh seperti yang Anda harapkan.
Di sini, 4 (3 data plus 1 aktif) yang jauh lebih besar dari 16 line decoder biner telah diimplementasikan menggunakan dua decoder 3-to-8 yang lebih kecil.
Konfigurasi Decoder Biner 4-to-16
Input A, B, C digunakan untuk memilih output mana pada kedua decoder dengan logika "1" (HIGH) dan input D digunakan dengan input yang memungkinkan untuk memilih encoder mana yang pertama atau kedua akan menghasilkan "1".
Namun, ada batasan jumlah input yang dapat digunakan untuk satu Decoder tertentu, karena ketika n bertambah, jumlah gerbang AND yang dibutuhkan untuk menghasilkan output juga menjadi lebih besar sehingga mengakibatkan fan-out dari gerbang yang digunakan untuk menggerakkan mereka menjadi besar.
Jenis decoder aktif- "TINGGI" ini dapat diimplementasikan menggunakan Inverter saja, ( Gerbang NOT ) dan gerbang AND. Lebih mudah menggunakan gerbang AND sebagai elemen decoding dasar untuk output karena menghasilkan output "TINGGI" atau logika "1" hanya ketika semua inputnya adalah logika "1".
Tetapi beberapa decoder biner dibangun menggunakan gerbang NAND daripada gerbang AND untuk outputnya yang didekodekan, karena gerbang NAND lebih murah untuk diproduksi daripada AND karena mereka membutuhkan lebih sedikit transistor untuk diimplementasikan dalam desain mereka.
Penggunaan gerbang NAND sebagai elemen decoding, menghasilkan output "RENDAH" aktif sementara sisanya akan "TINGGI". Ketika gerbang NAND menghasilkan operasi AND dengan output terbalik, decoder NAND terlihat seperti ini dengan tabel kebenaran terbalik.
Decoder Biner Gerbang NAND 2-to-4 Line
Kemudian untuk Decoder NAND, hanya satu output yang bisa RENDAH dan sama dengan logika "0" pada waktu tertentu, dengan semua output lainnya menjadi TINGGI pada logika "1".
Decoder juga tersedia dengan pin input "Enable" tambahan yang memungkinkan output yang didekodekan untuk dinyalakan "ON" atau "OFF" dengan menerapkan logika "1" atau logika "0" secara berurutan.
Jadi misalnya, ketika mengaktifkan input pada tingkat logika “0”, (EN = 0) semua output adalah “OFF” pada logika “0” (untuk gerbang AND) terlepas dari keadaan input A dan B.
Secara umum untuk mengimplementasikan fungsi pengaktifan ini, 2-input gerbang AND atau gerbang NAND diganti dengan 3-input gerbang AND atau gerbang NAND. Pin input tambahan mewakili fungsi aktifkan.
Alamat Memori Decoder
Decoder Biner paling sering digunakan dalam sistem digital yang lebih kompleks untuk mengakses lokasi memori tertentu berdasarkan "alamat" yang dihasilkan oleh perangkat komputasi.Dalam sistem mikroprosesor modern, jumlah memori yang dibutuhkan bisa sangat tinggi dan umumnya lebih dari satu chip memori saja.
Salah satu metode untuk mengatasi masalah ini adalah menghubungkan banyak chip memori individual bersama-sama dan membaca data pada "Data Bus" yang umum.
Untuk mencegah data "dibaca" dari masing-masing chip memori pada saat yang sama, setiap chip memori dipilih secara individual satu per satu dan proses ini dikenal sebagai Address Decoding.
Dalam jenis aplikasi ini, alamat mewakili input data yang dikodekan, dan outputnya adalah sinyal pilih elemen memori tertentu. Setiap chip memori memiliki input yang disebut Chip Select atau CS yang digunakan oleh MPU (unit prosesor mikro) untuk memilih chip memori yang sesuai ketika diperlukan.
Umumnya logika "1" pada input chip select ( CS ) memilih perangkat memori sementara logika "0" pada input tidak memilihnya .Jadi dengan memilih atau tidak memilih setiap chip satu per satu, memungkinkan kita untuk memilih perangkat alamat memori yang benar untuk lokasi alamat tertentu.
Keuntungan dari address decoding adalah ketika kita menentukan alamat memori tertentu, lokasi memori yang sesuai HANYA ada di salah satu chip.
Sebagai contoh, Mari kita asumsikan kita memiliki sistem mikroprosesor yang sangat sederhana dengan hanya 1Kb (seribu byte) memori RAM dan 10 garis alamat memori yang tersedia.
Memori terdiri dari perangkat 128 × 8-bit (128 × 8 = 1024 bytes) dan untuk 1Kb kita akan membutuhkan 8 chip memori individual tetapi untuk memilih chip memori yang benar kita juga memerlukan decoder biner 3-to-8 baris seperti yang ditunjukkan di bawah ini.
Decoding Alamat Memori
Decoder biner hanya membutuhkan 3 baris alamat, ( A0 hingga A2 ) untuk memilih masing-masing dari 8 chip (bagian bawah alamat), sedangkan 8 baris alamat yang tersisa ( A3 hingga A10 ) memilih memori yang benar lokasi pada chip itu (bagian atas alamat).
Setelah memilih lokasi memori menggunakan alamat bus, informasi di lokasi memori internal tertentu dikirim ke "Data Bus" umum untuk digunakan oleh mikroprosesor. Ini tentu saja merupakan contoh sederhana tetapi prinsipal tetap sama untuk semua jenis chip memori atau modul.
Decoder Biner adalah perangkat yang sangat berguna untuk mengubah satu format digital ke format digital lainnya, seperti data tipe biner atau BCD menjadi desimal atau oktal dll. dan IC dekoder yang tersedia secara umum dipasaran adalah decoder biner TTL 74LS138 3-to-8 line atau 74ALS154 4-to-16 line decoder.
Mereka juga sangat berguna untuk berinteraksi dengan Display 7-segmen seperti TTL 74LS47 yang akan kita lihat di tutorial selanjutnya