Viabilidad de usar "RAM de computadora" con un proyecto de microcontrolador

¿Qué tan factible es que pueda conectar los pines de alguna variedad de "RAM de computadora" a un microcontrolador para usar como RAM externa?

¿Se usa hardware específico en las placas base de las computadoras que ayudan a conectar la RAM con el resto del sistema, o es tan simple como encontrar información de tiempo/transacción sobre el módulo de memoria e implementar/escribir un controlador de alguna manera?

Si bien me encanta esta pregunta, tengo la clara sensación de que la respuesta debería ser que esto no es factible para un diseño de microcontrolador. Necesitar esa cantidad de memoria definitivamente me haría buscar otras plataformas.
Esto parece un AVR con un módulo DRAM de computadora: dmitry.gr/index.php?proj=07.+Linux+on+8bit&r=05.Projects
Si bien la interfaz DRAM es posible, puede ser mucho más fácil trabajar con las RAM estáticas empaquetadas con DIP conectadas y extraídas de los bancos de caché de las placas base 486/pentium anteriores, ya que no requerirán ciclos de actualización. Si tiene un proyecto que necesita grandes cantidades de RAM, evalúe cuidadosamente el costo de usar una placa integrada lista para usar que ya tiene unos pocos cientos de MB de DRAM (y también una potencia de cómputo sustancial), en comparación con intentar injertar un gran banco de memoria en algo más limitado.

Respuestas (2)

Es 'solo' DRAM, por lo que puede interconectarlo exactamente como lo haría con cualquier otro DRAM. Tenga en cuenta, sin embargo, que la DRAM paralela es significativamente más intensiva en E/S y muy resistente en microcontroladores simples en comparación con SRAM. Además, la DRAM de 'computadora' siempre tiene múltiples paquetes de múltiples bancos de muchas páginas, por lo que debe implementar un controlador que reconozca el banco/paquete. De lo contrario, solo podrá abordar uno de los chips (dentro de uno de los paquetes).

En cuanto a los tiempos: eso es muy fácil. Hay una EEPROM i2c en cada banco que almacena los datos de temporización de una manera bastante sencilla (consulte la especificación DDRx y busque SPD).

Sin embargo, me gustaría señalar que, aunque es un pequeño proyecto interesante, en realidad no sería útil en un diseño práctico. La DRAM de computadora es significativamente más costosa de usar y tiene demasiadas especificaciones para cualquier plataforma de microcontrolador. Una visión general del costo:

  • Zócalo DRAM ($2 en pequeñas cantidades)
  • Microcontrolador inmensamente grande ($ 15 + además de lo que sea que tenga para obtener suficientes E / S)
  • Convertidor de CC/CC de 1,8 V rápido y bastante robusto ($2,50 por un conmutador)
  • Regulador de terminación ($1 por una pieza de Richtek)
  • bastante espacio de placa para el módulo

Si realmente necesitas gigas de RAM, esta puede ser la única opción económica. Sin embargo, si solo necesita un par (decenas de) megabytes, hay algunos chips PSRAM excelentes (por ejemplo, https://octopart.com/is66wve4m16bll-70bli-issi-21833083 ) que funcionan en (menos de) 48 E/S ( es decir, tamaños de paquetes de microcontroladores pequeños), cuestan menos de $5, casi no requieren espacio en la placa y aun así tienen un amplio rendimiento para cualquier microcontrolador.

"Una descripción general del costo": por supuesto, esto omite el costo del módulo de memoria en sí. En Best Buy, parece que cuestan $ 10 y más por GB.

Varios microcontroladores basados ​​en ARM tienen un bus externo diseñado para interactuar con la memoria DDR2, similar al que se usa en PC y portátiles.

Uno de ellos es el AT91SAM9G45 basado en ARM926EJ-S de Atmel. Aquí hay una nota de aplicación sobre la implementación de memoria DDR2 en dispositivos AT91SAM9G45.

Hay un kit de evaluación disponible de Mouser. Incluye 128 MB de DRAM externa. Incluso si no desea comprar uno (es costoso), la hoja de datos a la que me vinculé tiene todos los esquemas de referencia que serían un buen lugar para comenzar.

Tenga en cuenta que esta es una interfaz para DDR2 DRAM de una sola matriz, la memoria de computadora de tipo módulo de computadora es de matriz múltiple, paquete múltiple.
@ user36129 La nota de la aplicación vinculada en mi respuesta indica que puede admitir 4 bancos de memoria. Mirando el esquema de la placa de evaluación. utiliza dos chips MT47H64M8CF de 64 MB. En cualquier caso, actualicé mi respuesta a "similar a" en lugar de "igual que".