Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN LABORATORIO DE PLD GRUPO: 1809 REPORTE NO. 1 “MEMORIAS EEPROM” FECHA DE ELABORACION: 29-09-17 FECHA DE ENTREGA: 06-10-17 PROFESOR: HECTOR MIGUEL SANTOYO MORALES ALUMNO: JORGE ANTONIO JIMENEZ BERNAL SEMESTRE 2018-I Objetivos • Implementar un circuito que convierta un número decimal en el rango de 0 a 99 representado en binario en 7 bits, a su correspondiente código BCD8421 en 8 bits. • Programar la memoria EEPROM con la tabla de verdad del convertidor de código. • Comprobar el funcionamiento del convertidor de código Introducción Entre los circuitos programables básicos se encuentran las memorias de solo lectura (ROM’s), ya que se puede almacenar en ellas de forma directa las tablas de verdad que representan a los sistemas digitales, estas memorias tienen una capacidad de almacenamiento definida por el tamaño de sus bus de direcciones (n líneas) y el tamaño de su bus de datos (m líneas) y por lo tanto pueden resolver sistemas que tengan n entradas por m salidas. Una gran ventaja de la utilización de estas memorias es que no se requiere la reducción algebraica de los términos a través de algebra de Boole o Mapas de Karnaugh ya que la tabla deberá ser insertada en su totalidad y cada dirección accesada proporcionará una de las combinaciones de la tabla. En esta práctica utilizaremos una memoria AT28C16 cuya capacidad es de 2K x 8 y por lo tanto es capaz de almacenar tablas de 11 entradas (2048 combinaciones de entrada) y puede proporcionar hasta 8 salidas independientes. En esta práctica realizaremos el diseño de un circuito que convierta un número decimal en el rango de 0 a 99, representado a través de un número binario de 7 bits y que produzca el valor equivalente en código decimal codificado en binario (BCD8421) en 8 bits. El rango de funcionamiento del circuito está restringido debido a que para números mayores a 99 y hasta 255 se requiere una representación BCD8421 de 12 bits y por lo tanto la capacidad de la memoria se excedería. Para estas condiciones entonces el sistema tendría una tabla de verdad de 7 entradas y 8 salidas, lo cual produce una tabla de 27 = 128 combinaciones de las cuales solo se emplearán las 100 primeras y las restantes deberán llenarse con ceros. Material 1 Memoria AT28C16 8 Resistencias de 330 Ω 1 Barra de 8 leds ó en su defecto 8 leds individuales. Equipo 1 Fuente de voltaje de CD. 1 Multímetro 1 Programador Universal 1 Protoboard Procedimiento Experimental 1. El primer paso para la realización de la práctica fue generar la tabla de valores en el editor de buffer del software SuperPro como se muestra en la figura 1.2. Considerando que los datos en el buffer son los valores de la tabla en código BCD8421 y solo debían llenarse 100 localidades, las restantes 28 deberán estar cargadas con el valor de 00. 2. Se salvó el buffer en formato binario seleccionando la pestaña de Archivo/Guardar y se asignó el nombre BIN_BCD, designando la carpeta de almacenamiento que desee como se muestra en las figuras 1.3 y 1.4. 3. Se programó la memoria AT28C16 con archivo BIN_BCD.BIN 4. Se implementó el circuito de la figura 1.5. 5. Posteriormente se llenó la tabla 1.2 con los 16 valores obtenidos del circuito y se verifico que la operación se estába realizando correctamente. DECIMAL BINARIO BCD ( 8421 ) 1 0000001 0000 0001 5 0000101 0000 0101 69 1000101 0110 1001 54 0110110 0101 0100 52 0110100 0101 0010 21 0010101 0010 0001 22 0010110 0010 0010 23 0010111 0010 0011 36 0100100 0011 0110 45 0101101 0100 0101 64 1000000 0110 0100 75 1001011 0111 0101 66 1000010 0110 0110 60 0111100 0110 0000 90 1011010 1001 0000 99 1100011 1001 1001 7. Después se diseñó un sistema que obtenía el código gray, el código XS3, el código en complemento a 2 y el código BCD4221 a partir de un código binario de 4 bits. 8. Se consideró que para los 3 primeros códigos la salida es en 4 bits y que para el código BCD4221 se requieren 8 bits para la representación de los números 10, 11, 12, 13, 14 y 15. 9. Se debió incluir señales de control que seleccionen cuál es el código que se desea mostrar a la salida. A continuación, se muestra los valores que fueron introducidos al buffer: 10. Se determinaron las conexiones de la memoria AT28C16. 11. Se implementó el circuito y se probó en el laboratorio. 12. Se comprobaron las 4 tablas de verdad. Cuestionario 1. Diseñe el circuito convertidor de código binario a BCD de las actividades previas, utilizando herramientas computacionales de reducción para la obtención de las expresiones de álgebra de Boole y dibuje el circuito resultante con compuertas lógicas de cualquier número de entradas. 2. Describa las ventajas y desventajas del circuito resultante con respecto al circuito implementado en esta práctica a través de la memoria ROM La ventaja de implementar sistemas con memorias ROM, en este caso, EEPROM, es que no se necesita tener la función de minitérminos o maxitérminos reducida, simplemente se llena el buffer de datos de la memoria, con las combinaciones del sistema y de ésta forma se ahorra tiempo, y material, ya que el diseño se encontrará contenido en un solo chip y no es necesario utilizar un número elevado de compuertas y circuitería. Conclusiones Con la realización de ésta práctica fue posible implementar un circuito digital encargado de convertir un número binario a BCD, utilizando una memoria EEPROM, únicamente definiendo la tabla de verdad con las combinaciones posibles dentro del buffer de datos de la memoria, notando así, la ventaja que presenta la implementación de éste tipo de circuitos usando PLD’s, en este caso una EEPROM, en lugar de un número elevado de compuertas lógicas y sin el uso de algún procedimiento de reducción de funciones. DecBinarioGrayXS3Comp A2BCD (8,4,2,1)HexControl (bit 5 ,bit 4)Funcion 000000000000000000,0BCD 100000100000001010,1XS3 200001000000010021,0Comp A2 300001100000011031,1Gray 40001000000010004 50001010000010105 60001100000011006 70001110000011107 80010000000100008 90010010000100109 100010100001000010 110010110001000111 120011000001001012 130011010001001113 140011100001010014 150011110001010115 16010000001103 17010001010004 18010010010105 19010011011006 20010100011107 21010101100008 22010110100109 2301011110100A 2401100010110B 2501100111000C 2601101011010D 2701101111100E 2801110011110F 29011101000000 30011110000000 31011111000000 32100000000000 3310000111110F 3410001011100E 3510001111010D 3610010011000C 3710010110110B 3810011010100A 39100111100109 40101000100008 41101001011107 42101010011006 43101011010105 44101100010004 45101101001103 46101110001002 47101111000101 48110000000000 49110001000101 50110010001103 51110011001002 52110100011006 53110101011107 54110110010105 55110111010004 5611100011000C 5711100111010D 5811101011110F 5911101111100E 6011110010100A 6111110110110B 62111110100109 63111111100008
Compartir