martes, 30 de junio de 2020

Laboratorios Electrónica Digital. Practica 9 Universidad Distrital Francisco Jose de Caldas, Junio 2020
Practica 9. Expansión de Shannon y Compuertas Universales
Luis Ángel Armijo Castillo Cod. 20182007020
Grupo 743

Abstract - In this practice, we will use the Shannon expansion, this allows us to represent any function using multiplexers and gates, we will also use the universal NAND/NOR gates to create a 6-bit adder/subtractor.
Resumen - En esta práctica se hará uso de la expansión de Shannon, esta permite representar cualquier función mediante multiplexores y compuertas, también se hará uso de las compuertas universales NAND/NOR para crear un sumador/restador de 6 bits.
1. Objetivos
A. General
Implementar un sumador/restador de 6 bits con visualización dinámica.
B. Específicos
  • Implementar un Mux 4 a 1 con compuertas NAND.
  • Implementar un Mux 16 a 1 con Mux 4 a 1.
  • Construir un sumador de 2 bits haciendo uso de un Mux 16 a 1.
  • Construir un sumador/restador de 6 bits con sumadores de 2 bits.
2. Materiales
  • Simulador Circuitverse.
3. Metodología
a. Usando compuertas NAND de dos entradas se crea un Mux 4 a 1 y con este un Mux 16 a 1.
b. Se crea un sumador de dos bits haciendo uso del teorema de Shannon.
c. Con tres sumadores de 2 bits, se hace uno de 6 bits.
d. Se hace un comparador de 6 bits, el cual servirá para determinar como se hace la resta.
e. Usando compuertas NOR y un Sumador de 6 bits se realiza un circuito Comp a 2.
f. Se ensamblan los elementos necesarios para obtener el sumador/restador.
El circuito obtenido se muestra a continuación:

4. Análisis
Lo que se puede ver es un circuito que realiza las tres operaciones posibles al mismo tiempo, estas son: Suma, resta con A>B, resta con A<B.
Para hacer solo la suma o solo la resta se hace uso del bit S/R el cual al ser '0' permite hacer una suma y al ser '0' hace la resta, estos conectados al enable de un comparador y del primer sumador de 6 bits. La salida del comparador me permite comparar cunado las dos cantidades a operar puedan dar como resultado un número negativo, entonces se crean dos sumadores y se hace la resta por complemento para ambos casos y el comparador habilita uno u otro sumador, siempre y cuando también se cumpla la condición de que el bit S/R este en '1', esto se logra facilmente con un par de compuertas AND y una negadora.
Finalmente, dado que las salidas de '1' solo puede venir de un sumador a la vez, se conectan las salidas de los 3 sumadores a compuertas OR de 3 entradas para que sin importar de donde sea los '1', siempre se muestre de manera correcta la respuesta de cualquier operación, el bit de signo es tomado directamente de la salida L del comparador de 6 bits. Ver vídeo.
5. Conclusiones
  • Se puede implementar cualquier circuito o compuerta usando únicamente compuertas NAND y/o NOR.
  • La operación de la resta debe ser implementada mediante la suma por complemento mediante el uso de axiomas, ya que es mas complejo implementarla de otra forma.
  • Se ´puede implementar cualquier función lógica usando multiplexores y compuertas negadoras.

domingo, 28 de junio de 2020

 Universidad Distrital Francisco Jose de Caldas, Junio 2020
Ejercicios Taller Primer Parcial
Luis Ángel Armijo Castillo Cod. 20182007020
EJERCICIOS
1. COMPUERTAS UNIVERSAL NAND
Se quiere implementar un sistema con dos luces de alarma (diodos LED) y tres sensores (entradas digitales). Llamaremos A y B a las luces de alarma, y x2, x1 y x0 a los sensores digitales. El sistema deberá funcionar de la siguiente manera:
  • La alarma A se dispara si se recibe señal del sensor x2 exclusivamente.
  • La alarma B se dispara si se recibe señal del sensor x0 exclusivamente.
  • Las dos alarmas se disparan si se recibe señal de al menos dos sensores cualesquiera.
a) Realizar la tabla de verdad del sistema de alarma (tabla de verdad).
b) Realizar una implementación con puertas AND-OR.
c) Realizar una implementación con puertas NAND.
SOLUCIÓN
Analizando el circuito a desarrollar se realiza la siguiente tabla de verdad:
A continuación se puede ver las dos implementaciones requeridas:

2. DISEÑO SISTEMAS COMBINACIONALES
Una máquina expendedora automática proporciona productos con diversos precios: botella de agua 0,50 €, lata de refresco 1,00 €, paquete de galletas 1,50 € y caja de bombones 2,00 €. Sólo admite una moneda de 0,50 €, 1,00 € ó 2,00 € para adquirir el producto y sólo devuelve cambio de 1 moneda, caso de que tuviera que devolver cambio. Habrá casos en los que, al no poder proporcionar el cambio correcto, devolverá la moneda introducida, sin proporcionar el producto.
a) Determinar el número de variables de entrada y de salida necesarias, identificar las variables de entrada, asignarles un nombre y hacer lo mismo con las variables de salida.
b) Deducir la tabla de verdad que define las relaciones entre las variables de entrada y de salida.
c) Simplificar las funciones representadas en la tabla de verdad.
d) Obtener el circuito a partir de las funciones simplificadas.
SOLUCIÓN
Para comenzar se proponen las siguientes variables de entrada
M0= Pago 0,50 €
M1= Pago 1 €
M2= Pago 2 €
P0= Botella de agua
P1= Lata de refrezco
P2= Paquete de galletas
P3= Caja de bombones
Y las variables de salida
S= Entrega de producto
C0= Cambio 0,50 €
C1= Cambio 1 €
C2= Cambio 2 €
Con esto claro se realiza la siguiente tabla de verdad:
Se hará uso de decodificadores, para así obligar al usuario a siempre ingresar una sola moneda y escoger un solo producto. El circuito obtenido se muestra a continuación:

3. DISEÑO CON SUMADORES
Diseñe un multiplicador binario que multiplique un numero de 4 bits B = b3 b2 b1 b0 por un numero de 3 bits A = a2 a1 a0 para formar
el producto C = c6 c5 c4 c3 c2 c1 c0 . Esto puede lograrse con 12 compuertas y dos sumadores de 4 bits.
SOLUCIÓN
Basándose en la operación conocida como multiplicación binaria, se implementa el siguiente circuito, el cual esta constituido por 12 compuertas NAND y dos sumadores de 4 bits.

4. DISEÑO COMBINACIONAL
Usando Mapas de Karnaugh para las siguientes funciones:
F ݂ = ∑ ݉(5,6,13) + ∑ d(4,7,12,14,15)
G. ݃ = ∑ ݉(0,2,3,6,7,8,9,14,14,15)
a) Encuentre la solución mínima de cada función
b) Implemente la solución mínima de cada función, usando la menor cantidad posible de circuitos integrados.
SOLUCIÓN
Para hallar la mínima solución se hace uso de mapas de Karnaugh:
I. Para la función F
Obteniendo
Teniendo 0 CI 
II. Para la función G
Obteniendo
Teniendo 3 CI: 3/4-7411, 3/4 7432, 4/6-7404.
 Los circuitos obtenidos se muestran a continuación: https://circuitverse.org/simulator/embed/113505

5. COMPUERTAS UNIVERSAL NAND
Se desean controlar dos bombas B1 y B2 en función de la cantidad de agua en un depósito. Los sensores B (nivel bajo de agua) y A (nivel alto de agua) entregan un uno lógico cuando el agua supera
dicho nivel. Los sensores TB1 y TB2 indican mediante un uno si la temperatura de las bombas B1 y B2 ha superado el límite de funcionamiento. Si el nivel se encuentra:
- por debajo de B se deben activar las dos bombas;
- por encima de B pero por debajo de A se debe activar una bomba, preferiblemente B1 (teniendo en cuenta su temperatura);
- por encima de A se deben desactivar B1 y B2;
- si la temperatura del motor superara el límite, éste debería pararse.
Cualquier situación anómala en los valores de los sensores conllevará la parada de ambas bombas por seguridad.
SOLUCIÓN
Se analiza la situación planteada y se obtiene la siguiente tabla de verdad:
A continuación se muestra el circuito implementado con compuertas NAND:

lunes, 22 de junio de 2020

Laboratorios Electrónica Digital. Practica 8 Universidad Distrital Francisco Jose de Caldas, Junio 2020
Practica 8. Visualización Dinámica de un Display por Segmentos
Luis Ángel Armijo Castillo Cod. 20182007020
Grupo 743
Abstract - In this practice you will see one of the several ways to save energy in a digital circuit, this consist of turning on one segment of the display at a time by using a ROM, a decoder and a pair of Mux-Demux.

Resumen - En esta práctica, se verá una de las varias maneras de ahorrar energía en un circuito digital, esta consiste en encender un segmento del display a la vez mediante el uso de una memoria Rom, un decodificador y un par de Mux-Demux.

1. Objetivos
A. General
Realizar la visualización de los 4 últimos dígitos de su códigoen un display de 7 segmentos utilizando visualización dinámica.
B. Específicos
  • Indicar las dimensiones de la memoria ROM que debe utilizar para guardar la información de su código en BCD.
  • Generar la memoria ROM del tamaño anterior para guardar la información necesaria.
  • Implementar el decodificador de BCD  a 7 segmentos.
  • Lograr utilizando multiplexores y demultiplexores que se encienda un único segmento en cada cambio del contador.
2. Materiales
  • Simulador Circuitverse.
3. Introducción
Una memoria de solo lectura o ROM, es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de la información y no su escritura, independientemente de presencia de una fuente de energía. Los datos almacenados en la ROM no se pueden modificar, al menos de manera rápida o fácil.
Fig 1. Memoria ROM.
Fig 2. Ejemplo de Memoria ROM 8x4
Un decodificador es un dispositivo digital que permite el cambio de un código de N lineas a uno de 2 a la N lineas, este se puede realizar usando uno a varios Demux.
Fig 3. Decodificador de 1 a 2 y de 2 a 4.
4. Metodología
Se desea construir un circuito, de tal forma de que al ingresar una dirección de 2 bits, se obtenga como salida uno de los 4 últimos dígitos de un código, en este caso 7020. La tabla de verdad obtenida es la siguiente:
Fig 4. Tabla de Verdad Circuito Digital
Para comenzar se crea un Mux de 2 a 1 y un Demux de 1 a 2, con estos subcircuitos se hace un Mux de 8 a 1 y un Demux de 1 a 8 respectivamente, los 3 selectores de cada circuito se conectarán a un contador de 3 bits.
Se necesitará un display de 7 segmentos y su circuito Decodificador 7 segmentos para realizar otra parte de las conexiones.
Se procede a conectar las entradas del display a las salidas del Demux de 1 a 8 y la entrada del Demux de 1 a 8 a la salida de Mux de 8 a 1,  por ultimo las entradas del Mux de 8 a 1 se conectan a las salidas del Decodificador 7 segmentos.
Se requiere hacer una memoria ROM para conectar al Decodificador 7 segmentos, esta memoria se hace conectando las salidas de un Deco de 2 a 4 a compuertas OR puestas de tal forma que se cumpla la necesidad (obtener los dígitos 7020). El Deco de 2 a 4 se realiza usando dos Deco de 1 a 2, que a su vez este esta hecho a partir de un Demux de 1 a 2.
Con la memoria ROM hecha se procede a conectar las salidas del cicuito ROM 4x4 al Decodificador 7 segmentos.
5. Análisis
Al realizar los pasos anteriores propuestos en la metodología se obtiene el siguiente circuito:

En el circuito se puede observar cada uno de los circuitos funcionando y cada pestaña con cada circuito creado, se ´puede reducir el tiempo del clock hasta 50 ms, para controlar el circuito solo es necesario modificar los dos bits que se encuentran a la izquierda, los cuales corresponden a las direcciones de la memoria ROM. Un análisis se puede ver en el siguiente vídeo.
6. Conclusiones
  • Una memoria ROM cumple una necesidad especifica y esta no puede ser modificada al ser una memoria de lectura.
  • Un Mux conectado a un Demux, cumplen la función de transmitir toda la información por secciones o partes.
  • Se puede apreciar una limitación en el simulador Circuitverse, por ejemplo al momento de mostrar el número '0' por segmentos no se puede aumentar la frecuencia del clock a mas de 20 Hz lo que provoca que la vista detecte el parpadeo y en ocasiones no se vea claro el número que se quiere mostrar con el display.

sábado, 13 de junio de 2020

Laboratorios Electrónica Digital. Practica 7 Universidad Distrital Francisco Jose de Caldas, Junio de 2020
Practica 7.  Visualización Dinámica, el Sumador BCD
Luis Ángel Armijo Castillo Cod. 20182007020
Grupo 743


Abstract - In this practice, a BCD adder will be implemented, showing the result on two 7-segment displays using dynamic display.
Resumen - En esta práctica, se implementará un sumador BCD mostrando el resultado en dos displays de 7 segmentos haciendo uso de la visualización dinámica.

1. Objetivos
A. General 
Implementar  un sumador de dos números en BCD cuyo resultado sea mostrado mediante visualización dinámica en dos displays de 7 segmentos.
B. Especificos
  • Entender el concepto de visualización dinámica.
  • Realizar un sumador BCD teniendo en cuenta la corrección del error de código.
  • Construir un circuito de visualización dinámica con multiplexores y decodificadores.
2. Materiales
  • Simulador Circuitverse.
3. Introducción

Una técnica usada para ahorrar recursos en los circuitos digitales que contienen displays de 7 segmentos es no prenderlos al tiempo, puede parecer que este efecto se nota, pero si se hacen alternar los displays a una frecuencia mayor a 60 Hz se puede llegar al limite del ojo humano de tal forma que pareciese que los displays están encendidos al mismo tiempo, esto se puede lograr usando un display de anodo común y de cátodo común conectados a una señal cuadrada que los active o desactive.

En esta técnica se ve una reducción en el consumo de potencia y en el número de integrados requeridos para el montaje ya que los displays estarán conectados a la misma salida del decodificador. Para la práctica se hará uso del circuito comparador y del circuito multiplexor de 2 a 1 bits. 

Un multiplexor es un circuito combinacional que en la mayoría de casos tienen varias entradas de datos y una única salida de datos. Están dotados de entradas de control capaces de seleccionar una, y solo una, de las entradas de datos para su transmisión desde la entrada hasta dicha salida.
Fig 1. Circuito Mux de 2 a 1.
Fig 2. Tabla de verdad Mux 2 a 1.
Un comparador es un circuito que determina que cantidad binaria es mayor a la otra, o en su defecto si estas cantidades son iguales, por lo cual sin importar el número de entradas se tienen siempre tres salidas, A>B (G), A=B (E) y A<B (L), se puede apreciar que no se pueden cumplir las tres condiciones al tiempo, teniendo esto en cuenta se asigna un '1' cuando la proposición es verdadera y un '0' cuando esta es falsa.
Fig 3. Comparador de un bit.
Fig 4. Tabla de Verdad comparador de un bit.
4. Metodología
Se desea hacer una sumador de dos números BCD y mostrar el resultado en dos displays de 7 segmentos, de manera que se requiere ir lentamente con el desarrollo y planteamiento del ejercicio.
Para comenzar se crean los circuitos Comparador 1 bit, Sumador 1 bit, Enable, Mux 2 a 1, Decodificador y Enable displays, estos circuitos son básicos para el desarrollo del ejercicio.
Se tiene que conectar un sumador BCD a un mux de 8 a 4 y este a un decodificador binario a BCD que por ultimo va conectado a los dos displays controlados por un clock.
Para realizar el sumador BCD internamente se realiza un sumador de 4 bits con sumadores de 1 bit, para corregir el error de código se usa un circuito que suma 6 (hecho con el circuito sumador de 4 bits) y un circuito que compara si la respuesta es mayor a 9 (que esta hecho con un comparador de 4 bits que a su vez esta hecho con comparadores de 1 bit).
El Mux de 8 a 4 es realizado con circuitos Mux de 2 a 1 y el decodificador es un circuito similar al realizado en prácticas anteriores, con la ventaja de que este va de '0' a '9' por lo que es mas sencillo de implementar al haber 5 condiciones no importa.
Para probar el montaje desactive y active el clock que aparece en la parte superior derecha, se aconseja colocar el tiempo al valor mínimo de 50 ms para obtener una sensación aproximada a la de ver los dos displays al tiempo ya que no es posible colocar una frecuencia mas alta. A continuación se puede observar el montaje obtenido.


5. Análisis
Un análisis detallado se puede observar en el siguiente vídeo.
6. Conclusiones
  • Los multiplexores se pueden aplicar para dividir la información y así transmitirla.
  • Un clock o señal cuadrada tiene como propósito generar 1s y 0s en instantes de tiempo de tal forma que no es necesario usar switches.
  • Teniendo la lógica de como funciona un circuito determinado ya no se hace necesario usar compuertas para realizar un circuito mas grande del mismo tipo, se puede implementar usando subcircuitos como es el caso de los sumadores, comparadores o multiplexores de mas bits.
  • No se pueden usar códigos no validos en BCD para realizar una suma, por lo que no será posible ver un número mayor a 18.

domingo, 7 de junio de 2020

Laboratorios Electrónica Digital. Practica 6 Universidad Distrital Francisco José de Caldas, Junio de 2020
Practica 6.  Mapas de Karnaugh y Condiciones no Importa
Luis Ángel Armijo Castillo Cod. 20182007020
Grupo 743


Abstract- In this practice, the Karnaug maps will be used to reduce expressions obtained from de the truth tables, seeing the effect of the conditions, no matter.

Resumen - En esta práctica, se hará uso de los mapas de Karnaugh para reducir expresiones obtenidas a partir de las tablas de verdad viendo el efecto de las condiciones no importa.

1. Objetivos

A. General

Afianzar el concepto de mapa de Karnaugh mediante el diseño de un circuito digital con condiciones de no importa.

B. Específicos
  • Estudiar el ejercicio propuesto y obtener la tabla de verdad.
  • Obtener la ecuación por maxtérminos o mintérminos según sea conveniente.
  • Realizar el mapa de Karnaugh para la expresión.
  • Implementar el circuito resultante para resolver el ejercicio.
2. Materiales
  • Simulador Circuitverse.
3. Introducción

Un mapa de Karnaugh también conocido como tabla de Karnaugh es un diagrama utilizado para la simplificación de funciones algebraicas booleanas, estos reducen la necesidad de hacer calculos extensos para la simplificación de expresionesm aprovechando la capacidad del cerebro humano para el reconocimiento de patrones y otras formas de expresión análitica, permitiendo así identificar y eliminar condiciones inmensas. El mapa consiste en una simplificación bidimensional de una tabla de verdad de una función N.
Fig 1. Ejemplo de Mapa de Karnaugh.
4. Metodología 

Se desea construir un circuito  de 3 bits compuesto de cinco displays de 7 segmentos escribiendo la palabra fácil, de tal forma de que el código binario que se ingrese corresponda a la posición del display que tiene que encender.
Fig 2. Palabra FACIL en Displays de 7 Segmentos.
Antes de comenzar, se puede apreciar que un display de 7 segmentos tiene un pin de tierra a diferencia de Circuitverse que no lo contiene, con este pin en cuenta se puede diseñar un circuito con 3 bits de entrada y 5 bits de salida que estan conectados a cada tierra del display de tal forma que cada display este configurado a mostrar solo una letra y esta se encienda cuando por la tierra pase un 1 lógico.

Dado que el simulador no tiene esta opción lo que se puede hacer es diseñar el mismo circuito de 3 bits y 5 bits y conectar la salida que debería ir a tierra a cada segmento que corresponde a la letra que se desea hallar dejando los pines que siempre son 0 desconectados.

Por ejemplo para la F, la salida del circuito de que debe ir a tierra, se conectará a los segmentos a, e, f, g dejando los demás segmentos sin conectar, de tal forma de que cuando la salida del circuito sea un 1, se muestre correctamente la F, sino sucede esto no se mostraría nada en el display. Aplicando esta lógica se hace lo mismo con los otros 4 displays.

Para el diseño de circuito fácil, se realiza la siguiente tabla de verdad:
Fig 3. Tabla de Verdad del Circuito
El resto de valores son condiciones no importa, con estos datos se realizan los respectivos mapas de Karnaugh y se escriben sus respectivas ecuaciones:

i. Para la función F
Fig 4. Mapa de Karnaugh de F
ii. Para la función A
Fig 5. Mapa de Karnaugh de A
iii. Para la función C
Fig 6. Mapa de Karnaugh de C
iv. Para la función I
Fig 7. Mapa de Karnaugh de I
v. Para la función L
Fig 8. Mapa de Karnaugh de L
5. Análisis
Con las ecuaciones obtenidas, se implementa el circuito en Circuitverse tal y como se indico. Un análisis rápido, se encuentra en el siguiente vídeo. A continuación se presenta el circuito obtenido:

6. Conclusiones
  • Los displays de 7 segmentos se pueden utilizar con el fin de transmitir un mensaje.
  • Los mapas de Karnaugh reducen el uso del álgebra de Boole e incluso el uso del método de maxtérminos y mintérminos, haciendo el proceso de diseño de circuitos mas rápido.
  • Se puede implementar cualquier circuito digital con su tabla de verdad.