Circuitos digitales: codificadores
Un Encoderes un circuito combinacional que realiza la operación inversa del decodificador. Tiene un máximo de 2 n líneas de entrada y 'n' líneas de salida. Producirá un código binario equivalente a la entrada, que está activa Alta. Por lo tanto, el codificador codifica 2 n líneas de entrada con 'n' bits. Es opcional representar la señal de habilitación en codificadores.
Codificador 4 a 2
Deje 4 a 2 El codificador tiene cuatro entradas Y 3 , Y 2 , Y 1 e Y 0 y dos salidas A 1 y A 0 . losblock diagram de 4 a 2 Encoder se muestra en la siguiente figura.
En cualquier momento, solo una de estas 4 entradas puede ser '1' para obtener el código binario respectivo en la salida. losTruth table de 4 a 2 codificadores se muestra a continuación.
Entradas | Salidas | ||||
---|---|---|---|---|---|
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 |
De la tabla de Verdad, podemos escribir el Boolean functions para cada salida como
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {3} + Y_ {1} $$
Podemos implementar las dos funciones booleanas anteriores usando dos puertas OR de entrada. loscircuit diagram de 4 a 2 codificadores se muestra en la siguiente figura.
El diagrama de circuito anterior contiene dos puertas OR. Estas puertas OR codifican las cuatro entradas con dos bits
Codificador octal a binario
El codificador octal a binario tiene ocho entradas, Y 7 a Y 0 y tres salidas A 2 , A 1 y A 0 . El codificador octal a binario no es más que un codificador de 8 a 3. losblock diagram del codificador octal a binario se muestra en la siguiente figura.
En cualquier momento, solo una de estas ocho entradas puede ser '1' para obtener el código binario respectivo. losTruth table del codificador octal a binario se muestra a continuación.
Entradas | Salidas | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
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 |
De la tabla de Verdad, podemos escribir el Boolean functions para cada salida como
$$ 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} $$
Podemos implementar las funciones booleanas anteriores usando cuatro puertas OR de entrada. loscircuit diagram del codificador octal a binario se muestra en la siguiente figura.
El diagrama de circuito anterior contiene tres puertas OR de 4 entradas. Estas puertas OR codifican las ocho entradas con tres bits.
Inconvenientes del codificador
Los siguientes son los inconvenientes del codificador normal.
Existe una ambigüedad cuando todas las salidas del codificador son iguales a cero. Porque, podría ser el código correspondiente a las entradas, cuando solo la entrada menos significativa es una o cuando todas las entradas son cero.
Si más de una entrada está activa High, entonces el codificador produce una salida, que puede no ser el código correcto. porexample, si tanto Y 3 como Y 6 son '1', entonces el codificador produce 111 en la salida. No es el código equivalente correspondiente a Y 3 , cuando es '1' ni el código equivalente correspondiente a Y 6 , cuando es '1'.
Entonces, para superar estas dificultades, debemos asignar prioridades a cada entrada del codificador. Entonces, la salida del codificador será el código (binario) correspondiente a la (s) entrada (s) activa (s) alta, que tiene mayor prioridad. Este codificador se llamapriority encoder.
Codificador de prioridad
Un codificador de prioridad 4 a 2 tiene cuatro entradas Y 3 , Y 2 , Y 1 e Y 0 y dos salidas A 1 y A 0 . Aquí, la entrada Y 3 tiene la prioridad más alta, mientras que la entrada Y 0 tiene la prioridad más baja. En este caso, incluso si más de una entrada es '1' al mismo tiempo, la salida será el código (binario) correspondiente a la entrada, que tienehigher priority.
Consideramos uno más output, V para saber si el código disponible en las salidas es válido o no.
Si al menos una entrada del codificador es '1', entonces el código disponible en las salidas es válido. En este caso, la salida, V será igual a 1.
Si todas las entradas del codificador son '0', entonces el código disponible en las salidas no es válido. En este caso, la salida V será igual a 0.
los Truth table de codificador de prioridad 4 a 2 se muestra a continuación.
Entradas | Salidas | |||||
---|---|---|---|---|---|---|
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 |
Utilizar 4 variable K-maps para obtener expresiones simplificadas para cada salida.
El simplificado Boolean functions son
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$ A_ {0} = Y_ {3} + {Y_ {2}} 'Y_ {1} $
De manera similar, obtendremos la función booleana de salida, V como
$$ V = Y_ {3} + Y_ {2} + Y_ {1} + Y_ {0} $$
Podemos implementar las funciones booleanas anteriores usando puertas lógicas. loscircuit diagram de codificador de prioridad 4 a 2 se muestra en la siguiente figura.
El diagrama de circuito anterior contiene dos puertas O de 2 entradas, una puerta O de 4 entradas, una puerta Y de 2 entradas y un inversor. Aquí, la combinación de puerta AND e inversor se utiliza para producir un código válido en las salidas, incluso cuando varias entradas son iguales a '1' al mismo tiempo. Por lo tanto, este circuito codifica las cuatro entradas con dos bits basados en elpriority asignado a cada entrada.