Есть ли способ подключить оперативную память компьютера к Arduino?

Я думал о том, как повторно использовать оперативную память моего старого компьютера на плате Arduino. Я думал о некоторых проектах, использующих нейронные сети, и больший объем оперативной памяти позволил бы Arduino использовать больше нейронов.

И вот в чем мой вопрос: как я мог это сделать? Может быть, припаять несколько кабелей к контактам Tx/Rx и создать интерфейс между платой и памятью?

, 👍4

Обсуждение

Непрактично и особенно нерентабельно. Если вам нужно больше памяти, выберите то, у кого она есть, а не Arduino. Дешевые встроенные платы Linux, как правило, имеют объем от десятков до сотен мегабайт, и доступны системы с гигабайтами. Если вам нужно всего 200 КБ или около того, обратите внимание на некоторые высокопроизводительные одночиповые детали ARM Cortex M4, некоторые из которых могут работать с портами Arduino., @Chris Stratton

Нет. И добро пожаловать в Arduino., @SDsolar


4 ответа


0

Если очень постараться, возможно, это сработает, но это будет непросто.

В целом существует 2 типа оперативной памяти. Статическая и Динамичный. Вы можете втиснуть гораздо больше памяти в чип динамического ОЗУ, и это, скорее всего, есть в вашем компьютере. И, возможно, то, о чем вы спрашиваете в своем вопросе.

Динамическую память необходимо постоянно обновлять. В противном случае данные будут потеряны. Это настолько повторяющийся и трудоемкий процесс, что для освобождения процессора от этой задачи используется специальное оборудование. В общем, встроенные процессоры, такие как Atmel (используемые в большинстве плат Arduino), не имеют такого специализированного оборудования.

Поэтому будет (очень) сложно использовать память вашего компьютера в Arduino.

Тем не менее, существуют некоторые специализированные микросхемы оперативной памяти, которые вы можете использовать с Arduino. Но они, скорее всего, не похожи на микросхемы памяти вашего компьютера.

,

5

Нет, вы не можете подключить обычную память настольного компьютера к Arduino. По ряду причин:

  1. Компьютерная память (по крайней мере, последние 20 лет) — DDR SDRAM. Это синхронная динамическая оперативная память. Это требует очень строгой синхронизации и синхронной (на основе тактовой частоты) передачи данных с тактовой частотой, измеряемой сотнями МГц, чего Arduino не может сделать.
  2. Для взаимодействия с SDRAM вам понадобится много-много контактов ввода-вывода. Я имею в виду, просто посмотрите на все эти контакты – как бы вы подключили их к маленькому Arduino?
  3. При использовании DRAM вам необходимо использовать довольно сложный процесс, чтобы поддерживать обновление данных и предотвращать истощение емкости каждой ячейки. Да, эту сторону дела можно осуществить, но это не детская игра.

Единственный способ связать DDR SDRAM с Arduino — это использовать некую промежуточную интерфейсную систему, которая может сделать все вышеперечисленное за вас. Ваш лучший кандидат — разработать микросхему преобразования SPI в DDR с использованием FPGA и Verilog или VHDL. Таким образом, вы можете взаимодействовать с FPGA через SPI (или вы можете выбрать I2C, если хотите, или простой 8-битный параллельный протокол), а затем FPGA выполняет всю тяжелую работу, на которую Arduino не способен.

Однако, пока вы это делаете, вы также можете поместить ядро ЦП в FPGA (например, NIOS II или что-то в этом роде) и вообще отказаться от Arduino...

,

Или [OpenRISC](https://openrisc.io/)., @Emily L.


0

Прочитайте эту статью: ИСПОЛЬЗОВАНИЕ SIMMS ДЛЯ ДОБАВЛЕНИЯ НЕКОТОРОЙ ДОПОЛНИТЕЛЬНОЙ ОЗУ НА ВАШЕМ ARDUINO UNO

http:// hackaday.com/2014/04/09/using-simms-to-add-some-extra-ram-on-your-arduino-uno/

,

1

Я знаю, что это устарело, но в Google оно появилось, поэтому я здесь.

Забудьте о подключении любой современной компьютерной оперативной памяти к Arduino. Точка.

Однако старые SIMM 80-х/начала 90-х вполне можно использовать, приложив некоторые усилия, и их достаточно дешево, чтобы купить на eBay. Это те, которые вы обычно встречали в системах 386/486 или ранних версиях Pentium.

Вот пример: http://dmitry.gr/?r =05.Projects&proj=07.%20Linux%20on%208bit

Однако есть гораздо более простые и экономичные способы добавить оперативную память к 8-битному Arduino. Найдите SPI RAM. Вероятно, это то, что вы хотите. Это всего лишь 4-контактное соединение, и уже существует множество библиотек для взаимодействия с ними.

,