Rangkaian Prioritas Encoder
Tidak seperti multiplexer yang memilih satu jalur input data individu dan kemudian mengirimkan data itu ke jalur output tunggal atau switch, Digital Encoder lebih sering disebut Encoder Biner mengambil SEMUA input datanya satu per satu dan kemudian mengubahnya menjadi output yang disandikan tunggal.
Jadi kita dapat mengatakan bahwa encoder biner, adalah rangkaian logika kombinasional multi-input yang mengubah data level logika “1” pada inputnya menjadi kode biner setara pada outputnya.
Secara umum, encoder digital menghasilkan output kode 2-bit, 3-bit atau 4-bit tergantung pada jumlah jalur input data. Encoder biner "n-bit" memiliki 2n jalur input dan jalur output n-bit dengan tipe umum yang mencakup konfigurasi baris 4-ke-2, 8-ke-3, dan 16-ke-4.
Garis output dari encoder digital menghasilkan ekuivalen biner dari garis input yang nilainya sama dengan “1” dan tersedia untuk menyandikan baik pola input desimal atau heksadesimal untuk biasanya kode output kode biner BCD (binary coded decimal).
Encoder Biner 4-ke-2 Bit
Salah satu kelemahan utama dari encoder digital standar adalah mereka dapat menghasilkan kode output yang salah ketika ada lebih dari satu input hadir pada level logika "1".
Sebagai contoh, jika kita membuat input D1 dan D2 TINGGI pada logika “1” keduanya pada saat yang sama, output yang dihasilkan tidak di “01” atau “10” tapi akan berada di “11” yang merupakan output biner angka yang berbeda dengan input saat ini yang sebenarnya.
Juga, kode output dari semua logika “0” dapat dihasilkan ketika semua inputnya berada pada “0” ATAU ketika input D0 sama dengan satu.
Salah satu cara sederhana untuk mengatasi masalah ini adalah "Prioritaskan" level setiap pin input. Jadi jika ada lebih dari satu input pada level logika "1" pada saat yang sama, kode output aktual hanya akan sesuai dengan input dengan prioritas tertinggi yang ditentukan. Maka jenis encoder digital ini dikenal sebagai Encoder Prioritas atau disingkat P-encoder.
Prioritas Encoder
Prioritas Encoder memecahkan masalah di atas dengan mengalokasikan tingkat prioritas untuk masing-masing input. Prioritas encoder output sesuai dengan input yang sedang aktif yang memiliki prioritas tertinggi. Jadi ketika input dengan prioritas yang lebih tinggi hadir, semua input lainnya dengan prioritas yang lebih rendah akan diabaikan.Prioritas encoder hadir dalam berbagai bentuk dengan contoh encoder prioritas 8-input beserta tabel kebenarannya yang ditunjukkan di bawah ini.
Prioritas Encoder 8-to-3 Bit
Prioritas Encoder tersedia dalam bentuk IC standar dan TTL 74LS148 adalah encoder prioritas 8-ke-3 bit yang memiliki delapan input RENDAH aktif (logika "0") dan menyediakan kode 3-bit dari input berperingkat tertinggi pada outputnya.
Pengkode prioritas memprioritaskan input urutan tertinggi terlebih dahulu misalnya, jika jalur input "D2", "D3" dan "D5" diterapkan secara bersamaan kode output akan untuk input "D5" ("101") karena ini memiliki urutan output tertinggi dari 3 input. Setelah input "D5" dihapus, kode output tertinggi berikutnya adalah input "D3" ("011"), dan seterusnya.
Tabel kebenaran untuk enkoder prioritas 8-ke-3 bit diberikan sebagai:
Input Digital
|
Output Biner
| ||||||||||
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
Q2
|
Q1
|
Q0
| |
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
| |
0
|
0
|
0
|
0
|
0
|
0
|
1
|
X
|
0
|
0
|
1
| |
0
|
0
|
0
|
0
|
0
|
1
|
X
|
X
|
0
|
1
|
0
| |
0
|
0
|
0
|
0
|
1
|
X
|
X
|
X
|
0
|
1
|
1
| |
0
|
0
|
0
|
1
|
X
|
X
|
X
|
X
|
1
|
0
|
0
| |
0
|
0
|
1
|
X
|
X
|
X
|
X
|
X
|
1
|
0
|
1
| |
0
|
1
|
X
|
X
|
X
|
X
|
X
|
X
|
1
|
1
|
0
| |
1
|
X
|
X
|
X
|
X
|
X
|
X
|
X
|
1
|
1
|
1
|
Dari tabel kebenaran ini, ekspresi Boolean untuk pembuat encode di atas dengan input data D0 ke D7 dan output Q0, Q1, Q2 diberikan sebagai:
Output Prioritas Encoder Q0
Output Prioritas Encoder Q1
Output Prioritas Encoder Q2
Kemudian ekspresi Boolean akhir untuk encoder prioritas termasuk input nol didefinisikan sebagai:
Dalam praktiknya, nol input ini akan diabaikan sehingga memungkinkan penerapan ekspresi Boolean akhir untuk output dari encoder prioritas 8-ke-3. Kita dapat membuat encoder sederhana dari ekspresi di atas menggunakan gerbang OR individual sebagai berikut.
Digital Encoder menggunakan Gerbang Logika
Aplikasi Digital Encoder
Encoder pada Keyboard
Pengkode prioritas dapat digunakan untuk mengurangi jumlah kabel yang dibutuhkan dalam rangkaian atau aplikasi tertentu yang memiliki banyak input.Sebagai contoh, asumsikan bahwa komputer mikro perlu membaca 104 tombol keyboard QWERTY standar di mana hanya satu tombol yang akan ditekan baik "TINGGI" atau "RENDAH" pada satu waktu.
Salah satu caranya adalah dengan menghubungkan semua 104 kabel dari masing-masing tombol pada keyboard langsung ke input komputer tetapi ini tidak praktis untuk PC rumahan yang kecil. Alternatif lain dan cara yang lebih baik adalah dengan menghubungkan keyboard ke PC menggunakan encoder prioritas.
104 tombol atau tombol individual dapat dikodekan ke dalam kode ASCII standar hanya 7-bit (0 hingga 127 desimal) untuk mewakili setiap tombol atau karakter keyboard dan kemudian memasukkan kode BCD 7-bit yang jauh lebih kecil langsung ke komputer. Pengkode tombol seperti pengode 20-kunci 74C923 tersedia untuk melakukan hal itu.
Encoder Posisi
Aplikasi lain yang lebih umum adalah dalam kontrol posisi magnetis seperti yang digunakan pada navigasi kapal atau untuk penentuan posisi lengan robot, dll.Di sini misalnya, posisi sudut atau putar kompas diubah menjadi kode digital dengan 74LS148 8-ke-3 line encoder prioritas baris dan input ke komputer sistem untuk menyediakan data navigasi dan contoh posisi 8 sederhana ke 3-bit output encoder kompas ditunjukkan di bawah ini.
Magnet dan sakelar buluh dapat digunakan pada setiap titik kompas untuk menunjukkan posisi sudut jarum.
Navigasi Encoder Prioritas
Arah Kompas
|
Output Biner
| ||
Q0
|
Q1
|
Q2
| |
Utara
|
0
|
0
|
0
|
Timur laut
|
0
|
0
|
1
|
Timur
|
0
|
1
|
0
|
Tenggara
|
0
|
1
|
1
|
Selatan
|
1
|
0
|
0
|
Barat daya
|
1
|
0
|
1
|
Barat
|
1
|
1
|
0
|
Barat laut
|
1
|
1
|
1
|
Interupsi Request (permintaan)
Aplikasi lain terutama untuk Encoder Prioritas dapat mencakup mendeteksi interupsi dalam aplikasi mikroprosesor. Di sini mikroprosesor menggunakan interupsi untuk memungkinkan perangkat periferal seperti disk drive, pemindai, mouse, atau printer dll.Untuk berkomunikasi dengannya, tetapi mikroprosesor hanya dapat "berbicara" dengan satu perangkat periferal pada suatu waktu sehingga perlu cara untuk mengetahui kapan perangkat periferal tertentu ingin berkomunikasi dengannya.
Prosesor melakukan ini dengan menggunakan sinyal "Interupsi Request" atau "IRQ" untuk menetapkan prioritas ke semua perangkat periferal untuk memastikan bahwa perangkat periferal paling penting dilayani terlebih dahulu. Urutan kepentingan perangkat akan tergantung pada koneksi mereka ke encoder prioritas.
Nomor IRQ
|
Penggunaan Khas
|
Deskripsi
|
IRQ 0
|
Timer sistem
|
Timer Sistem Internal.
|
IRQ 1
|
Keyboard
|
Pengontrol keyboard
|
IRQ 3
|
COM2 & COM4
|
Port Serial Kedua dan Keempat.
|
IRQ 4
|
COM1 & COM3
|
Port Serial Pertama dan Ketiga.
|
IRQ 5
|
Suara
|
Kartu suara.
|
IRQ 6
|
Disket
|
Pengontrol Disk Floppy.
|
IRQ 7
|
Port paralel
|
Printer Paralel
|
IRQ 12
|
Mouse
|
PS / 2 Mouse
|
IRQ 14
|
IDE utama
|
Pengontrol Hard Disk Utama.
|
IRQ 15
|
IDE sekunder
|
Pengontrol Hard Disk Sekunder.
|
Ringkasan Pengkode Digital
Kemudian untuk meringkas, Digital Encoder adalah rangkaian kombinasional yang menghasilkan kode tertentu pada outputnya seperti biner atau BCD sebagai respons terhadap satu atau lebih input aktif. Ada dua jenis utama pembuat encode digital. Encoder Biner dan Encoder Priority.Kita telah melihat bahwa Encoder Biner mengubah salah satu dari input 2n menjadi output n-bit. Kemudian encoder biner memiliki bit output lebih sedikit daripada kode input. Encoder biner berguna untuk mengompresi data dan dapat dibangun dari gerbang AND atau gerbang OR sederhana.
Salah satu kelemahan utama dari pembuat kode biner standar adalah bahwa ia akan menghasilkan kesalahan pada outputnya jika lebih dari satu input aktif pada saat yang sama. Untuk mengatasi masalah ini, encode prioritas dikembangkan.
Prioritas Encoder adalah jenis lain dari rangkaian kombinasional mirip dengan encoder biner, kecuali bahwa itu menghasilkan kode output berdasarkan input tertinggi diprioritaskan. Encoder prioritas digunakan secara luas dalam sistem digital dan komputer sebagai pengontrol interupsi mikroprosesor di mana mereka mendeteksi input prioritas tertinggi.
Dalam tutorial berikutnya tentang perangkat Logika Kombinasional, kita akan melihat fungsi komplementer dari pembuat kode yang disebut Kode Biner BCD yang mengubah kode input n-bit ke salah satu dari 2n garis outputnya.