UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) ______________________ ___________________________________ ______________________ ______________________ ______________________ ____________________ ___________
LABORATORIO Nº 3 CODIFICADORES DECODIFICADORES Y TRANSCODIFICADORES 1.- Objetivo Introducir al alumno en el estudio de circuitos combinacionales como ser codificadores, decodificadores y transcodificadores 2.- Fundamento Teorico Un codificador es es un circuito un circuito combinacional con 2N entradas y N salidas, cuya misión es presentar en la salida el código el código binario correspondiente a la entrada activada. Existen dos tipos fundamentales de codificadores: codificadores sin prioridad y codificadores con prioridad. En el caso de codificadores sin pr ioridad, puede darse el caso de salidas cuya entrada no pueda ser conocida: por ejemplo, la salida 0 podría indicar i ndicar que no hay ninguna entrada activada o que se ha activado la entrada número 0. Además, ciertas entradas pueden hacer que en la salida se presente la suma lógica de dichas entradas, ocasionando mayor confusión. Por ello, este tipo de codificadores es usado únicamente cuando el rango de datos de entrada está correctamente acotado y su funcionamiento garantizado.
Para evitar los problemas anteriormente comentados, se diseñan los codificadores con prioridad. En estos sistemas, cuando existe más de una señal activa, la salida codifica la de mayor prioridad (generalmente correspondiente al valor decimal más alto). 1
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
Adicionalmente, se codifican dos salidas más: una indica que ninguna entrada está activa, y la otra que alguna entrada está activa. Esta medida permite discernir entre los supuestos de que el circuito estuviera deshabilitado por la no activación de la señal de capacitación, que el circuito no tuviera ninguna entrada activa, o que la entrada número 0 estuviera activada. Un decodificador o descodificador es un circuito combinacional, cuya función es inversa a la del codificador, esto es, convierte un código binario de entrada (natural, BCD, etc.) de N bits de entrada y M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2N), tales que cada línea de salida será activada para una sola de las combinaciones posibles de entrada. Estos circuitos, normalmente, se suelen encontrar como decodificador / demultiplexor. Esto es debido a que un demultiplexor puede comportarse como un decodificador.
El “display de 7 segmentos” es un dispositivo usado para presentar información de forma visual. Esta información es específicamente un dígito decimal del 0 (cero) al 9 (nueve), por lo que se intuye que que el código BCD está involucrado. El caso que nos atañe consta de 7 LED's (Light Emisor Diode), uno por cada segmento, que se 2
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
encenderán o apagarán dependiendo de la información que se les envíe. El display 7 segmentos tiene una estructura similar a:
donde los 7 led's vienen indicados por las letras a, b, c, d, e, f y g. Con éstos pueden formarse todos los dígitos decimales.
Estos dispositivos pueden ser de tipo “Ánodo Común”
3
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
o “Cátodo Común”
En el caso de los display de ánodo común todos los ánodos (+) de los led's comparten la conexión. Estos display requieren un cero (una tierra) a la entrada de cada segmento para encenderlo. En el caso de los display de cátodo común todos los cátodos (-) de los led's comparten la conexión. Estos display requieren un uno ( Vcc) a la entrada de cada segmento para encenderse. Todas las conexiones deben ser hechas a través de una resistencia para regular la cantidad de corriente que pasa a través de los led's. Existen casos donde aparece un octavo segmento que suele usarse como punto decimal (ver el DP):
4
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
En la figura pueden verse también una de las configuraciones de pines más popular que contienen los displays de 7 segmentos y lo que representan. Los pines 3 y 8 son el ánodo común ó el cátodo común (dependiendo de cual sea el caso del 7 segmentos elegido) y aunque regularmente es indiferente cual de el los conecten existen casos de modelos de displays en los que, por sus especificaciones, se requieren ambos conectados (o también quizá porque requieran cumplir alguna condición de manejo de corriente en su circuito). El encapsulado de este mismo display luce algo como:
5
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
para la versión que contiene sólo un dígito pero existen algunas para más dígitos como por ejemplo el de dos dígitos que es bastante usado o los de X dígitos y medio donde el medio viene dado por el hecho de que él sólo puede representar el número uno (tiene únicamente dos segmentos). Existen circuitos integrados a nivel MSI que pueden realizar la tarea de manejar estos displays. Estos IC's son decodificadores, específicamente los conocidos como decodificadores de BCD a 7 segmentos, como son los casos de los IC 7446, 7447 y 7448 de la familia TTL. El 7446 y 7447 tienen salidas con lógica negativa por lo que enviarán un cero al segmento que se desea encender. Esto quiere decir que manejan Displays 7 segmentos de ánodo común. Ambos son Open Collector (bueno para el m anejo de corriente necesario en algunos casos) y se diferencian únicamente en la salida que pueden manejar (30v para el 7446 y 15v para el 7447). Nuestros circuitos generalmente estarán construidos con tecnología TTL a 5V y por ello lo más seguro es que empleemos el 7447. En el caso del 7448 las salidas son de lógica positiva por lo que son usados con los dispositivos cátodo común. Todos comparten una característica: esperan a la entrada un número en BCD y es para cada una de ellas que desplegarán el dígito decimal correspondiente. Pero aún así, estos IC tienen respuestas para otras combinaciones a la entrada distintas de BCD. En el siguiente dibujo se muestran las salidas refl ejadas en los display de 7 segmentos para todas las combinaciones binarias de 4 bits posibles:
6
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
Aparte de los dígitos decimales, se ven las salidas para cuando el decodificador tiene entrada de 1010, 1011, 1100, 1101, 1110 y 1111. Este último caso apaga todos los segmentos y por ello no se ve nada. A continuación se muestra una implementación típica usada para la prueba de los display de 7 segmentos:
7
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
El display mostrará el dígito decimal que corresponda con el número binario seleccionado por los interruptores 1, 2, 3 y 4 del dip switch. En esta configuración se ve que las resistencias delimitadoras de corriente se colocan en el ánodo común (sabemos que son ánodo común por el uso del 7447) pero dependiendo de la implementación, e incluso a veces del display, en algunos casos pueden requerirse el uso de una resistencia por cada segmento y la conexión directa de los ánodos a Vcc. Códigos Binarios
Un código binario es cualquier código formado por dos símbolos que pueden ser combinados para codificar información. Por lo general, los dos símbolos empleados son el 0 y el 1. Sin embargo, podría usarse cualquier par de símbolos. A cada uno de los dígitos (dígitos binarios) que forman las combinaciones del código se l os denomina bits. Código b inario ; El código binario natural (más conocido simplemente como código
binario) se corresponde con el sistema de numeración binario. En él se dispone de dos símbolos con los que se pueden representar infinitas combinaciones numéricas que tienen su equivalente decimal. Los símbolos que se usan son el 0 y el 1. Decimal cod ificado en binario (BCD); Existen miles y miles de millones de maneras
diferentes para elegir 10 palabras de código de 4 bits; sin embargo, la tabla se muestra los códigos decimales más comunes.
Quizás el código decimal más “común” sea el decimal codificado en binario (BCD), el cual codifica los dígitos del 0 al 9 mediante sus representaciones binarias sin signo de 4 bits, desde 0000 hasta 1001. Las palabras de código restantes, de 1010 a 1111, no se utilizan. Las conversiones entre las representaciones BCD y decimal son triviales, implican la sustitución directa de cuatro bits por cada dígito decimal. Algunos programas de computadora colocan dos dígitos BCD en un byte de 8 bits en la representación BCD empaquetada; así, un byte puede representar los valores desde 0 hasta 99 en oposición al intervalo de 0 a 255 para un número binario normal de 8 bits sin signo. 8
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
Existen muchas representaciones posibles de los números BCD negativos. Los números BCD con signo tienen una posición de dígito extra para el signo. En BCD de magnitud con signo, la codificación de la cadena de bit de signo es arbitraria; en el complemento de 10, el dato 0000 indica el signo más y 1001 indica el signo menos.
C ód i g o p o n d e r ad o ; El decimal codificado en binario BCD es un código ponderado,
puesto que cada dígito decimal puede obtenerse a partir de su palabra de código asignando un peso fijo a cada bit de palabra de código. Los pesos para los bits BCD son 8, 4, 2 y 1, y por esta razón el código se denomina en ocasiones código 8421.
Código 2421 ; Otro conjunto de pesos da como resultado el código 2421 que se indica en
la tabla. Este código tiene la ventaja de que es autocomplementado, es decir, se puede obtener la palabra de código para el complemento a nueve de cualquier dígito al complementar los bits individuales de la palabra de código del dígito.
Código de exceso 3 ; La tabla muestra otro código autocomplementado, el código de
exceso 3. Aunque este código no está ponderado, tiene una relación aritmética con el código BCD (la palabra de código para cada dígito decimal es la correspondiente palabra de código BCD más 00112). Como las palabras del código siguen una secuencia de conteo binaria estándar, pueden hacerse fácilmente contadores binarios estándar para contar en el código de exceso 3.
C ód i g o b i q u i n a r i o ;
Los códigos decimales pueden tener más de cuatro bits; por
ejemplo, el código biquinario de la tabla utiliza siete. Los primeros dos bits en una palabra de código indican si el número se encuentra en el intervalo 0-4 o 5-9, mientras que los
9
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
cinco últimos indican cuál de los cinco números en el intervalo seleccionado está representado. Una ventaja potencial que se obtiene al utilizar más del número mínimo de bits en un código es la propiedad de detección de errores. En el código biquinario, si cualquier bit en una palabra de código se cambia accidentalmente al valor opuesto, la palabra de código resultante no representará un dígito decimal y por consiguiente se puede señalar como un error.
Código 1 d e 10;
Un código 1 de 10, tal como el que se muestra en la última columna de
la tabla, es la codificación más escasa para dígitos decimales, utilizando 10 de 1024 posibles palabras de código de 10 bits.
10
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
Código Gray;
Un importante número de dispositivos indican posiciones abriendo y
cerrando interruptores. Utilizando tres interruptores como entradas usando sistema binario natural, estas dos posiciones estarían una después de la ot ra: ... 011 100 11
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
... El problema con el código binario natural es que con interruptores mecánicos, es realmente difícil que todos los interruptores cambien al mismo tiempo. En la transición de los dos estados mostrados arriba, tres interruptores (o bits) cambian de sitio. En el lapso en el que los interruptores están cambiando, se pueden presentar salidas de información espurias. Si las salidas mencionadas alimentan un circuito secuencial, probablemente el sistema presentará un error en entrada de datos. El código de Gray (o binario reflejado) resuelve este problema cambiando solamente un switch a la vez, así que nunca existe una ambigüedad en posiciones. Nótese que desde el 7 se podría pasar a 0 con un solo cambio de bit (el más significativo pasa a cero). Esta es la propiedad llamada "cíclica" del código de Gray.
Binario a Gray;
Una técnica sencilla para pasar de binario a Gray sin usar un lenguaje
de programación es esta: 1. aplicar un XOR (disyunción exclusiva, también se puede sumar cada bit individualmente descartando cualquier acarreo) del número a sí mismo pero con un acarreo a la derecha 12
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
2. eliminar el bit del extremo derecho 3. Los acarreos tienen que descartarse Ej: Pasar diez (1010) de binario a gray será 1111 1010 101 ----1111 Otro Ejemplo 111000 11100 -----100100
Gray a Binario ;
Hacer el cambio contrario es simplemente invertir lo que hace el
anterior, de forma que si se encuentra un cero (siempre que no sea al principio) se debe poner la cifra anterior; En cambio si se coloca un 1 es porque la cifra ha cambiado así que si había un 0 ahora se colocará un 1 y viceversa. O también: 1. El primer dígito del código Gray será el mismo que el del bi nario 2. Si el segundo dígito del código Gray es "0", el segundo dígito binario es igual al primer digito binario, si este dígito es "1" el segundo dígito binario es el inverso del primer dígito binario.
13
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
3. Si el tercer dígito del código Gray es "0", el tercer dígito binario es igual al segundo dígito binario, si este dígito es "1", el tercer dígito binario es el inverso del segundo dígito binario y así hasta terminar. U n a s u m a d e v e r if i c ac i ón o c h e c k s u m ;
es una forma de control de redundancia, una
medida muy simple para proteger la integridad de datos, verificando que no hayan sido corrompidos. Es empleado para comunicaciones (internet, comunicación de dispositivos, etc.) tanto como para datos almacenados (archivos compresos, discos portátiles, etc.). El proceso consiste en sumar cada uno de los componentes básicos de un sistema (generalmente cada byte) y almacenar el valor del resultado. Posteriormente se realiza el mismo procedimiento y se compara el resultado con el valor almacenado. Si ambas sumas concuerdan se asume que los datos probablemente no han sido corrompidos. La forma más simple de checksum no detecta una variedad de corrupciones; particularmente no cambiará si: Se cambia el orden de los bytes de la información. Se agregan o eliminan bytes de valor igual a cero. Múltiples errores que se cancelan unos con otros.
Los tipos de control de redundancia más sofisticados, incluyendo el checksum de fletcher, Adler-32 y el co ntro l d e redu nd ancia cíclica (CRC ) son diseñados para tratar estas deficiencias considerando no sólo el valor de cada byte sino también el de su posición. El costo de la capacidad de detectar más tipos de error aumenta junto con la complejidad del algoritmo de comprobación.
14
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
CODIGOS DIGITALES
CODIGO 7421
CODIGO 5421
CODIGO 5211
CODIGO 2421
Nº
7
4
2
1
Nº
5
4
2
1
Nº
7
4
2
1
Nº
2
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
0
0
0
1
2
0
0
1
0
2
0
0
1
0
2
0
1
0
0
2
0
0
1
0
3
0
0
1
1
3
0
0
1
1
3
0
1
1
0
3
0
0
1
1
4
0
1
0
0
4
0
1
0
0
4
0
1
1
1
4
0
1
0
0
5
0
1
0
1
5
1
0
0
0
5
1
0
0
0
5
1
0
1
1
6
0
1
1
0
6
1
0
0
1
6
1
0
0
1
6
1
1
0
0
7
1
0
0
0
7
1
0
1
0
7
1
0
1
1
7
1
1
0
1
8
1
0
0
1
8
1
0
1
1
8
1
1
1
0
8
1
1
1
0
9
1
0
1
0
9
1
1
0
0
9
1
1
1
1
9
1
1
1
1
CODIGO BCD
CODIGO EXCESO 3
CODIGO 3 EX GRAY
CODIGO GRAY
Nº
Nº
Nº
8
4
2
1
Nº
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
2
0
0
1
0
2
0
1
0
1
2
0
1
1
1
2
0
0
1
1
3
0
0
1
1
3
0
1
1
0
3
0
1
0
1
3
0
0
1
0
4
0
1
0
0
4
0
1
1
1
4
0
1
0
0
4
0
1
1
0
5
0
1
0
1
5
1
0
0
0
5
1
1
0
0
5
0
1
1
1
6
0
1
1
0
6
1
0
0
1
6
1
1
0
1
6
0
1
0
1
7
0
1
1
1
7
1
0
1
0
7
1
1
1
1
7
0
1
0
0
8
1
0
0
0
8
1
0
1
1
8
1
1
1
0
8
1
1
0
0
9
1
0
0
1
9
1
1
0
0
9
1
0
1
0
9
1
1
0
1
15
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
CODIGO JOHNSON
CODIGO 2 ENTRE 5
CODIGO BIQUINARIO
Nº
Nº
Nº
5
0
4
3
2
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
2
0
0
0
1
1
2
1
0
1
0
0
2
0
1
0
0
1
0
0
3
0
0
1
1
1
3
1
0
0
1
0
3
0
1
0
1
0
0
0
4
0
1
1
1
1
4
0
1
0
1
0
4
0
1
1
0
0
0
0
5
1
1
1
1
1
5
0
0
1
1
0
5
1
0
0
0
0
0
1
6
1
1
1
1
0
6
1
0
0
0
1
6
1
0
0
0
0
1
0
7
1
1
1
0
0
7
0
1
0
0
1
7
1
0
0
0
1
0
0
8
1
1
0
0
0
8
0
0
1
0
1
8
1
0
0
1
0
0
0
9
1
0
0
0
0
9
0
0
0
1
1
9
1
0
1
0
0
0
0
3.- Practica en Laboratorio Grupo: Jueves 10:00 a 12:00 a) Implementar con circuitos MSI un decodificador de 4 a 7 segmentos para visualizar el conteo de números de 0 al 66. Utilizar displays de 7 segmentos (anodo común) b) Diseñar un decodificador BCD a 7 segmentos, con conexión a cátodo común el display deberá mostrar los números del 9 al 0. c) Diseñar con circuitos de mediana escala de integración, un sistema de seguridad para una caja fuerte, en el cual el password o dato a ser introducido sea en código decimal y el código para que realice la apertura de la caja fuerte sea en código 5421. El código debe tener al menos 4 digitos. La caja fuerte solo se activará con código par. d) Diseñar un decodificador decimal a biquinario.
16
UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE ELECTRONICA DIGITAL 1 (ELT 2680) _____________________________________________________________________________
Grupo: Jueves 10:00 a 12:00 a) Implementar
con
circuitos
MSI un decodificador
visualizar con dip switchs el conteo de
números
de
3
a 7 segmentos
de 0 al 80. Utilizar
para
display de
7
segmentos (catodo común). b) Diseñar un decodificador hexadecimal a 7 segmentos, con conexión a catodo común, el display deberá mostrar los números del F al 0. c) Diseñar con circuitos de mediana escala de integración, un sistema de seguridad para una caja fuerte, en el cual el password o dato a ser introducido sea en código digital y el código para que realice la apertura de la caja fuerte sea en código 2421. El código debe tener al menos 4 dígitos. La caja fuerte solo se activará con código par. d) Diseñar un decodificador decimal a Jhonnson.
17