estructura de SDRAM para Cortex-M7

2

Estoy pensando en diseñar un tablero personalizado basado en un Microchip / ATMEL SAM S70 o STM32F7 / STM32H7. El SAMS S70 parece ser la opción más barata y ofrece aproximadamente lo mismo que los competidores ST.

Ahora estoy tratando de averiguar cuánto SDRAM puedo adjuntar a estas MCU.

  1. La hoja de datos del S70 no especifica qué tipo de SDRAM (DDR2, DDR3), etc. puede manejar. ¿Cómo puedo saber qué chips de memoria son compatibles?

  2. Al navegar a través de digitec, noté que casi todos los chips de memoria (?) 1G tienen 8 bancos, lo que es más de lo que puede manejar el SAM S70 (4 bancos máximo). Y todos los chips que encontré que ofrecen 1G en 4 bancos son solo DDR1. ¿Es limitada la cantidad de datos por banco?

  3. Tampoco estoy seguro de la cantidad de datos que el controlador de memoria en el SAMS S70 puede direccionar por banco (direcciones de fila / columna) y en total. Si leo la hoja de datos correctamente, la dirección más grande es 13 bits de la dirección de la fila, 11 bits de la dirección de la columna + 1 bit de desplazamiento de bytes + 2 bits de la dirección del banco, es decir, 27 direcciones de bits en total .. eso sería 1/8 de 1G, es decir, 128M?

  4. ¿Dónde juega el tamaño de la página en esto?

Sé que estas son muchas preguntas, pero estoy bastante abrumado por la cantidad de configuraciones de memoria y la información limitada en las hojas de datos no ayuda.

    
pregunta Xaser

2 respuestas

1

Hoja de datos dice en la primera página:

"Controlador de memoria estático (SMC) de -16 bits con soporte para SRAM, PSRAM, LCD Módulo, NOR y NAND Flash con codificación aleatoria

Controller Controlador SDRAM de 16 bits (SDRAMC) que se interconecta hasta 256 MB y sobre la marcha codificando "

Solo por mencionar: SAM S70 solo admite un ancho de bus de 16 bits (externo). Prefiero las MCU STM que también permiten 32 bits. Es importante para el rendimiento: si permite realizar búsquedas de código o utiliza 32 bits (int, flotar) o incluso palabras dobles (64 bits), obtendrá solo la mitad del rendimiento potencial de 1/2. Depende de qué y con qué frecuencia use la memoria externa (datos temporales o datos principales y código allí). Compruebe también si este MCU proporciona cachés, por ejemplo. ¿Es un Cortex-M4 / M7 con cachés? Si es así, configure la MPU correctamente para hacer uso de ella. Prefiero las MCU con cachés, más ITCM y DTCM, por ejemplo. STM32F7 para sistemas embebidos de alto rendimiento. La memoria externa la uso a menudo solo como un disco RAM o para búferes temporales, no como la memoria principal.

BTW: También puede verificar si usar SDIO (Tarjeta SD) también podría ser suficiente. Usted puede tener GB de espacio allí. Incluso a menudo se admite la obtención de códigos, es incluso más lento (por ejemplo, un bus de 4 bits). Pero mucho más fácil de conectar y crear una PCB con una ranura para tarjeta SD (o chip eMMC soldado).

O: ¿qué pasa con los chips de memoria SPI? ¿FRAMs?

BTW2: una memoria DDR real (a menudo solo para encontrar en los procesadores de aplicaciones Cortex-A, como LP-DDR2 o DDR3) es muy difícil de diseñar como PCB: necesitan una longitud de traza adecuada en todas las líneas, coincidencia de impedancia, también una terminación al final. No es un diseño fácil como con Static- (S) RAM o Static- (S) DRAM.

    
respondido por el Torsten Jaekel

Lea otras preguntas en las etiquetas