У меня есть два оставшихся 2 ГБ ОЗУ, которые я удалил из своего MacBook Pro при обновлении. Мне просто интересно, можно ли их использовать, например, с Arduino. Я был бы слишком новичком, чтобы действительно пытаться сделать это сейчас так или иначе, но мне любопытно, если это вообще возможно, или если это просто слишком много памяти для микроконтроллера для решения.
arduino
microcontroller
memory
johndeo
источник
источник
Ответы:
Я собираюсь сказать нет: самая основная несовместимость заключается в том, что слишком много выводов на этих модулях даже могут быть физически связаны с Arduino. То же самое для подобных небольших микроконтроллеров. ARM Cortex M3 приближается, но лишь немногие из них на самом деле имеют внешнюю шину, необходимую для взаимодействия ОЗУ таким образом (я думаю).
Но я буду играть дальше и идти дальше. Предполагая, что вы можете каким-то образом подключить чип к Arduino, еще одной основной проблемой электрической совместимости является требуемое напряжение. Я думаю, что эти модули оперативной памяти используют что-то странное, например, 2,2 В - отсутствует на ванильной плате Arduino или на самом деле, в любом другом простом микроконтроллере для любителей.
Предполагая, что об этом позаботятся, тогда чип будет работать почти как любая другая внешняя память для Arduino. Это действительно делается постоянно - люди добавляют внешнюю EEPROM для хранения важных констант или SD / MMC-карт для хранения логов веб-сервера и тому подобного. Конечно, в этом контексте модули оперативной памяти не приносят Arduino никакой реальной пользы. Его главная особенность - скорость, и Arduino (и да, другие любительские микроконтроллеры) обычно не разгоняются до 25 МГц по тактовой частоте. Они слишком медленные, чтобы заботиться о скорости. И размер хранилища не является большой проблемой, так как интерфейс к SD / MMC карте значительно проще и обеспечивает больше места для игры.
Так что даже если бы это было возможно, это не было бы действительно целесообразно.
источник
Я бы сказал, что нет, не вставляя между ними fpga хорошего размера (число пинов), fpga взаимодействует с памятью, а микроконтроллер взаимодействует с fpga по схеме пейджинга.
источник
Можно было бы использовать систему защелок, чтобы позволить что-то вроде arduino генерировать 32-битный адрес, и вы, вероятно, могли бы разработать какую-то схему для генерации циклов обновления, но в этом почти не было бы смысла, кроме как с технической точки зрения. упражнение.
Схема интерфейса, вероятно, будет самой сложной частью получившейся системы, и в результате будет мало практической пользы; Arduino не сможет выполнять код из ОЗУ, хранилище будет нестабильным и, вероятно, будет потреблять больше энергии, чем Arduino. Если вы хотите хранить данные, возможно, SPI EEPROM является гораздо лучшим решением.
источник
Если вы когда-нибудь посмотрите таблицы данных микросхем DRAM, то для DDR2 минимальная тактовая частота будет примерно 50 МГц +. Поэтому нет, вы не сможете взаимодействовать с ними с помощью микроконтроллера (если у него нет встроенной аппаратной поддержки).
источник
Краткий ответ: нет.
Arduino не может управлять интерфейсом памяти DDR или DDR2. Вы могли бы создать контроллер DDR / DDR2 с интерфейсом SPI с FPGA, но это важное начинание.
источник
Вам понадобится драйвер низкого напряжения (SSTL) и какой-нибудь способ управления примерно 100 каналами (каждый дифференциал, то есть около 200 контактов. Подумайте, BGA.)
Большая часть DRAM должна обновляться с частотой не менее 1 кГц и, возможно, большей, чтобы иметь низкий уровень ошибок по битам. Это тогда сформирует основную фоновую задачу и израсходует большую часть мощности Arduino, если возможно даже обновить память с такой скоростью.
Хотя вы можете взглянуть на некоторые микроконтроллеры, например, PIC24F / H / dsPIC33F, они поддерживают интерфейс параллельной главной шины, который обеспечивает доступ к некоторым типам параллельной SRAM. Есть даже поддержка с C, так как эта внешняя память может быть отображена на несколько переменных кода и даже блоков, которые объединяют как внутреннюю, так и внешнюю память. Внешняя память требует от вас написания некоторого кода PMB. Вы сможете использовать только до 1 МБ.
источник
Нет, не без пейджингового интерфейса между памятью и MCU. Некоторые из микроконтроллеров AVR действительно имеют встроенный интерфейс внешней памяти - например, Atmega2560 (см. Раздел 8 спецификации ATmega640 / 1280/1281/2560/2561). Но адресное пространство измеряется в килобайтах, а не в гигабайтах.
источник