conversor de codigos
TRANSCRIPT
1
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
2
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
3
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 ejecutar-
Luego 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.
4
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.
5
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á:
6
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:
7
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
.
8
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 B TRABAJOS
0 0 Convierte de 2421 a 8421
0 1 Convierte de 5421 a 8421
1 0 Convierte de 7421 a 8421
1 1 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.
# A B C D E F W X Y Z ∑1 ∑2 ∑3 ∑4
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9
1 0 0 0 0 0 1 0 0 0 0 0 0 0 1
2 0 0 0 0 1 0 0 0 0 0 0 0 1 0
3 0 0 0 0 1 1 0 0 0 0 0 0 1 1
4 0 0 0 1 0 0 0 0 0 0 0 1 0 0
5 0 0 0 1 0 1
6 0 0 0 1 1 0
7 0 0 0 1 1 1
8 0 0 1 0 0 0
9 0 0 1 0 0 1
10 0 0 1 0 1 0
11 0 0 1 0 1 1 1 0 1 0 0 1 0 1
12 0 0 1 1 0 0 1 0 1 0 0 1 1 0
13 0 0 1 1 0 1 1 0 1 0 0 1 1 1
14 0 0 1 1 1 0 1 0 1 0 1 0 0 0
15 0 0 1 1 1 1 1 0 1 0 1 0 0 1
16 0 1 0 0 0 0 0 0 0 0 0 0 0 0
17 0 1 0 0 0 1 0 0 0 0 0 0 0 0
18 0 1 0 0 1 0 0 0 0 0 0 0 1 0
19 0 1 0 0 1 1 0 0 0 0 0 0 1 1
20 0 1 0 1 0 0 0 0 0 0 0 1 0 0
21 0 1 0 1 0 1
22 0 1 0 1 1 0
23 0 1 0 1 1 1
24 0 1 1 0 0 0 1 1 0 1 0 1 0 1
25 0 1 1 0 0 1 1 1 0 1 0 1 1 0
26 0 1 1 0 1 0 1 1 0 1 0 1 1 1
27 0 1 1 0 1 1 1 1 0 1 1 0 0 0
28 0 1 1 1 0 0 1 1 0 1 1 0 0 1
29 0 1 1 1 0 1
30 0 1 1 1 1 0
31 0 1 1 1 1 1
32 1 0 0 0 0 0 0 0 0 0 0 0 0 0
33 1 0 0 0 0 1 0 0 0 0 0 0 0 1
34 1 0 0 0 1 0 0 0 0 0 0 0 1 0
35 1 0 0 0 1 1 0 0 0 0 0 0 1 1
36 1 0 0 1 0 0 0 0 0 0 0 1 0 0
37 1 0 0 1 0 1 0 0 0 0 0 1 0 1
38 1 0 0 1 1 0 0 0 0 0 0 1 1 0
10
39 1 0 0 1 1 1
40 1 0 1 0 0 0 1 1 1 1 0 1 1 1
41 1 0 1 0 0 1 1 1 1 1 1 0 0 0
42 1 0 1 0 1 0 1 1 1 1 1 0 0 1
43 1 0 1 0 1 1
44 1 0 1 1 0 0
45 1 0 1 1 0 1
46 1 0 1 1 1 0
47 1 0 1 1 1 1
48 1 1 0 0 0 0
49 1 1 0 0 0 1
50 1 1 0 0 1 0
51 1 1 0 0 1 1 1 1 0 1 0 0 0 0
52 1 1 0 1 0 0 1 1 0 1 0 0 0 1
53 1 1 0 1 0 1 1 1 0 1 0 0 1 0
54 1 1 0 1 1 0 1 1 0 1 0 0 1 1
55 1 1 0 1 1 1 1 1 0 1 0 1 0 0
56 1 1 1 0 0 0 1 1 0 1 0 1 0 1
57 1 1 1 0 0 1 1 1 0 1 0 1 1 0
58 1 1 1 0 1 0 1 1 0 1 0 1 1 1
59 1 1 1 0 1 1 1 1 0 1 1 0 0 0
60 1 1 1 1 0 0 1 1 0 1 1 0 0 1
61 1 1 1 1 0 1
62 1 1 1 1 1 0
63 1 1 1 1 1 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
11
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
12
La ecuación seria X= AC + AB + BC
Para Y
La ecuacion seria ̅
Para Z:
13
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
14
15
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 : IN BIT;
t, u, v, w, x, y, z : OUT BIT);
END conv;
16
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;
17
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:
18
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:
19
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:
20
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.
21
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:
22
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:
23
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.
24
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.
25
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-Un-
Circuito-Convertidor-De-C%C3%B3digo/1770038.html