¿Importa el orden de los pines para esta RAM?

11

Estoy intentando enrutar un chip pic32 a un chip 128kB SRAM y tengo un poco de un tiempo difícil obtener las 17 líneas de dirección y las 8 líneas de datos conectadas. Estoy tratando de unir los primeros 16 pines de dirección a los pines 0-15 del puerto B y los pines de datos al puerto 0-7. Después de pensarlo por un tiempo, me di cuenta de que probablemente estoy haciendo mi vida más difícil al intentar alinear rb0 con a0, rb1 con a1, etc. Todo lo que realmente quiero poder hacer es escribir un valor de 16 bits en el puertoB y tener la mayoría de la dirección cargada y lista. Si hago asignaciones de pines basadas en la facilidad de enrutamiento, la dirección lógica será diferente entre el mcu y el ram, pero al menos debería ser consistente. Como nada más necesita comunicarse con la RAM, no creo que sea un problema si el mcu solicita la dirección 0x101 y la RAM le da la dirección 0x110.

Sin embargo, me pregunto si es una buena idea. Si hay alguna estructura interna en la RAM diseñada para hacer que las lecturas secuenciales sean más eficientes, o algo así, es posible que desee tomarme la molestia de enrutarlas 1: 1. La disposición de los pines en las tarifas de ambos chips es algo aleatoria para mí, así que me haría mucho más fácil si pudiera ignorar los números en particular. ¿Hay alguna buena razón por la que debería o no debería hacer eso?

    
pregunta captncraig

2 respuestas

12

En este caso parece totalmente aceptable intercambiar bits de datos e intercambiar bits de direcciones. Esto no es universalmente el caso, como alude en su pregunta.

En este caso, el dispositivo es una RAM estática: una rápida ojeada a través de la hoja de datos AS6C1008 no indicó ninguna capacidad para hacer accesos rápidos de ningún tipo ni dependencias de tiempo relacionadas con la dirección.

General:

Algunas memorias dinámicas permiten la ráfaga de datos enclavándose en una parte alta de la dirección y luego secuenciando los bits de dirección baja. Esto puede corresponder a la estructura lógica de filas y columnas publicada o a algún mecanismo interno arcano que obviamente no se manifiesta externamente. En tales casos, debe atenerse a lo que dice la hoja de datos para evitar fallas de almacenamiento.

Algunas memorias dinámicas tempranas se basaron en la secuencia de direcciones y el tiempo de acceso para lograr la actualización de la celda de memoria. Es poco probable que cumplas con muchos de estos en la actualidad.

Algunas memorias (flash, eerom, otras) tienen tiempos de vida que dependen de la cantidad de accesos, que pueden ser por acceso (lectura o escritura) o más generalmente solo por escritura, y pueden ser por ubicación de memoria o por algún subconjunto de las células de memoria. En este último caso, si codifica las líneas de dirección puede interferir con los algoritmos de nivelación de desgaste. Esto solo va a ser un problema potencial con dispositivos bastante especializados y las hojas de datos pueden ser razonablemente claras en cuanto a los requisitos

    
respondido por el Russell McMahon
5

No, el orden no importa. Las líneas de dirección pueden estar en cualquier orden, al igual que las líneas de datos.

    
respondido por el mikeselectricstuff

Lea otras preguntas en las etiquetas