Увеличение Flash AT90s2313
-
moyo@81
Увеличение Flash AT90s2313
Здравствуйте меня зовут Moyo@81. Я решил увеличить объем Flash памяти контроллера AT90S2313 так как другой контроллер для моей задачи брать нецелнсообразно, но не знаю как это сделать, пожалуйсто подскажите!!!!!!
- teoretic
- Открыл глаза
- Сообщения: 50
- Зарегистрирован: Чт июн 15, 2006 23:46:55
- Откуда: Раша, Москоу
- Контактная информация:
[флуд]
Все очень просто! Надо изобрести наномолекулярный интеллектуальный трансмиттер и переделать структуру подложки кристалла. Или тайно пробраться в штаб квартиру атмела и изменить спецификацию, подождать пару лет. Или изобрести машину времени, вернуться в прошлое, стать главным конструктором атмела и повелеть сделать микроконтроллер с нужными характеристиками.
[\флуд]
А теперь серьезно. Флеш увеличить НЕЛЬЗЯ ибо он встроен на уровне ПОДЛОЖКИ кристалла. Для решения данной проблеммы могу только посоветовать плюнуть на не использование некоторого количества ножек\функций и взять другой МК.
Так-же можно
1. Использовать какой-нить дешевый ПЛИС(кто-то скажет - по воробьям из орбитальной плазменной пушки, но в россии не продают действительно маленьких плисок, по крайней мере в рознице)
2. Взять МК с другой архитектурой и внешней памятью (ну здесь все понятно. я надеюсь) (З.Ы. есть с последовательной внешней памятью программ - сам видел, но это было давно и на плис
)
3. Сделать сеть из МК и распределить излишний код по разным кристаллам. Проблемма - сетево-распределенный код - от 1к кода
------
З.Ы. Надеюсь, что уважаемый постер не станет делать машину времени на 2313
Про машину времени в "МЯЯЯУ" мы сошлись на том, что её лучше всего делать на транзисторах П4 и лампах 6П3С. На американских деталя даже доктор Эммет фон Браун свою не делал
мышонок
Все очень просто! Надо изобрести наномолекулярный интеллектуальный трансмиттер и переделать структуру подложки кристалла. Или тайно пробраться в штаб квартиру атмела и изменить спецификацию, подождать пару лет. Или изобрести машину времени, вернуться в прошлое, стать главным конструктором атмела и повелеть сделать микроконтроллер с нужными характеристиками.
[\флуд]
А теперь серьезно. Флеш увеличить НЕЛЬЗЯ ибо он встроен на уровне ПОДЛОЖКИ кристалла. Для решения данной проблеммы могу только посоветовать плюнуть на не использование некоторого количества ножек\функций и взять другой МК.
Так-же можно
1. Использовать какой-нить дешевый ПЛИС(кто-то скажет - по воробьям из орбитальной плазменной пушки, но в россии не продают действительно маленьких плисок, по крайней мере в рознице)
2. Взять МК с другой архитектурой и внешней памятью (ну здесь все понятно. я надеюсь) (З.Ы. есть с последовательной внешней памятью программ - сам видел, но это было давно и на плис
3. Сделать сеть из МК и распределить излишний код по разным кристаллам. Проблемма - сетево-распределенный код - от 1к кода
------
З.Ы. Надеюсь, что уважаемый постер не станет делать машину времени на 2313
-
moyo@81
Понял про Flash и просветился и теперь поставлю вопрос по другому. Я написал программу для звонка ПАТРИОТ. Программа, которую я написал, позволяет хранить в себе до 256 мелодий, но у AT90S2313 Flash всего 2 кило и в результате у меня поместилось всего 12 мелодий. Каждая мелодия представляет массив, в принципе можно поместить массив каждой мелодии в EEPROM, но места в 2313 всего 128 байт, влезет максимум 2 мелодии. Хотелось бы тогда узнать как увеличить EEPROM минимум до 30 кило поместить туда массивы мелодий, и каким образом можно будет туда обращаться и считывать нужный массив при помощи основной программы, которая будет сидеть во Flash.
- teoretic
- Открыл глаза
- Сообщения: 50
- Зарегистрирован: Чт июн 15, 2006 23:46:55
- Откуда: Раша, Москоу
- Контактная информация:
О! Правильно поставленный аопрос есть уже половина ответа.
Для увеличения eeprom, тобиш постоянной памяти данных надо приделать внешнюю микросхемку.
Вариантов, в принципе, море - как по объемам, так и по интерфейсам.
Если мне не изменяет память, то в 90s2313 с внешними интерфейсам туго, по этому придется делать программную эмуляцию - примерно 300-512 байт на SPI\I2C (есть отполированный I2C мастер
).
В принциае я-бы посоветовал приделать I2C eeprom на сколько надо байт - работать с ним просто и приятно - около 300-500 байт кода на эмуляцию, смешной и простой протокол с возможностью автоинкремента адреса при чтении.
А вот со скоростью могут возникнуть трудности - скорость работы ненаглядного интерфейса 100\400kHz (для второй опции нужен квварц примерно на 4Мгц). Может и не хватить. Теоретически из этого можновывернуться буфферизацией.
Вторая заковырка - обмен занимает процессорное время, но его можно запихнуть в бэкграунд, чтобы не мешал основной программе и работал в свободные кванты времени (если таковые есть).
Опции предложены. Choose your destiny.
Для увеличения eeprom, тобиш постоянной памяти данных надо приделать внешнюю микросхемку.
Вариантов, в принципе, море - как по объемам, так и по интерфейсам.
Если мне не изменяет память, то в 90s2313 с внешними интерфейсам туго, по этому придется делать программную эмуляцию - примерно 300-512 байт на SPI\I2C (есть отполированный I2C мастер
В принциае я-бы посоветовал приделать I2C eeprom на сколько надо байт - работать с ним просто и приятно - около 300-500 байт кода на эмуляцию, смешной и простой протокол с возможностью автоинкремента адреса при чтении.
А вот со скоростью могут возникнуть трудности - скорость работы ненаглядного интерфейса 100\400kHz (для второй опции нужен квварц примерно на 4Мгц). Может и не хватить. Теоретически из этого можновывернуться буфферизацией.
Вторая заковырка - обмен занимает процессорное время, но его можно запихнуть в бэкграунд, чтобы не мешал основной программе и работал в свободные кванты времени (если таковые есть).
Опции предложены. Choose your destiny.
- teoretic
- Открыл глаза
- Сообщения: 50
- Зарегистрирован: Чт июн 15, 2006 23:46:55
- Откуда: Раша, Москоу
- Контактная информация:
Софтварная эмуляция I2C мастера\ведущего устройства. Драйвера для икроконтроллера, высокоинтеллектуального (в пределах зашитой программы) устройства, а не какого-нибудь еепрома или порта расширения или датчика температуры
Делал по примеру Атмеловского даташита, но с вырезкой жира и наращиванием мышц.
Делал по примеру Атмеловского даташита, но с вырезкой жира и наращиванием мышц.
-
moyo@81
-
Moyo
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Пн май 08, 2006 07:25:21
- Откуда: Екатеринбург
Спасибо за совет с контроллером разбирусь, а чтобы долго не не лазить инфу не фильтровать я бы хотел узнать, какие EEPROM I2C поддерживают, надо от 30 кило и выше, маркировка какиенибудь ссылки на инфу по тому как их объединить в одно целое, в смысле 2313 и EEPROM, какиенибудь примеры, схемы включения, програмки на ассемблере и т.п.
-
Moyo
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Пн май 08, 2006 07:25:21
- Откуда: Екатеринбург
Нашол EEPROM FM24C256 в ней аш 256 Kb и она имеет встроеный I2C и стоит у нас в www.promelec.ru всего 166 рублей правда мелкооптовая цена ,но даже в розницу я готов отдать 200р. С такой памятью можно немного доработать програмку моего звонка и можно будет хранить и воспроизводить до 65536 мелодий. Ну это только мечты, а в реальности надо разобратся с тем как увязать ATtiny2313 с FM24C256. Между собой я их спаяю, хотя будет интересно посмотреть предложенные варианты.
Остается один вопрос. Как организовать обмен данных, есть ли какиенибудь примеры на ассемблере или обучающие статьи???
Моя цель загнать в EEPROM масивы мелодий, а потом обращаться и считывать нужный масив и воспроизводить мелодию.
Остается один вопрос. Как организовать обмен данных, есть ли какиенибудь примеры на ассемблере или обучающие статьи???
Моя цель загнать в EEPROM масивы мелодий, а потом обращаться и считывать нужный масив и воспроизводить мелодию.
Moyo писал(а):Остается один вопрос. Как организовать обмен данных, есть ли какиенибудь примеры на ассемблере или обучающие статьи???
Моя цель загнать в EEPROM масивы мелодий, а потом обращаться и считывать нужный масив и воспроизводить мелодию.
Назначаешь каждой мелодии два числа. Первое содержит адрес начала мелодии, а второе размер.
Считываешь первый байт, потом размер декрементируешь, а адрес инкрементируешь, потом считываешь второй байт и т.д. пока размер не станет равен нулю.
С SPI интерфейсом смотри в сторону AT45DB..
вот сцылка http://www.itt-ltd.com/reference/ref_i2c.html, а ещё форумский поиск выдаёт много интересного и полезного.
И ещё можешь скачать VMLAB, в нём есть экзампл с монитором i2c. Запись и чтение eeprom нарисовано в документации
И ещё можешь скачать VMLAB, в нём есть экзампл с монитором i2c. Запись и чтение eeprom нарисовано в документации
-
Moyo
- Первый раз сказал Мяу!
- Сообщения: 39
- Зарегистрирован: Пн май 08, 2006 07:25:21
- Откуда: Екатеринбург
Юзал 24С512 могу скинуть нароботки на Си(ICC for AVR)
Был бы очень рад посмотреть, вот мое мыло kibervitas@r96.ru