SRAM múltiple en una MCU

3

Quiero (tener) usar SRAM externa en mi STM32 y desea tener un total de 16 Mbit. Debido a que la SRAM grande es bastante cara, quiero usar 2 más pequeñas. La pregunta es, ¿cómo logro esto? (Google no es una gran ayuda en este caso: /)

Mi idea fue que utilizo las 19 líneas de dirección para el primer chip SRAM y luego para el segundo chip de SRAM que uso la línea inferior 18 + 20th, por lo que se aplica este esquema de memoria:

SRAM1: 0x00000 - 0x7FFFF
SRAM2: 0x80000 - 0xFFFFF

más Offset por supuesto;)

Lo último es la línea de selección de chips, pero puedo lograrlo con un simple NOT-Gate

CS1 = ¬A[19] (indexed zero)
CS2 =  A[19]

¿Esto funciona? Me preocupa el aumento y los tiempos de caída y el retraso de las puertas. ¿Alguna vez alguien ha pensado en esto o incluso tiene experiencia?

    
pregunta hellow

1 respuesta

2

Esto funcionaría bien. El retraso de propagación de la compuerta para la línea cs estará en la hoja de datos de la parte que usa, pero normalmente son lo suficientemente pequeñas como para no ser un problema. En el peor de los casos, puede agregar un estado de espera adicional al controlador de memoria en la CPU.

Alternativamente, puedes poner los dos chips de memoria en paralelo en lugar de en serie. En lugar de usar 2x 512K x 16 SRAM, podría usar 2x 1M x 8 SRAM. El precio es el mismo, lo que tiene sentido ya que es la misma cantidad de memoria. A continuación, conecte todas las líneas de dirección a cada chip. D0-7 ir al primer chip, D8-15 ir al segundo. Aún debe enrutar todas las líneas de dirección a ambos chips, pero cada línea de datos solo va a una única ubicación, por lo que en teoría el diseño es un poco más fácil.

El lado negativo es que si más tarde decides que solo necesitas la mitad de la memoria, no puedes simplemente quitar uno de los chips para reducir a la mitad la RAM instalada.

    
respondido por el Andrew

Lea otras preguntas en las etiquetas