Un encoder este un circuit digital care convertește un set de intrări binare într-un cod binar unic. Codul binar reprezintă poziția intrării și este utilizat pentru a identifica intrarea specifică care este activă. Codificatoarele sunt utilizate în mod obișnuit în sistemele digitale pentru a converti un set paralel de intrări într-un cod serial.
Principiul de bază al unui codificator este de a atribui un cod binar unic fiecărei intrări posibile. De exemplu, un codificator de la 2 la 4 linii are 2 linii de intrare și 4 linii de ieșire și atribuie un cod binar unic de 4 biți fiecăreia dintre cele 2^2 = 4 combinații de intrare posibile. Ieșirea unui encoder este de obicei activă scăzută, ceea ce înseamnă că doar o ieșire este activă (scăzută) la un moment dat, iar ieșirile rămase sunt inactive (înalte). Ieșirea activă scăzută este selectată pe baza codului binar atribuit intrării active.
Există diferite tipuri de codificatoare, inclusiv codificatoare cu prioritate, care atribuie o prioritate fiecărei intrări și codificatoare ponderate binar, care utilizează un sistem de ponderare binar pentru a atribui coduri binare intrărilor. Pe scurt, un encoder este un circuit digital care convertește un set de intrări binare într-un cod binar unic care reprezintă poziția intrării. Codificatoarele sunt utilizate pe scară largă în sistemele digitale pentru a converti intrările paralele în coduri seriale.
Un codificator este un circuit combinațional care efectuează operația inversă a a Decodor . Are maximum de 2^n linii de intrare și „n” linii de ieșire , prin urmare, codifică informațiile de la 2^n intrări într-un cod de n biți. Va produce un cod binar echivalent cu intrarea, care este activ High. Prin urmare, codificatorul codifică 2^n linii de intrare cu „n” biți.
Codificator
Tipuri de codificatoare
Există diferite tipuri de codificatoare care sunt menționate mai jos.
- Codificator 4 până la 2
- Encoder octal la binar (codor 8 până la 3)
- Decimală la codificatorul BCD
- Codificator prioritar
Codificator 4 până la 2
Codificatorul 4 la 2 este format din patru intrări Y3, Y2, Y1 și Y0 și două ieșiri A1 și A0 . În orice moment, doar una dintre aceste 4 intrări poate fi „1” pentru a obține codul binar respectiv la ieșire. Figura de mai jos prezintă simbolul logic al codificatorului 4 până la 2.

Codificator 4 până la 2
Tabelul de adevăr al celor 4 până la 2 codificatoare este după cum urmează.
| INTRARI | IEȘIRI | ||||
|---|---|---|---|---|---|
| Y3 | Y2 | Y1 | Y0 | A1 | A0 |
| 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
Expresie logică pentru A1 și A0:
A1 = Y3 + Y2 A0 = Y3 + Y1>
Cele două funcții booleene de mai sus A1 și A0 pot fi implementate folosind două porți SAU de intrare:

Implementare folosind OR Gate
Encoder octal la binar (codor 8 până la 3)
Codificatorul 8 până la 3 sau codificatorul octal la binar este format din 8 intrari : Y7 la Y0 și 3 iesiri : A2, A1 și A0. Fiecare linie de intrare corespunde fiecărei cifre octale și trei ieșiri generează codul binar corespunzător. Figura de mai jos arată simbolul logic al octalului pentru codificatorul binar.

Encoder octal la binar (codor 8 până la 3)
Tabelul de adevăr pentru codificatorul 8 până la 3 este următorul.
concatenare de șiruri java
| INTRARI | IEȘIRI | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A2 | A1 | A0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 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 | 0 | 1 | 1 |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
Expresie logică pentru A2, A1 și A0.
A2 = Y7 + Y6 + Y5 + Y4 A1 = Y7 + Y6 + Y3 + Y2 A0 = Y7 + Y5 + Y3 + Y1>
Cele două funcții booleene de mai sus A2, A1 și A0 pot fi implementate folosind patru intrări SAU porți .

Implementare folosind OR Gate
Decimală la codificatorul BCD
Codificatorul zecimal-binar constă de obicei din 10 linii de intrare și 4 linii de iesire . Fiecare linie de intrare corespunde fiecărei cifre zecimale și 4 ieșiri corespund codului BCD. Acest codificator acceptă datele zecimale decodificate ca intrare și le codifică la ieșirea BCD care este disponibilă pe liniile de ieșire. Figura de mai jos arată simbolul logic al codificatorului zecimal la BCD:

Decimală la codificatorul BCD
Tabelul de adevăr pentru zecimală la codificator BCD este după cum urmează.
| INTRARI | IEȘIRI | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Y9 | Y8 | Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A3 | A2 | A1 | A0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
Expresie logică pentru A3, A2, A1 și A0.
A3 = Y9 + Y8 A2 = Y7 + Y6 + Y5 +Y4 A1 = Y7 + Y6 + Y3 +Y2 A0 = Y9 + Y7 +Y5 +Y3 + Y1>
Cele două funcții booleene de mai sus pot fi implementate folosind porți SAU.

Implementare folosind OR Gate
Codificator prioritar
Un codificator cu prioritate 4 până la 2 are 4 intrari : Y3, Y2, Y1 și Y0 și 2 iesiri : A1 și A0. Aici, intrarea, Y3 are cea mai mare prioritate , în timp ce intrarea, Y0 are cea mai mică prioritate . În acest caz, chiar dacă mai multe intrări sunt „1” în același timp, ieșirea va fi codul (binar) corespunzător intrării, care are prioritate mai mare . Tabelul de adevăr pentru codificatorul prioritar este următorul.
| INTRARI | IEȘIRI | |||||
|---|---|---|---|---|---|---|
| Y3 | Y2 | Y1 | Y0 | A1 | A0 | ÎN |
| 0 | 0 | 0 | 0 | X | X | 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | X | 0 | 1 | 1 |
| 0 | 1 | X | X | 1 | 0 | 1 |
| 1 | X | X | X | 1 | 1 | 1 |
Expresia logică pentru A1 este prezentată mai jos.

Expresie logică
Expresia logică pentru A0 este prezentată mai jos.

Expresie logică
Cele două funcții booleene de mai sus pot fi implementate ca.

Codificator prioritar
Există unele erori care se întâmplă de obicei în Encoders sunt menționate mai jos.
- Există o ambiguitate, când toate ieșirile codificatorului sunt egale cu zero.
- Dacă mai multe intrări sunt active High, atunci encoderul produce o ieșire, care poate să nu fie codul corect.
Deci, pentru a depăși aceste dificultăți, ar trebui să atribuim priorități fiecărei intrări a codificatorului. Apoi, ieșirea codificatorului va fi codul corespunzător intrărilor active active, care au prioritate mai mare.
Aplicarea codificatoarelor
- Codificatoarele sunt circuite electronice foarte comune utilizate în toate sistemele digitale.
- Codificatoarele sunt folosite pentru a traduce valorile zecimale în binar pentru a efectua funcții binare precum adunarea, scăderea, înmulțirea etc.
- Alte aplicații, în special pentru codificatoarele prioritare, pot include detectarea întreruperilor în aplicațiile cu microprocesor.
Avantajele utilizării codificatoarelor în logica digitală
- Reducerea numărului de linii: Codificatoarele reduc numărul de linii necesare pentru a transmite informații de la mai multe intrări la o singură ieșire, ceea ce poate simplifica proiectarea sistemului și poate reduce costul componentelor.
- Fiabilitate îmbunătățită: Prin conversia mai multor intrări într-un singur cod serial, codificatoarele pot reduce posibilitatea apariției erorilor în transmiterea informațiilor.
- Performanta imbunatatita: Codificatoarele pot îmbunătăți performanța unui sistem digital prin reducerea timpului necesar pentru a transmite informații de la mai multe intrări la o singură ieșire.
Dezavantajele utilizării codificatoarelor în logica digitală
- Complexitate crescută: Codificatoarele sunt de obicei circuite mai complexe în comparație cu multiplexoare și necesită componente suplimentare pentru implementare.
- Limitat la aplicații specifice: Codificatoarele sunt potrivite numai pentru aplicații în care un set paralel de intrări trebuie convertit într-un cod serial.
- Flexibilitate limitată: Codificatoarele sunt limitate în flexibilitatea lor, deoarece pot codifica doar un număr fix de intrări într-un număr fix de ieșiri.
- În concluzie, codificatoarele sunt circuite digitale utile care au avantajele și dezavantajele lor. Alegerea de a utiliza sau nu un encoder depinde de cerințele specifice ale sistemului și de compromisurile dintre complexitate, fiabilitate, performanță și cost.
GATE CS Corner Întrebări
Exersarea următoarelor întrebări vă va ajuta să vă testați cunoștințele. Toate întrebările au fost puse în GATE în anii anteriori sau în GATE Mock Tests. Este foarte recomandat să le exersați.
- GATE CS 2013, Întrebarea 65
- GATE CS 2014 (Setul 3), Întrebarea 65