Есть ли способ подключить оперативную память компьютера к Arduino?
Я думал о том, как повторно использовать оперативную память моего старого компьютера на плате Arduino. Я думал о некоторых проектах, использующих нейронные сети, и больший объем оперативной памяти позволил бы Arduino использовать больше нейронов.
И вот в чем мой вопрос: как я мог это сделать? Может быть, припаять несколько кабелей к контактам Tx/Rx и создать интерфейс между платой и памятью?
@Jaime_mc2, 👍4
Обсуждение4 ответа
Если очень постараться, возможно, это сработает, но это будет непросто.
В целом существует 2 типа оперативной памяти. Статическая и Динамичный. Вы можете втиснуть гораздо больше памяти в чип динамического ОЗУ, и это, скорее всего, есть в вашем компьютере. И, возможно, то, о чем вы спрашиваете в своем вопросе.
Динамическую память необходимо постоянно обновлять. В противном случае данные будут потеряны. Это настолько повторяющийся и трудоемкий процесс, что для освобождения процессора от этой задачи используется специальное оборудование. В общем, встроенные процессоры, такие как Atmel (используемые в большинстве плат Arduino), не имеют такого специализированного оборудования.
Поэтому будет (очень) сложно использовать память вашего компьютера в Arduino.
Тем не менее, существуют некоторые специализированные микросхемы оперативной памяти, которые вы можете использовать с Arduino. Но они, скорее всего, не похожи на микросхемы памяти вашего компьютера.
Нет, вы не можете подключить обычную память настольного компьютера к Arduino. По ряду причин:
- Компьютерная память (по крайней мере, последние 20 лет) — DDR SDRAM. Это синхронная динамическая оперативная память. Это требует очень строгой синхронизации и синхронной (на основе тактовой частоты) передачи данных с тактовой частотой, измеряемой сотнями МГц, чего Arduino не может сделать.
- Для взаимодействия с SDRAM вам понадобится много-много контактов ввода-вывода. Я имею в виду, просто посмотрите на все эти контакты – как бы вы подключили их к маленькому Arduino?
- При использовании 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.
Прочитайте эту статью: ИСПОЛЬЗОВАНИЕ SIMMS ДЛЯ ДОБАВЛЕНИЯ НЕКОТОРОЙ ДОПОЛНИТЕЛЬНОЙ ОЗУ НА ВАШЕМ ARDUINO UNO
http:// hackaday.com/2014/04/09/using-simms-to-add-some-extra-ram-on-your-arduino-uno/
Я знаю, что это устарело, но в 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-контактное соединение, и уже существует множество библиотек для взаимодействия с ними.
- Последовательная печать из флэш-памяти (F() macro, PROGMEM, sprintf_P, SPTR)
- Подключить SDRAM к STM32
- Как заставить BLE и WiFi IoT работать с памятью без проблем ?
- Получить доступ к EEPROM ATtiny с помощью кода Arduino?
- Выделение строковой памяти Arduino
- Как очистить кучу памяти в esp32
- Есть ли способ добавить внешнюю оперативную память (скажем, 100 МБ или 200 МБ) в этом контексте микширования аудиобуфера?
- Альтернатива SoftwareSerial с низким объемом памяти?
Непрактично и особенно нерентабельно. Если вам нужно больше памяти, выберите то, у кого она есть, а не Arduino. Дешевые встроенные платы Linux, как правило, имеют объем от десятков до сотен мегабайт, и доступны системы с гигабайтами. Если вам нужно всего 200 КБ или около того, обратите внимание на некоторые высокопроизводительные одночиповые детали ARM Cortex M4, некоторые из которых могут работать с портами Arduino., @Chris Stratton
Нет. И добро пожаловать в Arduino., @SDsolar