Tengo dos módulos de RAM de 2GB sobrantes que eliminé de mi MacBook Pro cuando hice una actualización. Me preguntaba si se podrían utilizar, por ejemplo, con un Arduino. De todos modos, sería demasiado principiante para tratar de hacer esto de todos modos, pero tengo curiosidad por saber si es posible o si eso es demasiada memoria para que un microcontrolador pueda abordarlo.
arduino
microcontroller
memory
johndeo
fuente
fuente
Respuestas:
Voy a decir que no: la incompatibilidad más básica es que hay demasiados pines en esos módulos que incluso pueden conectarse físicamente a un Arduino. Lo mismo para microcontroladores pequeños similares. Un ARM Cortex M3 se está acercando, pero pocos de ellos tienen realmente el bus externo necesario para interconectar la RAM de esa manera (creo).
Pero jugaré un paso más allá. Suponiendo que pueda conectar el chip al Arduino de alguna manera, otro problema básico de compatibilidad eléctrica son los voltajes requeridos. Creo que estos módulos de RAM usan algo extraño como 2.2V, no presente en una placa Arduino de vainilla o realmente, cualquier otro microcontrolador básico para aficionados.
Suponiendo que eso se haya solucionado, el chip funcionaría prácticamente como cualquier otra memoria externa para el Arduino. Esto realmente se hace todo el tiempo: las personas agregan EEPROM externa para almacenar constantes importantes o tarjetas SD / MMC para el almacenamiento de registros del servidor web y demás. Por supuesto, dentro de este contexto, los módulos RAM no presentan ningún beneficio real para el Arduino. Su característica principal es la velocidad y el Arduino (y sí, otros microcontroladores aficionados) generalmente no rompen 25MHz en la velocidad del reloj. Son demasiado lentos para preocuparse por la velocidad. Y el tamaño de almacenamiento no es un gran problema ya que la interfaz con una tarjeta SD / MMC es claramente más fácil y proporciona tanto espacio para jugar.
Entonces, incluso si fuera posible, no sería realmente aconsejable.
fuente
Yo diría que no, no sin pegar una fpga de buen tamaño (recuento de pines) en el medio, la fpga habla con la memoria y el microcontrolador habla con la fpga mediante un esquema de paginación.
fuente
Posiblemente podría usar un sistema de pestillos para permitir que algo como un arduino genere 32 bits de dirección, y probablemente podría idear algún esquema para generar los ciclos de actualización, pero casi no tendría sentido hacerlo, excepto como una técnica ejercicio.
El circuito de interfaz probablemente sería la parte más compleja del sistema resultante, y el resultado tendría poco valor práctico; el arduino no podría ejecutar código desde la RAM, el almacenamiento sería volátil y probablemente también consumiría más energía que el arduino. Si desea almacenar datos, una EEPROM SPI es probablemente una solución mucho mejor.
fuente
Si alguna vez observa las hojas de datos del chip DRAM, hay una velocidad de reloj mínima de algo así como 50MHz + para DDR2. Por lo tanto, no, no podrá interactuar con ellos con un microcontrolador (a menos que tenga soporte de hardware incorporado).
fuente
La respuesta corta es no.
El Arduino no puede manejar la interfaz de memoria DDR o DDR2. Podría hacer un controlador DDR / DDR2 con una interfaz SPI con un FPGA, pero esa es una tarea importante.
fuente
Necesitaría un controlador de bajo voltaje (SSTL) y alguna forma de controlar aproximadamente 100 canales (cada diferencial, por lo que unos 200 pines. Piense en BGA).
La mayoría de las DRAM deben actualizarse al menos a 1 kHz y probablemente más para tener una baja tasa de error de bits. Esto formará una importante tarea en segundo plano y usará la mayor parte del poder de procesamiento del Arduino, si es posible actualizar la memoria a esa velocidad.
Sin embargo, lo que puede ver es con algunos microcontroladores, por ejemplo, PIC24F / H / dsPIC33F, que admiten una interfaz de bus maestro paralelo, que permite acceder a algunos tipos de SRAM paralelas. Incluso hay soporte con C, ya que esta memoria externa se puede asignar a varias variables de código e incluso a bloques que combinan memorias internas y externas. La memoria externa requiere que escriba un código PMB. Sin embargo, solo podrá abordar hasta aproximadamente 1 MB con esto.
fuente
No, no sin una interfaz de paginación de algún tipo entre la memoria y la MCU. De hecho, algunas de las MCU AVR tienen una interfaz de memoria externa incorporada: Atmega2560, por ejemplo (consulte la sección 8 de la hoja de datos ATmega640 / 1280/1281/2560/2561). Pero el espacio de direcciones se mide en kilobytes, no en gigabytes.
fuente