Страница 1 из 3

Увеличение Flash AT90s2313

Добавлено: Вс дек 10, 2006 15:02:03
moyo@81
Здравствуйте меня зовут Moyo@81. Я решил увеличить объем Flash памяти контроллера AT90S2313 так как другой контроллер для моей задачи брать нецелнсообразно, но не знаю как это сделать, пожалуйсто подскажите!!!!!!

Добавлено: Вс дек 10, 2006 17:27:06
teoretic
[флуд]
Все очень просто! Надо изобрести наномолекулярный интеллектуальный трансмиттер и переделать структуру подложки кристалла. Или тайно пробраться в штаб квартиру атмела и изменить спецификацию, подождать пару лет. Или изобрести машину времени, вернуться в прошлое, стать главным конструктором атмела и повелеть сделать микроконтроллер с нужными характеристиками.
[\флуд]

А теперь серьезно. Флеш увеличить НЕЛЬЗЯ ибо он встроен на уровне ПОДЛОЖКИ кристалла. Для решения данной проблеммы могу только посоветовать плюнуть на не использование некоторого количества ножек\функций и взять другой МК.

Так-же можно
1. Использовать какой-нить дешевый ПЛИС(кто-то скажет - по воробьям из орбитальной плазменной пушки, но в россии не продают действительно маленьких плисок, по крайней мере в рознице)
2. Взять МК с другой архитектурой и внешней памятью (ну здесь все понятно. я надеюсь) (З.Ы. есть с последовательной внешней памятью программ - сам видел, но это было давно и на плис :) )
3. Сделать сеть из МК и распределить излишний код по разным кристаллам. Проблемма - сетево-распределенный код - от 1к кода :(

------
З.Ы. Надеюсь, что уважаемый постер не станет делать машину времени на 2313 8) Про машину времени в "МЯЯЯУ" мы сошлись на том, что её лучше всего делать на транзисторах П4 и лампах 6П3С. На американских деталя даже доктор Эммет фон Браун свою не делал :))) мышонок

Добавлено: Вс дек 10, 2006 18:11:01
Kotjara
moyo@81:
Ты точно имеешь ввиду FLASH(память программы)?
Если да - то другой МК как раз брать целесообразно.
И teoretic прав ее не увеличить.

Но возможно ты имел ввиду EEPROM(память данных)?
Ее увеличить можно без проблем.

Добавлено: Пн дек 11, 2006 16:58:23
moyo@81
Понял про Flash и просветился и теперь поставлю вопрос по другому. Я написал программу для звонка ПАТРИОТ. Программа, которую я написал, позволяет хранить в себе до 256 мелодий, но у AT90S2313 Flash всего 2 кило и в результате у меня поместилось всего 12 мелодий. Каждая мелодия представляет массив, в принципе можно поместить массив каждой мелодии в EEPROM, но места в 2313 всего 128 байт, влезет максимум 2 мелодии. Хотелось бы тогда узнать как увеличить EEPROM минимум до 30 кило поместить туда массивы мелодий, и каким образом можно будет туда обращаться и считывать нужный массив при помощи основной программы, которая будет сидеть во Flash.

Добавлено: Пн дек 11, 2006 17:14:16
teoretic
О! Правильно поставленный аопрос есть уже половина ответа.
Для увеличения eeprom, тобиш постоянной памяти данных надо приделать внешнюю микросхемку.
Вариантов, в принципе, море - как по объемам, так и по интерфейсам.

Если мне не изменяет память, то в 90s2313 с внешними интерфейсам туго, по этому придется делать программную эмуляцию - примерно 300-512 байт на SPI\I2C (есть отполированный I2C мастер :) ).

В принциае я-бы посоветовал приделать I2C eeprom на сколько надо байт - работать с ним просто и приятно - около 300-500 байт кода на эмуляцию, смешной и простой протокол с возможностью автоинкремента адреса при чтении.

А вот со скоростью могут возникнуть трудности - скорость работы ненаглядного интерфейса 100\400kHz (для второй опции нужен квварц примерно на 4Мгц). Может и не хватить. Теоретически из этого можновывернуться буфферизацией.
Вторая заковырка - обмен занимает процессорное время, но его можно запихнуть в бэкграунд, чтобы не мешал основной программе и работал в свободные кванты времени (если таковые есть).

Опции предложены. Choose your destiny.

Добавлено: Пн дек 11, 2006 22:03:50
moyo@81
Что это за отполированный I2C мастер?

Добавлено: Пн дек 11, 2006 23:13:37
teoretic
Софтварная эмуляция I2C мастера\ведущего устройства. Драйвера для икроконтроллера, высокоинтеллектуального (в пределах зашитой программы) устройства, а не какого-нибудь еепрома или порта расширения или датчика температуры :)

Делал по примеру Атмеловского даташита, но с вырезкой жира и наращиванием мышц.

Добавлено: Вт дек 12, 2006 18:33:04
Tohey
Замени на ATtiny2313, тоже самое + USI (железный i2C). И на этот USI вешай eeprom...

Добавлено: Вт дек 12, 2006 23:38:20
xelos
...

Добавлено: Ср дек 13, 2006 13:08:34
moyo@81
Tohey:
А ATtiny2313 он полностью один в один, в монтаже ни каких изменений делать не надо??

Добавлено: Ср дек 13, 2006 13:14:20
Moyo
Ура, ура, ура, ура наконецто вспомнил я свой пароль теперь я не moyo@81, а moyo!!!!!!!!!!!!!!!!!! Как приятно избавиться от @81.

Из жалобы пациента: "Доктор, я не выговариваю букву @"! :) мышонок

Добавлено: Ср дек 13, 2006 18:51:02
Tohey
А ATtiny2313 он полностью один в один,

Один в один, и стоит дешевле :)) , и ещё кажется может работать без кварца :idea: .
в монтаже ни каких изменений делать не надо??

Смотря какие у тя ноги заняты. там используются для i2c ноги 17 и 19 (SDA и SCL), смотри даташит (Universal Serial Interface).

Добавлено: Ср дек 13, 2006 23:18:44
Moyo
Спасибо за совет с контроллером разбирусь, а чтобы долго не не лазить инфу не фильтровать я бы хотел узнать, какие EEPROM I2C поддерживают, надо от 30 кило и выше, маркировка какиенибудь ссылки на инфу по тому как их объединить в одно целое, в смысле 2313 и EEPROM, какиенибудь примеры, схемы включения, програмки на ассемблере и т.п.

Добавлено: Чт дек 14, 2006 02:04:11
Tohey
Я знаю есть (at)24С16, вроде на 16кБ.
А вот ещё вычитал (самому интересно стало), вроде как USI может работать в режиме SPI, но на счёт EEPROM c SPI незнаю - не работал, но по идеи это быстрее и легче в программизме...

Добавлено: Чт дек 14, 2006 11:50:25
Moyo
Нашол EEPROM FM24C256 в ней аш 256 Kb и она имеет встроеный I2C и стоит у нас в www.promelec.ru всего 166 рублей правда мелкооптовая цена ,но даже в розницу я готов отдать 200р. С такой памятью можно немного доработать програмку моего звонка и можно будет хранить и воспроизводить до 65536 мелодий. Ну это только мечты, а в реальности надо разобратся с тем как увязать ATtiny2313 с FM24C256. Между собой я их спаяю, хотя будет интересно посмотреть предложенные варианты.
Остается один вопрос. Как организовать обмен данных, есть ли какиенибудь примеры на ассемблере или обучающие статьи???
Моя цель загнать в EEPROM масивы мелодий, а потом обращаться и считывать нужный масив и воспроизводить мелодию.

Добавлено: Чт дек 14, 2006 14:44:05
Kotjara
Moyo писал(а):Остается один вопрос. Как организовать обмен данных, есть ли какиенибудь примеры на ассемблере или обучающие статьи???
Моя цель загнать в EEPROM масивы мелодий, а потом обращаться и считывать нужный масив и воспроизводить мелодию.


Назначаешь каждой мелодии два числа. Первое содержит адрес начала мелодии, а второе размер.
Считываешь первый байт, потом размер декрементируешь, а адрес инкрементируешь, потом считываешь второй байт и т.д. пока размер не станет равен нулю.

С SPI интерфейсом смотри в сторону AT45DB..

Добавлено: Чт дек 14, 2006 15:19:17
Tohey
вот сцылка http://www.itt-ltd.com/reference/ref_i2c.html, а ещё форумский поиск выдаёт много интересного и полезного.
И ещё можешь скачать VMLAB, в нём есть экзампл с монитором i2c. Запись и чтение eeprom нарисовано в документации

Добавлено: Чт дек 14, 2006 18:21:02
moLCHec
Юзал 24С512 могу скинуть нароботки на Си(ICC for AVR)

Добавлено: Чт дек 14, 2006 22:04:50
Moyo
Юзал 24С512 могу скинуть нароботки на Си(ICC for AVR)

Был бы очень рад посмотреть, вот мое мыло kibervitas@r96.ru

Добавлено: Чт дек 14, 2006 22:07:53
Moyo
Tohey, VMLAB это типа AVR Studio или чето другое, не очень понял????