UASLP – FI Laboratorio de Sistemas Digitales Práctica 3 Práctica 3 Convertidores de códigos 3.1 Objetivo El alumno construirá un circuito convertidor de código y desplegará su resultado en un exhibidor de siete segmentos. 3.2 Antecedentes La información en un sistema digital se procesa mediante ‘0’ y ‘1’ que en un conjunto de bits forman un dato o palabra. Algunos sistemas realizan múltiples operaciones que frecuentemente el diseñador deberá sintetizar para minimizar el tiempo de procesamiento y espacio físico necesario para la implementación del circuito diseñado. Algunas de estas herramientas que se utilizan para el procesamiento de datos se basan en el manejo de diferentes códigos que permitan representar un número o hasta una cantidad de información relativamente grande en datos o palabras lógicas que sean de magnitud menor o que la interpretación de resultados sea comprensible no solo por la máquina sino también por el ser humano. Para procesar los datos y convertirlos a otro sistema codificado es necesario utilizar la salida de este sistema y conectarlo mediante una interfaz a otro sistema digital. En este caso, un circuito de conversión deberá situarse como interfaz entre dos o más sistemas, el cual servirá de intérprete o traductor si cada uno de los sistemas interconectados por la interfaz maneja diferentes códigos para procesar la misma información. Se puede decir que un código es un uso sistemático y estandarizado de un conjunto de símbolos que sirven para representar información. La codificación por su parte es cuando números, letras o palabras se representan por medio de un grupo especial de símbolos. 3.3 Códigos en los sistemas digitales Código BCD (Código Decimal a Binario): Este código representa un número decimal a su equivalente en binario. Código Exceso 3: se relaciona con el BCD y en algunas ocasiones se utiliza en su lugar debido a que posee ciertas ventajas en operaciones aritméticas. Ejemplo de ellas son las operaciones con punto flotante. Código Gray: es un código sin valor, es decir las posiciones de los bits en los grupos de código no tienen ningún valor específico. Debido a esto, el código no se ajusta a las operaciones aritméticas. Este tipo de código se emplea en dispositivos de entrada/salida como lo son algunos tipos de convertidores analógicos a digitales (ADC). La tabla 3.1 muestra la representación de cada uno de los códigos anteriormente tratados. 3.3.1 Conversión entre códigos Un convertidor de código es un circuito lógico que hace compatibles dos sistemas a pesar de que ambos trabajen con diferente código digital. Para realizar la conversión de un código A a un código B, las líneas de entrada deben dar una combinación de bits de los elementos, tal como se especifica por el código A y las líneas de salida deben 2 UASLP – FI Laboratorio de Sistemas Digitales Práctica 3 generar la correspondiente combinación de bits del código B. Tabla 3.1 Representación de los códigos BCD, Exceso 3 y Gray respecto a su equivalente en decimal. Decimal 0 1 2 3 4 5 6 7 8 9 Código BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Código Exceso 3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Código Gray 0000 0001 0011 0010 0110 0111 0101 0100 1000 1001 Un circuito combinacional realiza esta trasformación por medio de compuertas lógicas. El procedimiento de diseño de los convertidores de código se ilustra mediante un ejemplo específico de conversión de BCD a código de exceso 3. La numeración en BCD y el exceso 3 se enlistan en la Tabla 3.1. Como cada código usa cuatro bits para representar un dígito decimal, debe haber cuatro variables de entrada y cuatro variables de salida. Es conveniente designar las cuatro variables binarias de entrada mediante los símbolos A, B, C y D y las cuatro variables de salida con w, x, y, y z. La tabla de verdad que relaciona las variables de entrada y salida se muestran en la Tabla 3.2. Tabla 5.2 Tabla de verdad de un convertidor de código de BCD a exceso 3. A 0 0 0 0 0 0 0 0 1 1 Entrada (BCD) B C D 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 Salida (Código Exceso 3) w x y z 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 Las combinaciones de bits para las entradas y sus correspondientes salidas se obtienen directamente de la Tabla 3.1. Es necesario mencionar que en un sistema con cuatro variables lógicas se tienen 16 combinaciones de bits de las cuales solamente se enlistan 10 en la tabla de verdad. Las seis combinaciones de bits restantes para las variables de entrada dan como resultado una salida que no importa “don´t care”. Como ellas nunca ocurren, se tiene la libertad de asignar “X” o “d”, a las variables de salida. De esta forma, el circuito resultante será más simple. El uso de mapas de K se utiliza para encontrar cada una de las ecuaciones lógicas que corresponde a cada una de las salidas. En este ejemplo se obtienen cuatro mapas K correspondientes a las cuatro salidas de este circuito como función de las cuatro variables de entrada. 3 UASLP – FI Laboratorio de Sistemas Digitales Práctica 3 bd cd a b 00 00 01 0 0 0 01 0 1 a x 10 1 x 1 1 8 x 9 x 10 x 15 1 8 Mapa K para la variable de salida w 6 x 13 bc 0 7 x 0 2 0 5 12 bcd10 1 3 0 x 11 14 11 1 4 x 15 10 1 1 01 6 11 1 0 1 x 01 0 00 2 7 13 bc 0 3 5 12 10 0 1 4 11 11 bd cd a b 00 14 x 9 x 11 10 Mapa K para la variable de salida x cd d cd a b 00 00 01 1 0 0 01 1 0 x cd 10 1 x 6 x 15 x 9 2 7 13 0 8 Mapa K para la variable de salida y 0 x 1 1 3 5 12 10 0 1 4 11 11 14 x 11 10 Mapa K para la variable de salida z Las expresiones obtenidas de los mapas K y el circuito basado en compuertas lógicas se muestran a continuación. B C D A B C D w B w = a + bc + bd C x = bc + bd + bcd D y = cd + cd ó y =c⊕d x z=d y z Figura 3.1 Implementación de la conversión de código BCD a exceso 3. 4 UASLP – FI Laboratorio de Sistemas Digitales Vcc=5V Vcc=5V b a 1K Vcc=5V c 1K d 1K Vcc=5V 1 Vcc 13 3 14 4 11 5 10 6 9 7 GND 8 1 2 Vcc 14 13 3 14 08 LS 74 4 10 6 9 7 GND 8 2 Vcc 14 13 3 14 32 LS 74 4 330 11 5 1 x 14 2 04 LS 74 1K Vcc=5V Práctica 3 11 5 10 6 9 7 GND 8 Figura 3.2 Implementación en compuertas para la ecuación de la variable de salida “x” (conversión de código BCD a exceso 3). 3.3.2 Decodificador Un decodificador identifica, reconoce o bien detecta un código específico. Un decodificador acepta un código de N bits y produce un estado alto (1) o bajo (0), en una y sólo una línea de salida. En la figura 3.2 se muestra el diagrama general del decodificador con N entradas y M salidas. Ya que cada una de las N entradas puede ser 0 o bien 1, hay 2N posibles combinaciones o códigos de entrada. 5 UASLP – FI Laboratorio de Sistemas Digitales O0 O1 O2 A0 A1 A2 N Entradas Práctica 3 M Salidas Decodificador AN-1 2N Combinaciones de entrada ON-1 Únicamente una salida es activa para cada código de entrada Figura 3.3 Diagrama del decodificador. Tanto las entradas como las salidas, pueden ser: • Activas a Nivel Alto: La salida activa es 1 y la no activa 0. • Activas a Nivel Bajo: La salida activa es 0 y la no activa es 1. • Además él número de entradas de habilitación puede ser de uno o más, y pueden estar activas en nivel alto o bajo. Los decodificadores se utilizan siempre que una salida o grupo de salidas se activan solamente en la incidencia de un código de entrada único. 3.3.3 Decodificadores y conductores de BCD a 7 segmentos El decodificador BCD a 7 segmentos es un circuito combinacional que permite un código BCD en sus entradas y en sus salidas se obtiene un código que activa un exhibidor (display) de 7 segmentos, dependiendo del código le corresponde un dígito decimal. Ver anexo A “Identificación del decodificador”. 3.3.4 Exhibidores de Siete segmentos El display está formado por un conjunto de 7 diodos LED conectados en un punto común en su salida. Cuando la salida es común en los ánodos, al display se le conoce como display de ánodo común y sí la salida es común en los cátodos, se denomina al display de cátodo común. La Figura 3.3 se muestra un decodificador e impulsor de BCD a 7 segmentos en conexión ánodo común. Display de ánodo común: En este caso todos los ánodos de los diodos LED se encuentran unidos y conectados a la fuente de alimentación Vcc (ejemplo 5 volts). Para activar cualquier elemento hay que conectar físicamente el cátodo del dispositivo a tierra mediante una resistencia para limitar la corriente que pasa por el display Display de cátodo común: Para el display cátodo común tiene todos los ánodos de los diodos LED unidos y conectados a tierra. Para activar un segmento de éstos se debe conectar el ánodo del segmento a la tensión de la fuente Vcc (5 volts). 6 UASLP – FI Laboratorio de Sistemas Digitales Práctica 3 +Vcc Entrada BCD D C B Conexiones con ánodo común a a b Decodificador BCD A 7 codigo de segmentos 7446 o 7447 c f b g d e f A e c g d Cada segmento contiene uno o dos LED´s Figura 3.4 Decodificador e impulsor de BCD a 7 segmentos. 3.4 Desarrollo de la práctica • • • • Diseñe un circuito para efectuar la conversión del código Gray al código BCD. Utilice las tablas 3.1, 3.2 y mediante mapas K obtenga las ecuaciones del sistema. Simule el circuito con el programa CircuitMaker o Electronic Workbench. Arme el circuito convertidor de código y también incorpore a su salida el decodificador BCD a 7 segmentos y despliegue los resultados en display Nota: auxiliarse del anexo A “Identificación del decodificador”. Anote sus conclusiones y responda el siguiente cuestionario. 3.5 Material requerido Material Cantidad 1 2 1 4 4 1 1 1 Elemento Fuente de 5 VCD Tablilla de conexiones Interruptor DIP Diodo LED Resistencias 1KΩ 74LS47 Display 74LS00 Descripción Fuente de alimentación Para circuitos integrados 4 entradas de cambio deslizable Estándar Para proteger el circuito de un corto circuito Decodificador de siete segmentos salidas altas Ánodo común Circuito integrado NAND de dos entradas Equipo Cantidad Elemento Descripción 1 Unidad de cómputo Equipada con el programa CircuitMaker y/o Electronics Workbench. 1 Probador lógico de CI Utilidad opcional para comprobar estado de los CI 3.6 Conclusiones y observaciones 7 UASLP – FI Laboratorio de Sistemas Digitales Práctica 3 3.7 Cuestionario 1.- ¿Qué tipo de decodificador se debe elegir en caso de utilizar un display de cátodo común? 2.- Diseñe un circuito para realizar la conversión de código BCD a Exceso 3 y simule el circuito obtenido en cualquiera de los programas de simulación “CircuitMaker o Electronic Workbench”. 3.- Investigar a) ¿qué es un código alfanumérico y dónde se emplea? b) la hoja de datos de un circuito sumador de 4 bits de la familia TTL. Nota: Anexar la simulación del circuito solicitado. 8