Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.07.2015, 09:56   #1
Arhat109
Senior Member
 
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0
Arhat109 is an unknown quantity at this point
По умолчанию xmem shield, расширение SRAM

Продублирую тут свои изыскания и возникшие вопросы:


Как известно, при подключении внешней памяти 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 вне форума   Ответить с цитированием
 

Метки
расширение памяти, sram extended, xmem


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:25. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика