Autor Tema: SDRAM vs SRAM para un uC  (Leído 1092 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
SDRAM vs SRAM para un uC
« en: 30 de Junio de 2015, 19:20:53 »
Buenas, tengo que agregar RAM a un sistema con microcontrolador. El micro es el stm32f407, el cual posee FSCM (Flexible Static Memory Controller). La duda que tengo es si sólo le puedo poner SRAM o si se puede usar SDRAM.
Tambien tengo dudas sobre que es lo que suele usar, por lo que leí, las memorias más simples son las SRAM, pero tienen muchas limitaciones? hay mucha diferencia entre las SRAM y las SDRAM?

Saludos y gracias!
-
Leonardo Garberoglio

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re: SDRAM vs SRAM para un uC
« Respuesta #1 en: 30 de Junio de 2015, 19:30:40 »
Hola, cuando dices que quieres agregarle RAM a un micro a que te refieres, a mas memoria de almacenamiento? Porque si es así puedes ponerle una nand.

La diferencia entre la SDRAM y la SRAM es que la sram no necesita de refresco mientras que la SDRAM si. La sram es mas rápida, pero de menores capacidades por norma general.

Añadirle memoria RAM de verdad, es añadirle DDR pero eso es de routeo difícil, tienes que meter mínimo 4 caras y pistas con lengh tuning y diferential pair, eso es mas para procesadores o por si usas un SO en tu microcontrolador.

Un saludo.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re: SDRAM vs SRAM para un uC
« Respuesta #2 en: 30 de Junio de 2015, 19:34:23 »
Para los distintos tipos de memoria, y como conectarlos al micro vete a las placas gordas de evaluación de ST que suelen tener sram SDRAM y nand, y los esquematicos, pero veras que te encuentras cosas con diferencial pair para el control de impedancias.

También debes tener en cuenta la capacidad de memoria, piensea siempre en bit no en bytes, porque esto te quitara bastantes pines ), y ST tiene una configuración de pines muy mala, de seguro te vas a quedar sin USB HS o sin ethernet o sin las dos.

Prueba a hacerlo con cube y mira todos los periféricos que pierdes, creo recordar que le podías poner hasta 24 bits de direcciones de memoria al ST no lo recuerdo bien.


Un saludo.
« Última modificación: 30 de Junio de 2015, 19:38:23 por juaperser1 »
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: SDRAM vs SRAM para un uC
« Respuesta #3 en: 30 de Junio de 2015, 19:45:57 »
Ok, la idea es agregar RAM para almacenamiento temporal, calculos y demás con señales de audio (ingresan por I2S). No requiero super velocidad como para agregar DDR.
Ahi vi que el stm32f407 posee FSCM, por lo que solo acepta memorias estáticas.
lamentablemente la dicovery que trae el 407 no trae SRAM. La stm32f429, que posee FMC, trae una SDRAM incorporada en la placa y hay ejemplos de código...
La principal duda era las grandes diferencias, por si voy a poder adaptar ejemplos de un micro al otro.
Por cierto, para agregar esa RAM se hace con un archivo a nivel linker? o sea que dentro del código la nueva memoria que agrego se direcciona de forma transparente, no hay comando de lectura y escritura específicos, verdad?

sds.
-
Leonardo Garberoglio

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2901
Re: SDRAM vs SRAM para un uC
« Respuesta #4 en: 01 de Julio de 2015, 09:52:16 »
hola Leo,

sinceramente no estoy muy metido en agregarle ram a un microcontrolador.

pero si tuviera que agregarle memoria que no sea en paralelo, intentaría que fuera por quadspi, es mucho mas rapido y puedes hasta hacer boot de linux desde una quadspi.

en cuanto a si es con el linker, si es una memoria serie, me temo que no (no se si se puede hacer pero lo dudo), tendrás que escribir tu las celdas con el protocolo que tenga la memoria, lo mas normal SPI.

es como una flash externa pero que puedes escribir muchas veces, y es volatil.

un saludo.



Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8137
Re: SDRAM vs SRAM para un uC
« Respuesta #5 en: 01 de Julio de 2015, 17:29:48 »
La stm32f429, que posee FMC, trae una SDRAM incorporada en la placa y hay ejemplos de código...
Por cierto, para agregar esa RAM se hace con un archivo a nivel linker? o sea que dentro del código la nueva memoria que agrego se direcciona de forma transparente, no hay comando de lectura y escritura específicos, verdad?

Y justamente no te podes fijar en el ejemplo ?
El micro es un Cortex-M4 y suelen tener ese acceso paralelo a las memorias de tal forma que se mapea en la memoria del uC, me refiero a que ARM deja un valor de direccion, para esos casos, asi accediendo a esas direcciones estas accediendo a las RAM, practicamente es un BUS.

Ejemplo en el uP de mi TI, en el modelo de memoria:

0x6000.0000 0xDFFF.FFFF EPI0 mapped peripheral and RAM
(EPI = External Parallel Interface )

Asi que imagino que debes configurar tu interfaz para la memoria y luego acceder a la misma apartir de esa direccion, como si fuera una RAM normal.
Ahora el compilador no sabe nada de eso, entonces si vas a tener que modificar tus archivos del linker y ahi definir, el comienzo/final o comienzo/largo, ademas si necesitas guardar si o si algo en ese punto, crear una seccion para ese valor, asi el compilador sabe que algunas variables van en la RAM externa o en la RAM interna.
Como hacer esa linea? depende del compilador xD
Aca hay una para Cocox
http://www1.coocox.org/forum/topic.php?id=4827


 

anything