我在升级时从 MacBook Pro 中移除了两个剩余的 2GB RAM 模块。我只是想知道这些是否可以与例如 Arduino 一起使用。无论如何,我现在都不是初学者,实际上无法尝试这样做,但我很好奇它是否有可能,或者这是否只是微控制器无法解决的太多内存。
是否可以将数 GB DRAM 模块与微控制器一起使用?
我要说不:最基本的不兼容是这些模块上的引脚太多,甚至无法将其物理连接到 Arduino。类似的小型微控制器也是如此。ARM Cortex M3 越来越近了,但其中很少有真正具有以这种方式连接 RAM 所需的外部总线(我认为)。
但我会继续玩下去。假设您可以以某种方式将芯片连接到 Arduino,另一个基本的电气兼容性问题是所需的电压。我认为这些 RAM 模块使用了一些奇怪的东西,比如 2.2V——没有出现在香草 Arduino 板上,或者真的没有出现在任何其他基本的爱好者微控制器上。
假设已经处理好,那么芯片几乎可以像 Arduino 的任何其他外部存储器一样工作。这实际上一直在做——人们添加外部 EEPROM 来存储重要的常量或 SD/MMC 卡来存储网络服务器日志等。当然,在这种情况下,RAM 模块对 Arduino 并没有真正的好处。它的主要特点是速度,而 Arduino(是的,其他爱好者微控制器)通常不会打破 25MHz 的时钟速度。他们太慢了,根本不在乎速度。而且存储大小不是一个大问题,因为与 SD/MMC 卡的接口明显更容易,并且提供了尽可能多的空间来玩。
因此,即使有可能,也不建议这样做。
我会说不,不是没有在两者之间粘贴一个合适大小(引脚数)的 fpga,fpga 与内存通信,而微控制器使用分页方案与 fpga 通信。
您可以想象使用锁存器系统来允许像 arduino 这样的东西生成 32 位地址,并且您可能会设计一些方案来生成刷新周期,但是这样做几乎没有意义,除非作为技术锻炼。
接口电路可能是最终系统中最复杂的部分,结果几乎没有实用价值;arduino 将无法从 RAM 中执行代码,存储将是易失的,并且可能会比 arduino 消耗更多的功率。如果要存储数据,SPI EEPROM 可能是更好的解决方案。
如果您查看 DRAM 芯片数据表,DDR2 的最低时钟速度为 50MHz+。所以不,您将无法通过微控制器与它们进行交互(除非它具有内置硬件支持)。