xmem Shield расширение памяти Ардуино - надо?

использование и разработка плат расширения

xmem Shield расширение памяти Ардуино - надо?

Сообщение Arhat109 » 12 июл 2015, 08:45

Как известно, при подключении внешней памяти SRAM до 56 килобайт (при внутренней SRAM в 8кб) можно обойтись ваще одним регистром-защелкой и такие платы китайцы делают ценой в районе $7-10 (ок. 500руб).

Внезапно, выпаял из какого-то нерабочего железа (нашел случайно на складе) память 2Мх16 и озадачился как её прикрутить к своей меге2560.. полез в даташит, и вот что получилось (хотелось получить максимум возможностей при миниуме деталей):

Нарисовал простенький контроллер дополнительной оперативы (SRAM) для Ардуино, имеющих интерфейс xmem вроде как есть в ATmega640, ATmega128, ATmega2560, а возможно в каких-то ещё процах.

Контроллер на 3-х дополнительных микросхемах малой степени интеграции (SN74, и т.д.) и одном инверторе на ключевом транзисторе, позволяет подключать расширенную память типа SRAM размером до 2 мегабайт. Или на двух микросхемах можно расширять до 128 килобайт.

Адреса xmem (16бит = 64кб), разделяются на 8 "окон" по 8 килобайт каждое. Нулевое окно - используется внутренней SRAM микроконтроллера и его адреса на шину xmem не выставляются (как понял из даташита). Под каждое окно, в контроллере сохраняется свой регистр страницы в 8 бит (всего до 256 страниц * 8кб = 2Мб). Запись в регистры страниц - управляется дополнительной ножкой Ардуины.

Всего в контроллере 16 регистров страниц, которые можно или использовать только 8 или превратить в 2 банка по 8 регистров, управляя ими отдельной ножкой. В этом случае можно обеспечить 2 банка регистров и соответственно 2 пространства расширенных адресов, например для "обычной работы" и "приоритетного режима" (напр. прерываний). На управление банками страниц выделил ещё одну ножку Ардуины.

Возможное применение - обработка больших массивов данных: изображений, звуковых файлов, работа с файлами на SD-картах, сетевые пакеты и т.д.

Вопросы:
0. Что-то подобное "готовое" - существует?
1. Это (кроме меня) кому-нибудь надо?
2. Какой программой можно развести плату? Желательно бесплатную и под Линукс.
3. Если развести плату, то можно заказать изготовление в Китае. Магазин сможет их продавать? Можно мылом на почту в личку.
Arhat109
 
Сообщения: 11
Зарегистрирован: 04 июл 2015, 13:34
programming: c++

Re: xmem Shield расширение памяти Ардуино - надо?

Сообщение noonv » 13 июл 2015, 14:19

Arhat109 писал(а):0. Что-то подобное "готовое" - существует?

http://playground.arduino.cc/Main/SpiRAM

Arhat109 писал(а):1. Это (кроме меня) кому-нибудь надо?

WANT 2 MEGABYTES OF SRAM FOR YOUR ARDUINO?

Arhat109 писал(а):2. Какой программой можно развести плату? Желательно бесплатную и под Линукс.

Eagle
Аватара пользователя
noonv
Администратор
 
Сообщения: 556
Зарегистрирован: 05 май 2011, 15:44
Откуда: Калининград
programming: С++

Re: xmem Shield расширение памяти Ардуино - надо?

Сообщение Zoltberg » 13 июл 2015, 14:31

2. Какой программой можно развести плату?

если такие вопросы, значит начинающий=) Тогда Sprint layout, DipTrace
Желательно бесплатную и под Линукс.

Тогда Eagle Cad или KiCad
3. Если развести плату, то можно заказать изготовление в Китае.

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

Какой? Наш? В принципе может, конкретней - нужна конкретика=)
сон разума рождает чудовищ
Аватара пользователя
Zoltberg
Администратор
 
Сообщения: 290
Зарегистрирован: 05 май 2011, 20:36
Откуда: Калининград

Re: xmem Shield расширение памяти Ардуино - надо?

Сообщение Arhat109 » 13 июл 2015, 18:27

1. SPI RAM и любая иная ПОСЛЕДОВАТЕЛЬНАЯ память - это вовсе ни разу "не тоже самое" что внутренняя SRAM микроконтроллера ... которой только у xMega есть 32 килобайта, да и то "не у всякой". У Меги - только 8килов, у многих других и "того меньше". Здесь речь идет практически о внешнем расширении именно этой, "параллельной" SRAM. Доступ к которой происходит обычными инструкциями ld / st с тактовой частотой процессора и всей мощью набора команд...

А то, что предлагается в качестве последовательной шины - это как "EEPROM": запросил байтик - получил, проси следующий... или как чтение с SD-карты "медленно и пичально".

... вот и интересуюсь "надо кому-то", чтобы у контроллера было не 8 килов, а скажем 128килобайт оперативы или ... аж 2 метра? :)

2. За программки пасибки, сел смотреть "с чем это едят". :) На сегодня, да можно сказать новичек. Просто не программировал на ASM/С/С++ около 17-лет, а платы не разводил "и того больше". Так что разводка плат - практически заново. И проги уже другие, и базы с железками ... да и шаг не тот. :)

3. Китайцев нашел тоже и легко и дешевше (ок. 25 руб плата похожего размера)... почему спрашиваю "кому-то надо"? Да просто всё: ну нет у меня этой 74-й обвязки, её все одно заказывать ... а там минимальные комплекты 5-10шт. Можно сразу и заказать и изготовить и получить уже готовый вариант, прямо из Китаю... но пакетом 5-10шт (маленькие по три, а большие но по пять). Спрашивается "нафига мне 10шт? :)

4. Конечно имел ввиду ваш магазин... пасибки. Не найду желающих сделать себе нормальное ОЗУ - возможно таки решусь и закажу ... тогда остаток буду искать через кого продать.

P.S.
1. Eagle у меня не встал. Почему-то распаковщик отказался с ним работать, после распаковки требует какую-то либу, а какую не говорит. Линукс Дебиан 64бит. Возможно из-за этого.
2. Kicad - встал с репы на "раз-два", вчера поигрался - все вроде просто и понятно, но библиотека железок - слабовата. Пришлось заносить нужный кусок из 74-й серии. Вроде справился: на принципиальную схему он встал нормально. Остальное вчера не успел. :)
Arhat109
 
Сообщения: 11
Зарегистрирован: 04 июл 2015, 13:34
programming: c++

Re: xmem Shield расширение памяти Ардуино - надо?

Сообщение Arhat109 » 15 июл 2015, 20:49

За пару вечеров так и не смог развести плату в kicad... то ли он автоматически сам не размещает компоненты, толи не разводит ... то ли тупо глючит. Так и не понял.

Отрисовал принципиальную схему, запустил какую-то ERC ... пожужжало и внезапно выдает что "пин не подсоединен никуда", хотя по схеме - явно есть провод. Ну да пофиг. Удалил, нарисовал новый ... упс. теперь уже другие пины "в никуда смотрят"... забил. Запускаешь "net" ... как понимаю "развести" и ... откраваешь "board" (pcbnew) ... а там все детальки "сложены" кучкой слева-вверху "за холстом" ... даже не сразу и нашел "куда он их запихнул" ... ладно, расставил по холсту руками ... повтор тыка в "net" ник чему не приводит ... тока белые линии связей промеж ножек, как и положено "по прямой строго" и бегают за элементом ... и?

Как этому чуду сказать, чтобы "сам расставил компоненты и развел"?
Arhat109
 
Сообщения: 11
Зарегистрирован: 04 июл 2015, 13:34
programming: c++

Re: xmem Shield расширение памяти Ардуино - надо?

Сообщение Zoltberg » 16 июл 2015, 00:34

К сожалению не смогу помочь ничем конкретным, я это чудо пару раз запускал, потыкал, почитал уроки/мануалы и снёс - не понравился совсем.
Не уверен, что там встроенный автороутинг имеется :du_ma_et:
Но гугл сказал что, вроде есть.
сон разума рождает чудовищ
Аватара пользователя
Zoltberg
Администратор
 
Сообщения: 290
Зарегистрирован: 05 май 2011, 20:36
Откуда: Калининград

Re: xmem Shield расширение памяти Ардуино - надо?

Сообщение Arhat109 » 16 июл 2015, 08:11

Вроде бы нашел вчера описание КАК на хабре. Но там несколько иная версия. Похоже надо ставить с сайта разработчика, а не из репы. Теперь уже не скоро. С этой недели "в отъезде до сентября" и могу тока на форумах флудить "изредка"... :)
Arhat109
 
Сообщения: 11
Зарегистрирован: 04 июл 2015, 13:34
programming: c++


Вернуться в Шилды (Shields)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron
© 2009-2017 |  О проекте  |  Политика Конфиденциальности  |