¿Cómo puedo reemplazar esta SRAM 5565 con una SRAM de doble puerto?

1

Tengo un dispositivo existente (una placa de CPU arcade) que almacena algunos datos en una SRAM 5565 de 64 Kbit. Quiero reemplazarlo con una memoria RAM de doble puerto para poder leer los datos con un microcontrolador. No necesito escribir desde el segundo puerto, solo leer.

Cualquier componente que use tendrá que ser compatible con el original, en particular, el juego tendrá que poder acceder a su puerto en cualquier momento sin tener que preocuparse por la contención con el otro.

¿Qué debo usar?

    
pregunta Jesse McGrew

3 respuestas

2

Necesitará crear lo que se llama un tablero intermedio. Su gran problema es que el 5565 solo necesita ~ 25 pines de señal (13 direcciones, 8 datos, 2 habilitaciones, 1 R / W y 1 habilitación de salida), mientras que una memoria RAM de puerto doble de 8k x 8 necesita al menos el doble. Esto significa que su DPRAM tendrá un paquete mucho más grande (en términos de pines) que el 5565.

Un buen punto de partida para los DPRAM es el IDT 7005, que se puede encontrar en eBay. Esto vendrá en varios paquetes con 64 - 68 pines.

Primero, su tablero de juego tendrá que ser modificado para permitir la conexión al 5565. Esto se puede hacer al desoldar la RAM y reemplazarla con un zócalo DIP de 28 pines, o soldando los puntos del conector a la RAM para conectar con el nuevo tablero. Reemplazar el IC por un zócalo es la mejor manera de hacerlo, y asumiré que toma esa ruta.

El entresuelo consistirá de 5 partes,

1) 28 pines pegados para acoplarse con el zócalo 5565

2) una DPRAM con un lado (llámelo lado A) conectada a las señales 5565 (con pequeñas excepciones, ver 4 y 5)

3) un conector de interfaz para permitir que el lado B se conecte a su MCU, y

4) una pequeña cantidad de lógica para convertir el chip 5565 permite que las líneas sean compatibles con el 7005. El 5565 usa 2 líneas habilitadas, una activa alta y la otra activa baja, mientras que el 7005 usa una sola línea activa baja habilitada .

5) alguna lógica para indicar a la MCU que el juego está escribiendo en la misma dirección que la MCU está intentando leer. Esto puede ser complicado. Recomiendo configurar registros de direcciones y un registro de salida y no intentar leer el 7005 directamente, sino reducir los ciclos de lectura de la MCU lo suficiente como para permitir que se resuelva la contención.

Oh, sí, y tenga cuidado con el tiempo que utiliza un cable entre la MCU y la placa. No quieres que suene en las líneas de tu dirección. La terminación de la serie será una buena idea.

    
respondido por el WhatRoughBeast
1

Yo usaría un FPGA pequeño, como un XC6SLX4, o incluso un XC3S200A. Implemente un UART y una máquina de estado para manejar las solicitudes de lectura, agregue un FT232R para el puenteo de USB a UART y listo.

He hecho algo similar en el pasado (no con un juego, solo monitoreando / imitando RAM). El mayor problema sería la traducción a nivel de 5 V a 3,3 V en un número tan grande de pines (supongo que la SRAM es lo suficientemente antigua como para ser 5 V).

    
respondido por el markt
0

¿Qué tan rápido es el tablero en cuestión? Puede ser posible que algo así como un microcontrolador ARM que ejecuta un bucle muy ajustado emule un chip de RAM mientras permite que un dispositivo externo solicite su contenido.

    
respondido por el supercat

Lea otras preguntas en las etiquetas