CODIFICADORES Y DECODIFICADORES Centro CFP/ES CODIFICADORES Un elemento cuyo código de entrada tiene más bits que el código de salida, a este elemento le llamaremos codificador. Si tenemos tres salidas, el número de entradas será de ocho. 1
CODIFICADORES DE PRIORIDAD El codificador anterior presenta un problema. Qué pasa cuando no podemos asegurar al 100% que solamente se está realizando una petición en un instante de tiempo, si no que, por un error, se están realizando varias peticiones a la vez?. Para subsanar este posible error, lo que se hace es asignar una serie de prioridades a cada una de las entradas, así, cuando se hace una petición múltiple, el codificador proporciona el número del elemento solicitado que tiene una prioridad mayor. CODIFICADORES DE PRIORIDAD La prioridad más alta se adjudica a la entrada E7 y va bajando hasta la menor, que es la correspondiente a la E0. La salida que nos dé el codificador a través de S2, S1 y S0 va a ser la correspondiente a la entrada que tenga mayor prioridad. La salida NADA toma valor 1 en el caso de que no haya ninguna petición de funcionamiento. 2
CODIFICADOR DECIMAL A BCD Este codificador, partiendo de un número decimal expresado en un código 1 de 10, nos va a dar como salida el código BCD correspondiente. Debemos tener en cuenta que todas las entradas y salidas están complementadas. La salida habilitadora Sv ya está complementada en la tabla. Toma valor 1 cuando no hay ninguna entrada activa, o toma el valor 0 cuando hay alguna entrada que está activa. 9876543210 ABCD /Sv 1111111111 1111 1 1111111110 1111 0 111111110-1110 0 11111110-- 1101 0 1111110--- 1100 0 111110---- 1011 0 11110----- 1010 0 1110------ 1001 0 110------- 1000 0 10-------- 0111 0 0--------- 0110 0 CODIFICADOR COMERCIAL 74148 El codificador de prioridades 74LS148 es un TTL MSI. Tiene un código de entrada de ocho bits y un código de salida de 3 bits, además de una entrada y dos salidas habilitadoras. /EI /I0 /I1 /I2 /I3 /I4 /I5 /I6 /I7 /A2 /A1 /A0 /GS /EO 1 - - - - - - - - 1 1 1 1 1 0 - - - - - - - 0 0 0 0 0 1 0 - - - - - - 0 1 0 0 1 0 1 0 - - - - - 0 1 1 0 1 0 0 1 0 - - - - 0 1 1 1 0 1 1 0 1 0 - - - 0 1 1 1 1 1 0 0 0 1 0 - - 0 1 1 1 1 1 1 0 1 0 1 0-0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 3
CODIFICADOR COMERCIAL 74148 /EI (Enable Input): Es una entrada de habilitació9n que permite codificar al dispositivo cuando se aplica un nivel bajo 0. En caso contrario, sea cual sea el estado de las entradas, el circuito no codifica y aparece nivel alto en todas las salidas. /E0(Enable output): indica mediante nivel bajo que ninguna entrada esta activada, si alguna de las entradas esta activada responde con nivel alto. /GS (Group signal): esta a nivel bajo cuando alguna de las entradas esta activada y cuando todas las entradas estan inactivas muestra nivel alto. Estos tres terminales son muy importantes cuando se conectan varios codificadores en cascada. CODIFICADOR COMERCIAL 74148 4
CODIFICADOR COMERCIAL 74148 DECODIFICADORES Un decodificador es un circuito lógico que, mediante varias entradas y salidas, transforma una entrada codificada en un código, en una salida codificada en otro código distinto. Generalmente, el código de entrada tiene una cantidad menor de bits que el código de salida. A cada palabra código de entrada le corresponde una palabra código de salida distinta. 5
DECODIFICADORES La entrada habilitadora (ENABLER en inglés). La función de esta entrada es la de hacer que funcione correctamente el decodificador cuando está activa. Normalmente, la palabra de entrada de un decodificador es una palabra de m bits de un código binario, cuyas 2m palabras de código van desde el valor decimal 0 hasta el valor 2m-1. Decodificador binario. Un decodificador binario, es un decodificador que tiene m entradas para la palabra código, una entrada habilitadora, y 2m salidas para la palabra decodificada. DECODIFICADORES EN I0 I1 Y3 Y2 Y1 Y0 0 - - 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 6
DECODIFICADORES Vamos a poner un ejemplo de decodificador empleando un sistema binario de codificación. Este consiste en un disco físico con una serie de puntos marcados. Dependiendo de la posición angular del disco, la salida es una combinación digital gracias al particular posicionamiento de unos lectores. Así, podemos completar la siguiente tabla de verdad: Posición del disco E2 E1 E0 Salida del decodificador binario en código 1 de 8 bits 0-45 0 0 0 00000001 45-90 0 0 1 00000010 90-135 0 1 1 00000100 135-180 0 1 0 00001000 180-225 1 1 0 00010000 225-270 1 1 1 00100000 270-315 1 0 1 01000000 315-360 1 0 0 10000000 DECODIFICADOR BCD 7 SEGMENTOS Este código es el utilizado en relojes y calculadoras que tienen que mostrar los números en displays de 7 segmentos. El circuito es el 7447. Partiendo de esta representación, podemos obtener todos los dígitos del 0 al 9 utilizando los segmentos: 7
DECODIFICADOR BCD 7 SEGMENTOS DECODIFICADOR BCD 7 SEGMENTOS ABCD son las entradas de código /a hasta /g: son las salidas negadas hacia el display /LT (Lamp Test): Se utiliza para comprobar mediante el encendido de todos los leds del display que funcionan correctamente. /RBI (Ripple Blanking Input): apaga todos los leds de salida aplicando nivel alto a todas ellas cuando ABCD se encuentran a 1 y /LT a nivel alto. /BI /RBO (Blanking Input-Ripple Blanking Output): es una salida que siempre muestra nivel alto salvo cuando /RBI y ABCD muestran nivel alto. Tambien puede utilizarse como entrada, si aplicamos un nivel bajo todas las salidas muestran nivel alto sea cual sea el estado de las entradas. 8
CODIFICADORES Y DECODIFICADORES 9