我有兩個在升級時從MacBook Pro中刪除的剩餘2GB RAM模塊。我只是想知道它們是否可以與Arduino一起使用。我真是個初學者太多了,無論如何現在都不能嘗試這樣做,但是我很好奇這是否有可能,或者這是否是微控制器無法解決的太多內存。
我有兩個在升級時從MacBook Pro中刪除的剩餘2GB RAM模塊。我只是想知道它們是否可以與Arduino一起使用。我真是個初學者太多了,無論如何現在都不能嘗試這樣做,但是我很好奇這是否有可能,或者這是否是微控制器無法解決的太多內存。
我要說不:最基本的不兼容性是那些模塊上的引腳太多,甚至無法將其物理連接到Arduino。同樣適用於類似的小型微控制器。 ARM Cortex M3越來越近了,但是實際上很少有外部總線以這種方式連接RAM所必需的。(我認為)。
但我會繼續走下去。假設您可以通過某種方式將芯片與Arduino接口,則另一個基本的電氣兼容性問題是所需的電壓。我認為這些RAM模塊使用2.2V左右的電壓-在普通的Arduino板上甚至其他基本的業餘愛好者微控制器上都沒有。 Arduino的其他外部存儲器。實際上,這一直都是做到的-人們添加外部EEPROM來存儲重要的常數,或者添加SD / MMC卡來存儲Web服務器日誌等。當然,在這種情況下,RAM模塊不會給Arduino帶來真正的好處。它的主要功能是速度,而Arduino(也是,其他業餘愛好者微控制器)通常不會以25MHz的速度打破時鐘。他們太慢了,根本不在乎速度。而且,存儲容量並不是大問題,因為與SD / MMC卡的接口顯然更加容易,並且提供了足夠的可用空間。
因此,即使有可能也不是明智的選擇。
我會說不,不是在兩者之間不插入大小合適的(引腳數)fpga,fpga與內存對話,而微控制器則使用分頁方案與fpga對話。
可以想像,您可以使用鎖存器系統來允許像arduino之類的東西生成32位地址,並且可以設計出一些方案來生成刷新周期,但是這樣做幾乎沒有意義,除了
接口電路可能是結果系統中最複雜的部分,結果幾乎沒有實用價值。 arduino將無法從RAM中執行代碼,存儲將是易失的,並且可能比arduino消耗更多的電量。如果要存儲數據,則SPI EEPROM可能是更好的解決方案。
如果您查看DRAM芯片數據表,則DDR2的最低時鐘速度約為50MHz。因此,不,您將無法與它們與微控制器進行交互(除非它具有內置的硬件支持)。
簡短的回答是“否”。
Arduino無法驅動DDR或DDR2內存接口。您可以使用帶有SPI接口和FPGA的DDR / DDR2控制器,但這是一項艱鉅的任務。
您需要一個低壓驅動器(SSTL),並且需要某種方式來控制大約100個通道(每個差分通道,大約200個引腳。請考慮BGA。)
大多數DRAM必須在以下位置刷新至少為1kHz,甚至可能更高,以降低誤碼率。然後,這將構成一項主要的後台任務,並且甚至可能以這種速率刷新內存,從而耗盡Arduino的大部分處理能力。
您可以看到的是某些微控制器,例如PIC24F / H / dsPIC33F,它們支持並行主總線接口,該接口允許訪問某些類型的並行SRAM。甚至支持C語言,因為此外部存儲器可以映射到多個代碼變量中,甚至可以將內部和外部存儲器組合在一起的塊。外部存儲器要求您編寫一些PMB代碼。不過,您最多只能處理約1 MB。
否,不是在內存和MCU之間沒有某種分頁接口的情況。實際上,某些AVR MCU確實具有內置的外部存儲器接口-例如Atmega2560(請參閱ATmega640 / 1280/1281/2560/2561數據表的第8節)。但是地址空間的單位是千字節,而不是千兆字節。