Lompat ke konten Lompat ke sidebar Lompat ke footer

Rangkaian Prioritas Encoder

Rangkaian Encoder mengambil semua input data mereka satu per satu dan mengubahnya menjadi kode biner yang setara pada outputnya.

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

Rangkaian Prioritas Encoder

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

Rangkaian Prioritas Encoder

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
Di mana X sama dengan "dont care", itu adalah logika "0" atau logika "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
Rangkaian Prioritas Encoder

Output Prioritas Encoder Q1
Rangkaian Prioritas Encoder

Output Prioritas Encoder Q2
Rangkaian Prioritas Encoder

Kemudian ekspresi Boolean akhir untuk encoder prioritas termasuk input nol didefinisikan sebagai:
Rangkaian Prioritas Encoder

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

Rangkaian Prioritas Encoder

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

Rangkaian Prioritas Encoder

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.
Karena menerapkan sistem seperti itu dengan menggunakan encoder prioritas seperti IC encoder prioritas 74LS148 standar melibatkan rangkaian logika tambahan, rangkaian terintegrasi yang dibuat khusus seperti 8259 Programmable Priority Interrupt Controller tersedia.

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.