Problemas de escritura de SRAM en la computadora de tablero de 16 bits

0

Actualmente estoy trabajando en la memoria RAM de mi computadora de 16 bits que consta de dos chips AS6C6264 SRAM. En cada chip tengo CE2 conectado a 5V, CE # conectado a tierra, WE # conectado a 5V a través de una resistencia pull-up y un botón que está conectado a tierra. Para escribir manualmente en la memoria RAM, tengo dos interruptores DIP de 8 pines que pasan por los selectores de datos y en las entradas de la memoria RAM. Cuando presiono el botón, WE # baja y los datos de los selectores de datos se escriben en la RAM.

Por cualquier motivo, esto funciona perfectamente bien cuando hay 5 o menos interruptores DIP en la posición superior. Cada vez que hay más de 5 interruptores DIP en la posición superior e intento escribir en la RAM, no parece que se escriba correctamente en la RAM, y en cierto punto, simplemente escribe todos los 0's.

No tengo ni idea de qué buscar, traté de mirar algunos de los pines de un osciloscopio, pero realmente no me ha mostrado mucho, aparte de que hay ruido.

Gracias por cualquier ayuda o consejo.

    

1 respuesta

1

En un comentario, explicaste que tus interruptores DIP no tienen pullups o despliegues:

  

[...] cuando [los interruptores DIP] están en la posición superior, está conectado a tierra, cuando está en la posición inferior, está flotando. Puedo ver por qué esto podría causar algunos problemas.

De hecho, esto causará problemas. La mayoría de los chips SRAM estarán basados en CMOS, por lo que el estado de una entrada flotante será impredecible.

La solución más fácil será usar redes de resistencia para agregar pullup / downs. Consigue un par de paquetes de resistencia SIP9. ( Aquí hay una lista en Mouser , pero estas piezas están disponibles en cualquier distribuidor importante.) Estos paquetes de 9 pines están formados por ocho resistencias idénticas conectadas de esta manera:

simular este circuito : esquema creado usando CircuitLab

Puede usarlos para jalar los ocho pines de su interruptor DIP hacia arriba o hacia abajo al colocar el pin común (a la izquierda) en VCC o GND. Use cualquier valor en el rango de 1kΩ a 20kΩ. (Es posible que cualquier cosa superior no sea suficiente para tirar del pasador de manera confiable, y un elemento inferior consumirá demasiada energía al tirar contra un interruptor cerrado).

    
respondido por el duskwuff

Lea otras preguntas en las etiquetas