Apuntes Clase 4 - Decodificadores y Codificadores

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

ANEXO N°1 MICROPROCESADORES

CODIFICADORES/DECODIFICADORES

Como se sabe del curso anterior (Dispositivos Digitales), es posible implementar


funciones lógicas mediante dispositivos de lógica combinacional, a saber, compuertas AND,
OR, XOR, etc. Sin embargo, también es sabido que a medida que las funciones crecen en
complejidad, también lo hace la implementación. Para evitar este tipo de problemas existen
algunas técnicas que ayudan a simplificar el problema de la obtención de la solución final,
tales como los Mapas de Karnaugh y, en el caso del circuito físico, la utilización de las Leyes
de De Morgan (implementación únicamente utilizando compuertas NAND o NOR).

Pero aún así, en ocasiones los problemas crecen demasiado, y se hace impráctico
utilizar las soluciones tradicionales, razón por la cual se requieren otro tipo de dispositivos
para implementar las soluciones de un problema digital. Para esto, se verá uno de estos
dispositivos cuyo concepto de funcionamiento se explicará a continuación.

Codificador.

El codificador digital es un dispositivo que permite que una entrada N-ésima pueda
ser representada mediante un número binario de acuerdo a la posición de dicha entrada. En
la figura 1 se aprecia uno de estos dispositivos de manera sencilla.

Figura 1
Esquema básico de un Codificador.

En el caso mostrado, el codificador se designa como de 4 a 2 (cuatro entradas, dos


salidas) y su funcionamiento es bastante simple. Consiste en indicar mediante valores
binarios la posición de la entrada que está siendo polarizada. Por ejemplo, si la entrada 0 está
polarizada (valor lógico “1”) y las demás entradas están en “0”, entonces la salida indicará
un valor “00”, representando así que la entrada 0 ha sido polarizada. En la siguiente tabla se
muestra las salidas para cada una de las entradas
Tabla N° 1: Tabla de verdad para el codificador de 4 a 2.

IN 3 IN 2 IN 1 IN 0 OUT 1 OUT 0
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1

Al examinar la tabla, surgen inmediatamente algunas interrogantes sobre el


funcionamiento en un caso real, tales como qué pasaría si no existe ninguna entrada, es decir,
todos los valores son “0”, o qué pasaría si más de una entrada tiene un valor lógico “1”. Para
resolver este tipo de situaciones, los codificadores poseen una característica que es llamada
Prioridad. La prioridad, que puede ser alta o baja, le dice al codificador qué entrada tiene que
considerar cuando más de una tiene un valor alto. Por ejemplo, supóngase que la entrada al
codificador anterior sea la siguiente:

IN 3 IN 2 IN 1 IN 0 OUT 1 OUT 0
0 1 1 0 ¿? ¿?

En este caso, ¿cuál sería la respuesta correcta? ¿”01” o “10”?

Si el codificador posee alta prioridad, entonces considerará la entrada más alta e


ignorará todas las demás entradas bajas. En este caso, la respuesta al caso anterior será “10”.
Si el codificador posee baja prioridad, entonces considerará la entrada más baja e ignorará
todas las demás entradas altas. Así, la respuesta al caso anterior será “01”. La figura 2 muestra
claramente este caso.

Figura 2
Funcionamiento de la codificación con prioridad.

En términos generales, un codificador posee 2N-1 entradas y N salidas, pero en


términos comerciales, los codificadores más utilizados son los de 8 a 3 (8 entradas y sus
correspondientes 3 pines de codificación). Una de las aplicaciones más utilizadas son las
relacionadas la activación de sensores en un sistema, así este dispositivo indica qué sensor
fue activado y la función de prioridad permite asignar una respuesta en función de qué sensor
es más importante dentro de la aplicación diseñada.
Decodificador.

El decodificador digital es un dispositivo que permite que una entrada binaria sea
representada por su respectiva salida decimal. En esencia, funciona de manera inversa a la
del codificador.

Figura 3
Esquema básico de un decodificador.

En la figura 1, se aprecia un decodificador de 2 a 4, es decir, posee 2 entradas binarias


mientras que sus salidas representan el valor decimal de dicha entrada binaria. El
funcionamiento se puede apreciar en la siguiente tabla.

Tabla N° 2: Tabla de verdad para el decodificador de 2 a 4.

IN 1 IN 0 OUT 3 OUT 2 OUT 1 OUT 0


0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0

A diferencia de un codificador, aquí el concepto de prioridad no tiene sentido, ya que


la entrada binaria por defecto siempre activará una y sólo una salida.

Además, en términos de aplicaciones digitales, el decodificador posee más presencia


en la implementación de funciones combinacionales, debido a que su entrada es precisamente
una conjugación de señales binarias. Sin embargo, en la temática que interesa respecto del
curso de Microprocesadores, este elemento es fundamental en lo que es el direccionamiento
de memorias y/o dispositivos afines (otros componentes integrados).

En la figura 4, se muestra una configuración simple para el direccionamiento de


posiciones de memoria, en la cual el bus de direccionamiento (numeración binaria) ingresa
al decodificador y el número representado activa la salida correspondiente, la cual a su vez
activa en el bloque de memoria sólo una posición de memoria, tal como lo indica la tabla de
verdad anterior.
Figura 4
Utilización de decodificador para direccionamiento de memoria.

Se debe señalar también, que normalmente la operación interna de direccionamiento


también está asociada a la utilización de dispositivos buffers tri-state (de tres estados), los
cuales tienen la particularidad de permitir el funcionamiento lógico tradicional o simplemente
“desconectar” una posición mediante un estado de alta impedancia. La figura 5 muestra un
buffer clásico de estas características.

Figura 5
Buffer Tri-State.

En este caso, la salida B del buffer sólo repite el valor lógico de la entrada A, mientras
que la entrada C indica si el componente trabajará en modo normal o en modo alta
impedancia.

Tabla N° 3: Tabla de verdad para un Buffer Tri-State.

C A B
0 0 0
0 1 1
1 0 HZ
1 1 HZ

Como se aprecia, si la entrada C es “0”, entonces el buffer funciona normalmente,


mientras que si la entrada C es “1”, entonces el buffer impide el funcionamiento de la función
lógica y sólo muestra un estado de alta impedancia en su salida (similar a una desconexión
física).

También podría gustarte