UNIVERSIDAD DE EL SALVADOR
FACULTAD DE INGENIERIA Y ARQUITECTURA ESCUELA DE INGENIERIA ELECTRICA SISTEMAS DIGITALES II
CONVERTIDOR DE CODIGOS BCD A 8421
CATEDRATICO: ING. SALVADOR GERMAN
INTEGRANTES:
CARNET
CORNEJO AYALA, JOSE GUILLERMO
CA10058
VASQUEZ PORTILLO, EVER ATILIO
VP10009
1
INDICE
INTRODUCCION……………………………………………………………3
OBJETIVOS………………………………………………………………….4
1. MARCO TEORICO…………………………...……………………….…5
2.DISEÑO DEL CIRCUITO……………………………….……………..…8
3. SIMULACION DEL CIRCUITO………………………………..………15
4. EJECUCION DEL CIRCUITO…………………………………………17
5. RECOMENDACIONES…………………………………………………23
6. CONCLUSIONES………………………………………………………24
7. RECOMENDACIONES ……………………………………………..….25
2
INTRODUCCION En conocimiento del funcionamiento de las compuertas básicas de los sistemas lógicos digitales, y de los circuitos integrados (IC), estudiados en el asignatura previa a esta, ahora nos enfrentamos a un problema de diseño donde aplicaremos los conceptos teóricos y la lógica adquirida mediante el estudio teórico de los sistemas digitales y los conjuntaremos con la práctica y herramientas computacionales de simulación de circuitos. Este reporte contiene el diseño, simulación, y ejecución de un convertidor de códigos BCD 2421, 5421, 7421, exceso 3 a 8421( binario natural); partiremos de una investigación general sobre convertidores de código, con la intención de aprender conceptos útiles a la hora de la resolución del ejercicio que se nos ha propuesto resolver, para inmediatamente pasar a la resolución del problema detallando cada paso del diseño del circuito a ejecutarLuego de tener el diseño del convertidor de código correspondiente, la manera más rápida y eficiente de saber si obtendremos los resultados esperados es utilizando un simulador de circuitos en tiempo real, por lo cual se ha utilizado el Software TINA como herramienta útil en la comprobación de un circuito lógico digital; posterior a la simulación se ha proseguido a la ejecución del circuito por lo cual en este reporte se hace una descripción de los elementos utilizados para dicha gesta, para después mostrar el circuito ya armado el cual se defenderá ante el docente. Como parte final del reporte se hacen una serie de observaciones que como equipo de trabajo nos gustaría compartir para futuros estudios sobre el tema en cuestión, para pasar finalmente a las conclusiones elaboradas que sintetizan en cierta manera lo aprendido con la teoría y práctica sobre convertidores de códigos BCD.
3
OBJETIVOS
OBJETIVO GENERAL:
Desarrollar el diseño, simulación y ejecución de un convertidor de códigos BCD a 8421.
OBJETIVOS ESPECIFICOS:
Simular correctamente el convertidor de códigos BCD a 8421. Aprender la correcta utilización de las compuertas lógicas básicas y los circuitos integrados. Aprender el uso de la breadboard y los circuitos integrados concernientes.
4
1. MARCO TEORICO 1.1. SOBRE CONVERSORES DE CODIGO: Un conversor de código puede hacerse simplemente conectando un decodificador a un codificador. Por ejemplo, podemos imaginar un decodificador de binario natural BCD, es decir, un descodificador con 4 entradas y 16 salidas de las que utilizamos 10 (las correspondientes a las combinaciones binarias en BCD de los dígitos decimales desde el 0 hasta el 9. Estas 10 salidas las conectamos a las entradas de un codificador de código binario Gray, el cuál tendrá 4 salidas. Acabamos de hacer un conversor de código de BCD natural a binario Gray. En resumen, se puede decir que un conversor de código es un elemento lógico que traduce una palabra de "n" bits a otra de "m" bits las cuales se refieren al mismo valor decimal, pero en "distintos códigos". En el ejemplo anterior los códigos son el binario natural y el Gray. Los conversores de código son circuitos combinacionales cuya función es cambiar los datos de un código binario a otro, esto es así porque para determinadas operaciones de transmisión y procesamiento de información son más eficaces unos códigos que otros. Se suelen implementar mediante dispositivos lógicos programables. Vamos a ver un ejemplo de un cambiador de código de BCD (8421) a binario exceso 3. La tabla de verdad será:
5
Las funciones canónicas serían:
Los dispositivos digitales pueden procesar solamente los bits "1" y "0" . Estas largas cadenas de 1 y 0 son difíciles de comprender por las personas. Por esta razón se necesitan los conversores de códigos para traducir el lenguaje de la gente al lenguaje de la máquina. Otro ejemplo de conversor de código es una sencilla calculadora manual, la cual esta constituida por un dispositivo de entrada llamado teclado. Entre el teclado y la unidad central de tratamiento "CPU" hay un codificador, que traduce el numero decimal pulsado en el teclado a código binario. La "CPU" realiza su operación en binario y produce un resultado en código binario. El decodificador traduce el código binario de la CPU a un código especial que hacen que luzcan los segmentos adecuados en el visualizador de siete segmentos.
1.2. SOBRE TINA: Dentro de los diferentes análisis que ofrece TINA se encuentran:
6
1. Análisis DC (corriente continua). 2. Análisis AC (corriente alterna). 3. Respuesta en el tiempo (Transient). 4. Respuesta en frecuencia. 5. Análisis de ruido. 6. Punto de operación. La mayor funcionalidad que tiene TINA es que permite de manera gráfica poder representar circuitos eléctricos dedistintos grados de complejidad. Esto se debe al subprograma Schematics Editor el cual permite representar visualmente los circuitos eléctricos (lo que es un gran avance ya que antes del Schematics, los programas de simulación de circuitos eléctricos se manejaban mediante códigos y algoritmos
.
7
2. DISEÑO DEL CIRCUITO ASIGNACION : Diseñar, simular e implementar un convertidor de códigos BCD de 2421, 5421, 7421 y exceso-3 a 8421.
SOLUCION:
PASO1: METODO A UTILIZAR Este circuito podría diseñarse utilizando solo compuertas básicas, sin embargo como lo hemos estudiado en clases el método más apropiado es utilizando un sumador binario de cuatro bits 7483 y compuertas básicas.
PASO2: TABLA DE VERDAD Necesitamos realizar cuatro trabajos con el mismo circuito, por lo cual necesitaremos dos variables de control que denominaremos A y B con la configuración siguiente para cada tarea: A 0 0 1 1
B 0 1 0 1
TRABAJOS Convierte de 2421 a 8421 Convierte de 5421 a 8421 Convierte de 7421 a 8421 Convierte de exceso-3 a 8421
Luego se ha elaborado la tabla de verdad denominando las entradas del código fuente C, D, E y F; las variables del circuito corrector W, X, Y, y Z; y las del código destino ∑ 1, ∑2, ∑3, ∑4.
# 0
A 0
B 0
C 0
D 0
E 0
F 0
W 0
X 0
Y 0
Z 0
∑1
∑2
∑3
∑4
0
0
0
0 8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1
0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 0 0 0 0 0
1 1 1 0 0 0 0 0 0 1
0 1 1 0 0 0 0 1 1 0
1 0 1 0 1 0 0 0 1 0
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
0 0 0 1 1
1 1 1 0 0
0 1 1 0 0
1 0 1 0 1
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 1 1 1
0 0 1 1 0 0 1
0 1 0 1 0 1 0 9
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 1 1
1 1 1
1 1 1
1 1 1
0 1 1
1 0 0
1 0 0
1 0 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 1 1
0 0 0 0 1 1 1 1 0 0
0 0 1 1 0 0 1 1 0 0
0 1 0 1 0 1 0 1 0 1
PASO 3: SIMPLIFICACION Para simplificar una tabla de verdad hay distintos métodos entre ellos está el algebraico que puede ser quizás el más tedioso por lo cual está totalmente descartado, existe también el método de Quine-McCluskey que puede ser utilizado no importando el número de entradas, sin embargo utilizar este método para seis variables de entrada se puede tornar un tanto complicado, pero nos queda otra opción que es el
10
método por mapas Karnaugh, que puede ser utilizado para seis variables de entrada. Se ha utilizado para la simplificación el método por mapas Karnaugh, los mapas con sus respectivas ecuaciones son los siguientes: Para todo los mapas k presentados a continuación se ha tomado la columna del grey reflejado de tres bits del mapa como las entradas A, B, C y la fila del gray reflejado como C, D, y F. PARA W:
La ecuación resultante sería w = C + AB Para X
11
La ecuación seria X= AC + AB + BC Para Y
La ecuacion seria
̅
Para Z:
12
La ecuación seria Z = AC + AB + BC que es igual a la ecuación de X, por lo tanto W=Z.
PASO 4: DIBUJO BASICO DEL CIRCUITO Para tener una mayor claridad del circuito a realizar, se ha elaborado un circuito básico de este
13
14
3. SIMULACION DEL CIRCUITO
Para la simulación se utiliza el lenguaje TINA corriendo bajo la plataforma de Windows, y se creó una macro para realizar las funciones del 7448, el cual se encarga de convertir el código 8421 generado por las operaciones en el 7483 en 7 segmentos para después conectarlo a una Display de 7 segmentos de cátodo común, el código de este circuito es el siguiente:
ENTITY conv IS port( A, B, C, D t, u, v, w, x, y, z
: IN
BIT;
: OUT BIT);
END conv;
15
ARCHITECTURE arch_conv OF conv IS BEGIN t <= NOT(C OR A OR (B AND D) OR ((NOT B) AND (NOT D))); u <= NOT((NOT B) OR (C AND D) OR ((NOT C) AND (NOT D))); v <= NOT(B OR (NOT C) OR D); w <= NOT(A OR((C AND (NOT D)) OR ((NOT B) AND (NOT D))\ OR ((NOT B) AND C) OR (B AND (NOT C) AND D))); X <= NOT((((NOT B) AND (NOT D)) OR (C AND (NOT D)))); y <= NOT((((NOT C) AND (NOT D)) OR A OR ((B AND (NOT D)) OR \ (B AND (NOT C))))); z <= NOT(((B AND (NOT D)) OR (B AND (NOT C)) OR \ (C AND (NOT B))OR A));
END arch_conv;
16
4. EJECUCION DEL CIRCUITO 4,1. SELECCION DE DISPOSITIVOS A UTILIZAR Los dispositivos seleccionados son los que se han considerado los más convenientes, en cuanto a circuitos integrados se refiere al observar las ecuaciones para X y Z podemos observar que tiene en común la parte de la ecuación BC + AB, lo cual nos es de gran utilidad ya que así solo necesitaríamos una sola compuerta AND cuádruple 7408, además de necesitar el sumador binario 7483, también se necesita una compuerta OR en este caso elegimos una 7432 cuádruple, un inversor para nuestro caso escogeremos el 7404 séxtuple. Además necesitamos un convertidor de BCD a 7 segmentos, para nuestro caso elegiremos el 7448, y para adecuarse a el un display de cátodo común, en el cual conectaremos una resistencia de 1 k ohm; además utilizaremos 6 resistencias de 1 K ohm, para el interruptor de ocho pines y de 220 ohm para 6 diodos led que encenderán cuando su correspondiente entrada (A, B, C o D) se energice.
4.2. DESCRIPCION DISPOSITIVOS A UTILIZAR Para un mayor entendimiento de los dispositivos a utilizar se describen a continuación:
DES7404 Inversor séxtuplo:
17
Este dispositivo es el inversor lógico de una entrada, consta de 14 pines, de los cuales el # 7 se conecta a tierra y el 14 a Vcc, este circuito puede realizar 6 operaciones de inversión. En nuestro circuito, conectamos la pata 1 a la variable de control B, obteniendo en el pin 2 B negado, el cual conectamos al pin 4 del circuito AND.
7408 AND cuádruple:
Este dispositivo es la compuerta AND cuádruple de dos entradas, consta de 14 pines, de los cuales el # 7 se conecta a tierra y el 14 a Vcc, este circuito puede realizar 4 operaciones de multiplicación lógica. Esta compuerta la utilizamos para construir el circuito corrector que se sumara a las entradas de los diferentes códigos en el IC 7483 para poder convertirlos a 8421.
7432 OR cuádruple:
18
Este dispositivo es la compuerta OR cuádruple de dos entradas, consta de 14 pines, de los cuales el # 7 se conecta a tierra y el 14 a Vcc, este circuito es capaz de realizar 4 operaciones de suma lógica de dos bit. Para el conversor de códigos BCD a 8421 se utilizaron las compuertas OR en el circuito corrector que luego se suma a las entradas para hacia obtener 8421.
IC 7483 sumador binario de 4 bits:
19
Este dispositivo es el Full-Adder binario de cuatro bits, consta de 16 pines, el pin 5 se conecta a Vcc y el 12 a tierra. Cabe señalar que en nuestro circuito conectamos a tierra el acarreo de entrada (pin 13) para evitar divergencias en los resultados. Las entradas de las variables C D E F se conecta a los pines 16, 4, 7 y 11 respectivamente, mientras que los resultados del circuito corrector a los cuales nosotros hemos llamado W X Y Z, se conectan a los pines 1, 3, 8 y 10 respectivamente. Las salidas que posteriormente se conectaran al 7448 se obtienen de los pin 15 (la más significante), 2, 6 y 9 (menos significantes).
7448 conversor de BCD 8421 a 7 segmentos
Este circuito es el convertidor de binario BCD a 7 segmentos el cual se activa con salidas bajas y produce salidas activas bajas, consta de 16 pines, el 8 se conecta a tierra y el 16 a Vcc. La variable más significante de este dispositivo es la que se encuentra en el pin 6, que para nosotros es la suma 4, luego sigue el pin 2 que es la suma 3, después el pin 1 como suma 2 y por último la menos significante en el pin 7 que se conecta a nuestra suma 1. 20
Las salidas se encuentran desde el pin 15 hasta el 9 (f g a b c d e), las cuales se conectaran directamente al Display de 7 segmentos de cátodo común.
Display de 7 segmentos Cátodo común:
Luego de haber conectado todos los dispositivos anteriores solo falta representar los datos en una Display, en este caso utilizaremos la Display de 7 segmentos cátodo común, ya que como el 7448 produce salidas activas bajas, también el Display tiene que aceptar entradas bajas. Para conectar este dispositivo solo se conecta a tierra uno de los dos ánodos (ya que son comunes) con su debida resistencia, y las salidas a hasta g que se generaron con el 7448 se conectan tal y como lo indica la figura.
DIP switch de 8 pines:
21
Este es el switch que se utilizó para variar los valores de las variables. Tomamos el pin 1 como A, el pin 2 como B, el 3 como C, el 4 como D, el 5 como E y el 6 como F. En la parte del switch que dice ON, se conecta a Vcc y el lado contrario a tierra con su debida resistencia, así cuando se mueva el switch hacia arriba se activara el uno, y cuando no se quedara en tierra o sea 0.
4.3. CIRCUITO EJECUTADO Conociendo el correcto funcionamiento de los circuitos integrados y los dispositivos a utilizar se procedió finalmente a hacer las conexiones respectivas del circuito en la breadboard; obteniendo de esta manera el circuito que será presentado al docente:
22
5. OBSERVACIONES En base a la experiencia adquirida con la realización del convertidor de códigos BCD, se han hecho las siguientes observaciones:
Un aspecto importante a la hora de ejecución dek circuito es que debemos conocer de sobre manera la vreadboard en la que se esta trabajando; ya que en nuestro caso tuvimos problemas, porque el positivo de la breadboard solo conducia hasta la mitad y no energizaba a los otros componentes que estaban en la otra mitad, un simple puente soluciona esto.
Es importante conocer la configuración de pines de todos los circuitos integrados, para evitar dañarlos y ver frustrado el intento de la realización del circuito. Es de utilidad conectar diodos led a la salida de los interruptores para poder distinguir cuando entra la respectiva fase de alimentación del circuito, en nuestro caso colocamos diodos led rojos a las variables de control y verdes para las otras cuatro restantes entradas. El alambrado del circuito debe quedar lo más estético posible, ya que si en dado caso al haber terminado el circuito y no funciona es más fácil de encontrar donde se cometió el error.
23
6. CONCLUSIONES En base a lo aprendido el equipo de trabajo ha llegado a las siguientes conclusiones:
Si se va a trabajar con convertidores de código BCD 8421 a 7 segmentos, como el 7448 que utilizamos nosotros en esta ocasión, hay que tomar en cuenta adecuarlo a un display compatible; para el caso de 7448 el display que se adecua es el de cátodo común; pero si hubiéramos utilizado el 7447, tendríamos que haber utilizado un display de ánodo común, hay que estar consciente de esto. Al diseñar un convertidor de códigos BCD, hay que observar cuidadosamente las ecuaciones del circuito, para de esta manera utilizar el menor número de circuitos integrados, reduciendo de esta manera los gastos
Hay que tener precaución a la de conectar el sumador de 4 bits 7483, más cuando se refiere a la conexión del pin del acarreo de entrada, para en nuestro caso tenía que ir conectado a tierra ya que si no se hace eso estaría sumando un uno lógico, y por lo tanto no se obtendrían los resultados deseado. A la hora de diseñar un sistema lógico digital, hay que auxiliarse de simuladores en tiempo real, como el TINA en nuestro caso, ya que esos nos permite comprobar si el resultado del circuito elaborado es el esperado; posteriormente a la simulacion ya se esta listo para su respectiva ejecución.
24
7. BIBLIOGRAFIA
Análisis y diseño de circuitos lógicos digitales Victor P. Nelson
Sistemas digitales Tocci http://www.tina.com/Spanish/tina/
http://www.buenastareas.com/ensayos/Dise%C3%B1ar-UnCircuito-Convertidor-De-C%C3%B3digo/1770038.html
25