Увеличение RAM memory Ардуины

Maverik
Offline
Зарегистрирован: 12.09.2012

Легкое гугление показало, что и такое возможно. Для тех кто не очень разбирается в Ардуинках, речь только про RAM. В Ардуине память может быть следующих видов 

Flash - память, куда записывается сам скетч, часть этой памяти занята бутлоадером. Память энергонезависимая

EEPROM - память, куда можно записать немного переменных, энергонезависимая.

RAM - память, где хранятся и обрабатываются переменные во время работы скетча, энергозависимая

SD - внешнее хранение памяти на флешке sd или microsd, энергонезависимая.

так вооот...

http://forum.arduino.cc/index.php?topic=231883.0

 

step962
Offline
Зарегистрирован: 23.05.2011

Maverik пишет:

RAM - память, где хранятся и обрабатываются переменные во время работы скетча, энергозависимая

Ну и как вы объявите переменную в этой расширенной RAM?

Цитата:

SD - внешнее хранение памяти на флешке sd или microsd, энергонезависимая.

Вот это ближе - "внешнее хранение памяти на" микросхеме памяти с произвольным очень быстрым доступом, т.е. "SD-память, энерогозависимая"

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

так и думал что начнет новую тему

а толку от ардуины с доп. памятью если все пины заняты

это как мотор с большим баком бензина, но крутит только себя и ничего к нему не подцепишь. хорошо но толку от него

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

А DUE - не решение вопроса, если нужно много памяти?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

так ему и меги2560 хватило бы. и размер можно уменьшить. 86 байт всего не влезает. тут видно дело принципа

отсюда все пошло

http://arduino.ru/forum/proekty/mini-ostsillograf-arduino-na-lcd-5110?pa...

Maverik
Offline
Зарегистрирован: 12.09.2012

почему вы так однобоко рассуждаете ))

там скетч осциллографа, где реализован только самый базовый функционал. ну, поубивал я все обращения к уарту, ну почти влезло. но один хрен потом хотелось бы сделать вместо уарта задание параметров кнопками прибора и многие из этих переменных вернутся назад.  никакое не дело принципа а обычная математика. портов и флеш-памяти для большинства задач мне хватает на мини про, особенно удобно что она есть в 3.3 вольтовом исполнении, что есть зело пользительно для многой перефирии (датчики, дисплеи та же доп.память SRAM и та хочет 3 вольта). считаем тупо затраты

мега + левел шифтер 4050 или что-то аналогичное = 15 + 0.5  = 15.5  долларов на ебее

мини_про + 23К256 = 3+ 0.5 = 3.5 долларов.

Разница более чем в 4 раза.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Maverik пишет:

мини_про + 23К256 = 3+ 0.5 = 3.5 долларов.

Разница более чем в 4 раза.

Разница в 12 долларов звучит не так глобально...

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

но опять возвращаемся к первому вопросу: ты уверен в своих силах что сможешь создавать, хранить, изменять и считывать переменные во внешней памяти?

дело ведь не только в деньгах

eeprom память еще дешевле, почему тогда не использовать ее?

Maverik
Offline
Зарегистрирован: 12.09.2012

jeka_tm пишет:

но опять возвращаемся к первому вопросу: ты уверен в своих силах что сможешь создавать, хранить, изменять и считывать переменные во внешней памяти?

зачем вы ментроским тоном спрашиваете, если не разбираетесь ? я вроде уже на него отвечал, там ничего сложного нет, есть даже готовые библиотеки, которые на себя берут работу с памятью, всё доступно в тырнете, я ссылки уже давал.

Цитата:
eeprom память еще дешевле, почему тогда не использовать ее?

по той же причине, по которой usb-флешки обычно не используют как оперативную память в компьютерах. SRAM память физически по другому устроена, там ячейки памяти намного более скоростные но энергозависимые.
 
Цитата:
Разница в 12 долларов звучит не так глобально...
у меня лежит около двух десятков ардуинок мини, уже зарезервированные под всякие интересные приблуды. и уже получается, если всё это делать на мегах, разница в 13 тыс.рублей по нынешнему курсу.  и уже вроде как чуть по другому звучит, правда ?
это не говоря уже о том, что мегу еще не во всякий корпус запихаешь.
jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

Maverik
Offline
Зарегистрирован: 12.09.2012

jeka_tm пишет:

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

так тут не нужно изобретать лисопет, ежики уже полазили, покололись где можно, нашли тропу и сделали библиотеку с учетом своих ошибок и мануал вполне понятный накатали хоть и на английском.

а кто на этом форуме обсуждал проблему подключения внешней ОЗУ ? покажите пальцем.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

так вроде никто не заморачивался. делали проще. меняли камень

было обсуждение, но толку особо и экспериментов не было вроде

http://arduino.ru/forum/proekty/rasshirenie-operativnoi-pamyati-arduino

если ты купишь и сделаешь, да еще поделишься как это все далается будет прекрасно

часто памяти у людей не хватает, в основном изза буферов, а процессора достаточно

Maverik
Offline
Зарегистрирован: 12.09.2012

бред какой. по ссылке задача обсчитывать карту GPS-навигации. на это нужно хотябы 0.5 мегабайта и гораздо более мощный процессор. и обсуждение больше чем 3х годовой давности.

я вам третий раз объясняю, вопрос по подключению доп. ОЗУ с тех времен уже давно решен. http://ucexperiment.wordpress.com/2013/02/23/interfacing-microchip-23k256-32kb-sram-spi-memory-to-the-arduino/    34 kb для ардуины просто за глаза хватит.

а если нужны мегабайты памяти, значит неправильно выбрана платформа, нужен какой нибудь rusberry pi.

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

хорошо. жду результатов

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Maverik пишет:

у меня лежит около двух десятков ардуинок мини, уже зарезервированные под всякие интересные приблуды. и уже получается, если всё это делать на мегах, разница в 13 тыс.рублей по нынешнему курсу.  и уже вроде как чуть по другому звучит, правда ?

это не говоря уже о том, что мегу еще не во всякий корпус запихаешь.

Ладно, не злитесь. Делайте, как знаете. Только для меня вся прелесть использования Ардуино втом, что это готовое решение. Самодостаточное. А если так извращаться - то може всю концепуию поменять нужно?

Maverik
Offline
Зарегистрирован: 12.09.2012

да мне то пофиг, интересно просто другие мнения послушать. так то на любой вкус у каждого свои фломастеры.

решений самодостаточных в природе не существует, всегда нужно что-то допиливать.  в адруине в том числе.  каждый шилд для ардуины так и появился - что-то допилили.  если микросхему 23k256 поставить через переходник на dip-ножки, а в ардуину залить скетч с нужной библиотекой-  получится точно такой же шилд как и любой другой.  так что это вопрос больше религиозный.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Maverik пишет:

  так что это вопрос больше религиозный.

не утрируйте.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

тогда другой вопрос: что будет хранится во внешней памяти? если буфер дисплея это одно. байты и все относительно просто

а если float? уже сложнее. но решаемо

http://arduino.ru/forum/programmirovanie/kak-zapisat-peremennuyu-tipa-float-v-eeprom#comment-29582

также int придется разбивать. желательно все это оформить для удобной работы

библиотека о которой ты говорил может только писать байты по адресу. ну или мне такая попалась

Maverik
Offline
Зарегистрирован: 12.09.2012

jeka_tm, если можно, не комментируйте мои сообщения, это какой-то странный троллинг.

я вам уже четвертый раз говорю, что нормально всё работает, а вы мне опять тулите какую-то х.ню про работу с EEPROM.

это совершенно ДРУГОЙ вид памяти. учите матчасть.

и с EEPROM никаких проблем не было и нет, для самых ленивых давно написаны библиотеки типа EEPROM2, EEPROMex  где размер переменных тоже автоматически определеяется.

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

да почитай хоть. я не еепром тебе предлагаю, а как хранить флоат в памяти

и насчет работает как заработает тогда и будешь утверждать. пока у кого то работает просто запись байтов по адресу

да делай что хочешь. писать не буду

Maverik
Offline
Зарегистрирован: 12.09.2012

jeka_tm пишет:

да почитай хоть. я не еепром тебе предлагаю, а как хранить флоат в памяти

так же как и любые другие 4 байта данных.

Цитата:
и насчет работает как заработает тогда и будешь утверждать. пока у кого то работает просто запись байтов по адресу

работает запись и чтение байтов по адресу.

это значит, что в любом случае значение переменной можно хранить в виде указателя - записать переменную в адрес и сделать ссылку на этот адрес.

Цитата:

да делай что хочешь. писать не буду

спасибо тебе, добрый человек.

Juretsky
Offline
Зарегистрирован: 05.09.2015
axill
Offline
Зарегистрирован: 05.09.2011

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

настоящийи RAM можно подключить только к некоторым МК атмел. Например мега2560 которая стоит в ардуина мега или атмега128

там чип статической памяти цепляется к специальным пинам и работа с этой памятью дольше чем со встроенной всего на один машинный такт, а работа с ней ничем не отличается от встроенной

другое дело, если нужно много памяти иногда проше и дешевле взять МК с большей памятью

a5021
Offline
Зарегистрирован: 07.07.2013

Местный энтузиаст по фамилии Arhat109-2, еще с пол-года назад грозился сконструировать мегу с невообразимым объемом ОЗУ. Только дело, как-то потихоньку заглохло и никакой супер-меги так и не появилось.

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

Очередное изобретение велосипеда... У нас в углах столько компов древних валяется... Дербаним помаленьку и выбрасываем... А ведь там такие возможности...

axill
Offline
Зарегистрирован: 05.09.2011

Gres пишет:

Очередное изобретение велосипеда... У нас в углах столько компов древних валяется... Дербаним помаленьку и выбрасываем... А ведь там такие возможности...

гринпис вас не одобрит) старые компы жрут много. Да и динамическая память для МК не самый хороший выбор, лучше статика

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Ну почему "не получилось"? Тут где-то есть "проект" в котором выложены фотки макетки на 64кб, макетка запаяна и ждет своего часа для проверки. Просто сейчас - задачи несколько иные, только и всего.

Ну и, чтобы развивать тему, хочу таки найти 74HC740 или похожие регистры для хранения расширенной части адреса и уже погоняв макетку делать нормальный узел для своей "Ардуины как Лего" .. там у меня есть один "затык", а именно: практически все 70 ног Меги уже расписаны под прием/управление периферией блока .. похоже чтобы вернуться к памяти надо таки допаивать недостающие 16 ног, а это пока ишо "стра-ашно". Пока морально готовлюсь. :)

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

Arhat109-2 пишет:

Просто сейчас - задачи несколько иные, только и всего.

да ладно - просто оказалось, что тебе самому нахнен не нужно.

axill
Offline
Зарегистрирован: 05.09.2011

ради любопытсива конечно можно прикрутить внешнюю RAM к тем чипам которые имеют интерфейс к внешней памяти (atmega328 не имеет)

но с практической точки зрения это конечно лишено какого либо смысла

если не хватает RAM в UNO, надо брать MEGA. Если не хватает MEGA надо брать STM32

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Пока - да, невостребовано. То что делается - вполне укладывается в то что есть "с запасом". Но это "пока". Ибо ещё нет толком работы с дисплеем, гироскопами, газоанализаторами .. есть мысля собрать "ретрокомп" а-ля спектрум с интерпретатором, есть мысля сделать "граф программирование" с дисплея .. да многое пока ещё лежит и ждет сволего часу. Хотелки возникают куда быстрей реализаций. Как обычно, впрочем. :)

axill
Offline
Зарегистрирован: 05.09.2011

зачем этот ретрокомп? чисто из любви к искусству?

В общем то микроконтроллеры специально отделили от микропроцессоров, чтобы решать автономные задачи, они придуманы не для компьютеров. Хотя конечно делать можно все что душе угодно

я свой ретро комп собирал в прошлом веке на Z80, с 16к ПЗУ, 640к RAM, двумя флоппи и полноценной системой CPM ) предшественнийей MSDOS

делать что то подобное на современном МК конечно прикольно, но не особо сложно

вон я понимаю на форуме easyelectronics звучала идея сделать комп на простой логике. Вот это головоломка )

nevkon
Offline
Зарегистрирован: 20.01.2015

Надо фотку платы факса древнего выложить. Там МК с 4К флеш и до 100 байт ОЗУ рулил. Стоит кучка микросхем РОМ и кучка РАМ памяти. Так что все зависит от задачи.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015
axill
Offline
Зарегистрирован: 05.09.2011

nevkon пишет:

Надо фотку платы факса древнего выложить. Там МК с 4К флеш и до 100 байт ОЗУ рулил. Стоит кучка микросхем РОМ и кучка РАМ памяти. Так что все зависит от задачи.

надо копать глубже, до МИР-2 например, там большие такие платки были на несколько десятков байт оперативной памяти на феритовых кольцах )

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Это вы еще Проминь не видели, большой калькулятор размером с хороший стол с наборным полем и с перемычками, на которых написаны цифры, действия, думаю там памяти совсем не было, но программа набиралась на наборном поле перемычками. Я уж молчу про аналоговый вычислитель, на лабах крутили/считали, тогда было грустно, а щас, забавно вспоминать :)

А МИР-какой-то нам вообще в общагу отдали, но так никто восстанавливать не захотел.

На ДВКшку делали внешние банки памяти, тоже было.

На СМ-3 или 4, не помню, было памяти 28К слов, на которой ОС крутилась и задачи.

Ок, пора забыть, пожалуй. :)

 

RANDREY
Offline
Зарегистрирован: 10.06.2012

вроде по Spi есть память?

alexvs
Offline
Зарегистрирован: 22.07.2014

axill пишет:

если не хватает RAM в UNO, надо брать MEGA. Если не хватает MEGA надо брать STM32

Если не хватает MEGA, для начала посмотрите в сторону ATMega1284P-PU, там уже 16Кб RAM и удобный DIP-40 корпус. Правда флэш памяти 128Кб, но это и не мало.

axill
Offline
Зарегистрирован: 05.09.2011

RANDREY пишет:

вроде по Spi есть память?


Всякая есть
По spi это уже не RAM, это внешняя память доступ к которой будет раз в 100 медленнее

axill
Offline
Зарегистрирован: 05.09.2011

alexvs пишет:

Если не хватает MEGA, для начала посмотрите в сторону ATMega1284P-PU, там уже 16Кб RAM и удобный DIP-40 корпус. Правда флэш памяти 128Кб, но это и не мало.


Как бы да, но такая экзотика как мега1284 стоит намного дороже stm32 в которой в cortex m3 уже 20кб минимум и до 128к

alexvs
Offline
Зарегистрирован: 22.07.2014

axill пишет:

Как бы да, но такая экзотика как мега1284 стоит намного дороже stm32 в которой в cortex m3 уже 20кб минимум и до 128к

1284 сейчас можно взять примерно за 510-530 руб. Согласен, не дешево. Но зато теперь уже родной AVR, а мне например STR32 нужно с 0 осваивать.

RANDREY
Offline
Зарегистрирован: 10.06.2012

да, стм это уже другое программирование, кто умеет переходит и не хватает пинов-частоты-прерываний-цапов,а кому нужна очень быстрая разработка, пока хватает ресурсов остаются на арме.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Кстати, посмотрел и озадачился. Почему народ редко юзает такие МК как AT90USB1286(1287) или ATxMega? В 90-й серии есть в частности USB и интерфейс к внешней ОЗУ и теже 8кб своей .. у Х-мег ваще до 32 килов ОЗУ и тоже есть со встроенным USB .. может кто пояснить, почему все так "запали" на 328 кристалл мег и при этом возмущаются что "маловато"? :)

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

Arhat109-2 пишет:

может кто пояснить, почему все так "запали" на 328 кристалл мег и при этом возмущаются что "маловато"? :)

потому, что нисчеброды - посмотри цены на корпуса.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Смотрел уже. 90-я серия в районе 300-500руб была, Мега2560 - в том же пределе, и даже дешевле видел, Х-меги - чуть подороже, но не существенно.

Ну не 5руб/шт с инструкцией, готовым скетчем и подарочной упаковке с бантиком .. но и не такие уж большие бабки, чтобы годами извращаться.

nevkon
Offline
Зарегистрирован: 20.01.2015

500 рублей за чип? Это что компьютер, за что такие деньги?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Это даже лучше и дешевле не только лишь "компьютера", а даже хорошего, настояшего пива. :)

nevkon
Offline
Зарегистрирован: 20.01.2015

Сравним?

http://ru.aliexpress.com/item/ATXMEGA256A3-AU-MCU-AVR-256K-FLASH-1-8V-64... - 1000р

http://ru.aliexpress.com/item/Orange-Pi-One-ubuntu-linux-and-android-min... - тоже 1000р, но уже готовый к использованию

RANDREY
Offline
Зарегистрирован: 10.06.2012

круто, а во втором на лине надо программировать? и сколько жрет энергии?

nevkon
Offline
Зарегистрирован: 20.01.2015

Можно просто пользовать, можно программировать. Есть разные сборки линукса на него.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

http://www.aliexpress.com/item/5pcs-lot-ATXMEGA128A1-AU-in-stock-can-pay/32614298870.html вот тоже не плохо ATxmega128A1 - 32кб ОЗУ .. 250руб/шт.

или вот http://www.aliexpress.com/item/Free-shipping-10pcs-lot-Free-shipping-ATXMEGA256A3-AU-ATXMEGA256A3-new-original/32510072492.html ваша хМега2560 около 450руб/шт.

или вот обычная Мега250  http://www.aliexpress.com/item/Free-shipping-10pcs-lots-ATMEGA2560-16AU-... 235руб/шт.

faeton
faeton аватар
Offline
Зарегистрирован: 21.03.2016

Arhat109-2 пишет:

Кстати, посмотрел и озадачился. Почему народ редко юзает такие МК как AT90USB1286(1287) или ATxMega? В 90-й серии есть в частности USB и интерфейс к внешней ОЗУ и теже 8кб своей .. у Х-мег ваще до 32 килов ОЗУ и тоже есть со встроенным USB .. может кто пояснить, почему все так "запали" на 328 кристалл мег и при этом возмущаются что "маловато"? :)

Почему не используют? 128-я мега как раз и самая ходовая. Я в одном устройстве использовал 90-ю, но тогда я руководил разработкий и по какой причине именно её выбрал конструктор взамен первоначально выбранной 128-й точно не знаю. :)

А вообще, я вчера купил себе вот такую плату: http://ru.aliexpress.com/item/STM32-development-board-STM32-core-Board-STM32F103ZET6-Board-cortex-M3/32386612549.html для попробовать. Пока не знаю с какой стороны подойти, но я и атмел взял в руки пару недель назад. :) У СТ выбрать процессор намного проще - в названии параметры разрядности, производительности, памяти, не то что е меги как бык поссал. :)