Practica 5 Memoria Rom


Introducción

En esta práctica continuamos con el desarrollo de una memoria ROM desarrollada en  PSoC 5, donde se utilizan componentes creados como el decodificador de teclado matricial.

Una memoria ROM o Memoria de solo lectura, es un tipo de memoria la cual solo permite que los datos almacenados en ella solo pueden ser leídos y no pueden ser modificados. Es utilizada en  diferentes dispositivos electrónicos, que no requieren sobrescritura de  datos.

Materiales

  • Protoboard 
  • PSoC 5LP
  • Cables 
  • Dip-switch
  • 4 Display's de 7 segmentos de ánodo común 
  • Fuente variable
  • Teclado Matricial 4 x 4 
  • 4 resistencia de 330 ohm
Iniciamos con la construcción del decodificador del teclado matricial, el siguiente esquema muestra su diseño.
Decodificador de Teclado Matricial de 4*4
En este decodificador se ve que, según la tecla oprimida, hay una combinación única entre una de las filas y una de las columnas del teclado matricial de 4*4, el resultado de esa combinación se almacena en los Flip-Flop's tipo D, pero no siempre esta combinación es la más conveniente, por eso, se usa el Dec_Teclado, que es un decodificador que, dependiendo de la entrada, arroja una salida en número binario siendo S0 el bit menos significativo.

También hay una salida de nombre LED que se usa para hacer iluminar un diodo led cada vez que se presione una tecla, o también para generar un pulso que en cualquier momento puede ser útil.

Para elaborar la memoria ROM fue necesario construir una tabla de codificación:
Tabla codificación para cada valor

Con esta tabla se le asigno un valor a cada tecla del teclado.


Valores para guardar en la Memoria Rom.
Una vez establecidos los valores a guardar, hay que diferenciar la información guardada en cada tecla; ya se sabe que el decodificador de teclado tiene una salida en binario, así, si se presiona la tecla 0 (cero) su salida será 0000, pero aunque la salida es 0, debe mostrar el dato que le fue almacenado, lo mismo sucede con cada uno de los botones, para esto, es necesario un decodificador de 4 entradas y 16 salidas, así si se presiona el 0 (cero) de nuevo se va a activar la salida S0, si se presiona el 5, la salida del teclado será 0101, lo que activará la salida S5 del decodificador.

Volviendo a los valores guardados en cada tecla, es fácil ver que ninguno de esos valores necesita más de 10 bits en binario, para la Memoria Rom es necesario una puerta AND por cada bit necesario, 10 Puertas AND en total.

Lo siguiente es guardar la información:

Para la tecla 0 se debe guardar el número 1021, es decir 1111111101 en binario, como cada bit es representado por una puerta AND se deben conectar todas las puertas AND, excepto la que tiene el segundo bit menos significativo, a la salida S0 del decodificador de 4 entradas y 16 salidas.

Lo mismo para cada una de las teclas.

Al almacenar todos los valores a cada una de las teclas se tiene el siguiente circuito.



Circuito con los valores almacenados para cada tecla del teclado matricial de 4*4.
Para algunos bits de salida se usan muchas conexiones al decodificador de 4 entradas y 16 salidas, el programa PSOC Creator permite un máximo de 8 entradas por cada puerta AND, por eso se hace necesaria una Puerta AND después de otra.

Finalmente el circuito total queda construido así:

Para mostrar en cada display la información se requiere nuevamente de la visualización dinámica lo cual se encuentra desarrollada en un bloque con un código en verilog, el cual se puede ver en la descarga del proyecto.

Vídeo funcionamiento 



Proyecto en PSoC Creator para descarga

Comments

  1. MGM: Casino floor expansion: A big hit at MGM's Vegas
    For decades, MGM Resorts had 성남 출장안마 been 양주 출장마사지 the center of the MGM resorts worldwide. The 상주 출장마사지 MGM Grand opened its doors in April 2005 and 청주 출장안마 then 성남 출장안마 expanded in

    ReplyDelete

Post a Comment

Popular Posts