Circuiti digitali - Encoder
Un Encoderè un circuito combinatorio che esegue l'operazione inversa del Decoder. Ha un massimo di 2 n linee di ingresso e 'n' linee di uscita. Produrrà un codice binario equivalente all'ingresso, che è attivo Alto. Pertanto, l'encoder codifica 2 n linee di ingresso con "n" bit. È facoltativo rappresentare il segnale di abilitazione negli encoder.
Encoder da 4 a 2
Lascia che 4 to 2 Encoder abbia quattro ingressi Y 3 , Y 2 , Y 1 e Y 0 e due uscite A 1 e A 0 . Ilblock diagram da 4 a 2 Encoder è mostrato nella figura seguente.
In qualsiasi momento, solo uno di questi 4 ingressi può essere '1' per ottenere il rispettivo codice binario in uscita. IlTruth table da 4 a 2 encoder è mostrato di seguito.
Ingressi | Uscite | ||||
---|---|---|---|---|---|
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 |
Dalla tabella Truth, possiamo scrivere il file Boolean functions per ogni uscita come
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {3} + Y_ {1} $$
Possiamo implementare le due funzioni booleane di cui sopra utilizzando due porte OR di input. Ilcircuit diagram da 4 a 2 encoder è mostrato nella figura seguente.
Lo schema circuitale sopra contiene due porte OR. Queste porte OR codificano i quattro ingressi con due bit
Da ottale a codificatore binario
L'encoder da ottale a binario ha otto ingressi, da Y 7 a Y 0 e tre uscite A 2 , A 1 e A 0 . L'encoder da ottale a binario non è altro che un codificatore da 8 a 3. Ilblock diagram da ottale a binario Encoder è mostrato nella figura seguente.
In qualsiasi momento, solo uno di questi otto ingressi può essere "1" per ottenere il rispettivo codice binario. IlTruth table da ottale a codificatore binario è mostrato di seguito.
Ingressi | Uscite | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
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 |
Dalla tabella Truth, possiamo scrivere il file Boolean functions per ogni uscita come
$$ A_ {2} = Y_ {7} + Y_ {6} + Y_ {5} + Y_ {4} $$
$$ A_ {1} = Y_ {7} + Y_ {6} + Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {7} + Y_ {5} + Y_ {3} + Y_ {1} $$
Possiamo implementare le funzioni booleane di cui sopra utilizzando quattro porte OR di input. Ilcircuit diagram dell'encoder da ottale a binario è mostrato nella figura seguente.
Lo schema circuitale sopra contiene tre porte OR a 4 ingressi. Queste porte OR codificano gli otto ingressi con tre bit.
Inconvenienti di Encoder
Di seguito sono riportati gli svantaggi del normale encoder.
C'è un'ambiguità, quando tutte le uscite dell'encoder sono uguali a zero. Perché potrebbe essere il codice corrispondente agli input, quando solo l'input meno significativo è uno o quando tutti gli input sono zero.
Se più di un ingresso è attivo Alto, l'encoder produce un'uscita, che potrebbe non essere il codice corretto. Perexample, se sia Y 3 che Y 6 sono "1", l'encoder produce 111 in uscita. Questo non è né il codice equivalente corrispondente a Y 3 , quando è "1", né il codice equivalente corrispondente a Y 6 , quando è "1".
Quindi, per superare queste difficoltà, dovremmo assegnare delle priorità a ciascun ingresso dell'encoder. Quindi, l'uscita dell'encoder sarà il codice (binario) corrispondente agli ingressi High attivi, che hanno priorità più alta. Questo codificatore è chiamato comepriority encoder.
Codificatore prioritario
Un encoder con priorità da 4 a 2 ha quattro ingressi Y 3 , Y 2 , Y 1 e Y 0 e due uscite A 1 e A 0 . In questo caso, l'ingresso Y 3 ha la priorità più alta, mentre l'ingresso Y 0 ha la priorità più bassa. In questo caso, anche se più di un ingresso è '1' contemporaneamente, l'uscita sarà il codice (binario) corrispondente all'ingresso, che sta avendohigher priority.
Ne abbiamo considerato uno in più output, V per sapere se il codice disponibile in uscita è valido o meno.
Se almeno un ingresso dell'encoder è "1", il codice disponibile sulle uscite è valido. In questo caso, l'uscita, V sarà uguale a 1.
Se tutti gli ingressi dell'encoder sono '0', il codice disponibile sulle uscite non è valido. In questo caso, l'uscita V sarà uguale a 0.
Il Truth table da 4 a 2 priorità encoder è mostrato di seguito.
Ingressi | Uscite | |||||
---|---|---|---|---|---|---|
Y3 | Y2 | Y1 | Y0 | A1 | A0 | V |
0 | 0 | 0 | 0 | 0 | 0 | 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 |
Uso 4 variable K-maps per ottenere espressioni semplificate per ogni output.
Il semplificato Boolean functions siamo
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$ A_ {0} = Y_ {3} + {Y_ {2}} 'Y_ {1} $
Allo stesso modo, otterremo la funzione booleana di output, V as
$$ V = Y_ {3} + Y_ {2} + Y_ {1} + Y_ {0} $$
Possiamo implementare le funzioni booleane di cui sopra utilizzando porte logiche. Ilcircuit diagram da 4 a 2 priorità encoder è mostrato nella figura seguente.
Lo schema circuitale sopra contiene due porte OR a 2 ingressi, una porta OR a 4 ingressi, una porta AND a 2 ingressi e un inverter. Qui la combinazione di gate AND e inverter viene utilizzata per produrre un codice valido sulle uscite, anche quando più ingressi sono uguali a "1" contemporaneamente. Quindi, questo circuito codifica i quattro ingressi con due bit basati supriority assegnato a ciascun ingresso.