AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Обсуждаем контроллеры компании Atmel.
Ответить
ScRp
Родился
Сообщения: 3
Зарегистрирован: Сб янв 31, 2015 15:03:21

AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение ScRp »

Всем котам - Привет!

Прежде всего извиняюсь если залез не в тот раздел.

Сразу объясню - программированием МК занялся недавно (очень недавно) и толком еще не разобрался. А тут еще очень и очень захотелось сделать чип тюнинг ECU своего автомобиля. Полез на профильные форумы, нашел что нужно с одним но - невозможность "онлайн" прошивки. На дочерней плате, что ставится в ECU имеются две flash-ки AT29C256 и чтоб залить в них прогу, естественно нужно их вытащить с постелек и воткнуть в программатор.
А теперь к сути - идея реализации "онлайности" (т.е при работающем движке корректировать параметры работы) состоит в том, чтоб разработать схему с памятью подключаемой через буфера, которые блокируются при перешивке, все это под управлением например атмеги 128. Или же сделать эмулятор этой самой памяти на какой нибудь атмеге.

Не прошу делать за меня работу, а покидаться ссылками по тому или другому варианту. Хотя, если есть готовые примеры, буду только рад)))
Ну или сказать что это не стоит свеч и послать меня гулять)))

Заранее благодарю Вас за терпение и ответы)

Принципиалка дочерней платы:
138171572.jpg
(163.06 КБ) 1224 скачивания
Реклама
mas123
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение mas123 »

ScRp писал(а):две flash-ки AT29C256 и чтоб залить в них прогу
Т.е. прошивка занимает 64 Кб.
У 128-й Атмеги FLASH-памяти 128 Кб - в теории, можно половину отдать под "прошивку" и половину под имитацию FLASH. Ножек тоже хватает - в принципе, есть шанс такое сделать.
Остаются вопросы:
- на какой частоте работает контроллер ECU, в смысле какое время считывания из FLASH он требует? Справится ли "эмулятор" по скорости?

- где в "эмуляторе" хранить прошивку? Если во внутренней FLASH - то какая же тут "онлайновость"? Можно, конечно, на лету менять содержимое FLASH, но успеет ли и шить и работать как FLASH?
Хранить "прошивку" в SDRAM - никак, у Атмеги всего 4 КБ. Там можно, разве что, хранить одну-две "таблицы" и выдавать из при запросе с определённого адреса.
Хотя, как вариант использовать Атмегу как FLASH - можно. И перепрошивать можно без вынимания её - через внутрисхемное программирование (ессно, выключив ECU вначале)
ScRp писал(а):при работающем движке корректировать параметры работы
Возникают сильные сомнения. Если ты будешь "на лету" менять саму программу выполнения - получишь зависание контроллера с вероятностью 146%.
Исправлять некие "таблицы" - в теории можно. На практике - есть немалая вероятность, что ECU при запуске копирует эти таблицы себе в SDRAM и работает оттуда.
Реклама
ScRp
Родился
Сообщения: 3
Зарегистрирован: Сб янв 31, 2015 15:03:21

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение ScRp »

Mas123. Благодарю за столь быстрый ответ!
Скорость считывания - на пределе At29c256 - 70нс. Частота получается 14.7 МГц.
Нет, в ECU при запуске не копирует ничего, он командует работой движка опираясь на данные считываемые с flash дочерки. В ECU ставится перемычка, и все, он работает только от внешней памяти.
На счет зависаний МК во время прошивки на раб. движке, согласен, думаю что загнул я) Ну по крайней мере, хотелось бы организовать почти онлайность))Т.е. заглушились, зашились, завелись и поехали проверяться)

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

Что-бы было понятно зачем мне это. У нас в Казахстане паршивый бензин, а двигатель у меня со степенью сжатия 10.3:1. Из-за этого на 95-98 бензине детонация такая, что аж за движок страшно. Движок чистокровный япошка 190 поней. Он очень быстро придет в негодность из-за такого детона. Хочется залить прош для ECU с так называемой "низкооктановой" топливной картой, познакомить движок с говенным бензином. И вторая прош - для отжига на хорошем Российском бензине (он реально лучше нашего) :))

И это объем программы не 64кб, может быть и больше, зависит от кол-ва новых параметров которые мы прописываем ECU. Может и впритык к памяти флешки - 256кб. Хотя и могу ошибаться. Новичек жеш)
mas123
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение mas123 »

ScRp писал(а):Частота получается 14.7 МГц.
Атмега-128 - максимально 16 МГц. Может быть она на 20 заведётся, и то не факт. Не потянет она "эмулятор" на таких скоростях.
А с фигали частота такая получается? Какая тактовая в контроллера ECU?
ScRp писал(а):Нет, в ECU при запуске не копирует ничего,
Отнюдь не факт! Скорость чтения из SDRAM выше , чем из FLASH "на порядок, т.е. в два раза" :))
Многие движки умеют адаптироваться к стилю езды - это тоже оптимально в SDRAM хранить.
ScRp писал(а):Может и впритык к памяти флешки - 256кб.
AT29C256 - 32 КилоБайт! Или 256 килоБит, что тоже самое.
ScRp писал(а):Т.е. заглушились, зашились, завелись и поехали проверяться
Это можно придумать. Собрать схему такого плана:
Атмега плюс FLASH'ки (хоть одна, хоть три) и буфер между платой и ECU.
С возможностью подавать питание только на эту платку. В атмегу зашить программку, которая умеет принимать извне прошивку (например - UART) и программировать FLASH.
Т.е. у тебя "из-под капота" будут "торчать" 2 провода. К ним подключаешь ноут через COM-порт, заливаешь прошивку, и едешь на заправку. :))
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение radteh »

Что тут, попытка собрать клон Hondata?
Реклама
ScRp
Родился
Сообщения: 3
Зарегистрирован: Сб янв 31, 2015 15:03:21

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение ScRp »

radteh писал(а):Что тут, попытка собрать клон Hondata?
Ох как пауза у меня затянулась) Нет, не хондата. Нистюноподобную платку. Хотя в принципе одно и тоже. только с хондатой проще.
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15571
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение BOB51 »

АВР микроконтроллеры под управлением программ, считываемых из внешней памяти напрямую не работают.
Для них существует только внешняя память данных.
Как вариант или в самом МК должна стоять какая-либо операционная система симулятора МК с выполнением команд, считываемых из внешнего ОЗУ, либо применение другого вида МК - к примеру банальну MCS51...
:roll:
Другое дело загрузчик имитационного кристалла - так для того любой МК с достаточным количеством ног и возможностью перевода выводов в Z-состояние пройдет.
Другое дело что в качестве имитационного носителя применить... Весьма полезны вот такие:
SST39SF0x0.pdf
(364.42 КБ) 280 скачиваний
Вариант "на поиграться"
http://img.radiokot.ru/files/20529/kfszm0vku.gif собственно схемка основы
и дополнение для "полного фаршу"
http://img.radiokot.ru/files/20529/kfszmruku.gif
Сейчас можно и понавороченнее соорудить...
:sleep:
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение uk8amk »

Судя по схеме платы процессор может только читать из флеш.
Так как шина параллельная, то либо сам контроллер старый без своей флеш, либо программа тоже сидит в этих чипах. Скорее второе поскольку шина похожа на 16-разрядную.
Смена программы налету чревата зависанием процессора поскольку на перепрограммирование требуется значительное время.
Для онлайнового варианта лучше использовать микросхемы памяти SRAM типа 62256. Организуем 2 банка по 2 микросхемы. Перед запуском блока загружаем первый банк памяти. Потом имеем неограниченно много времени для загрузки второго банка. Когда второй банк готов переключаем их буферами. Так имеем некоторую вероятность что процессор не повиснет. Чтобы далее снизить вероятность зависания переключание банков следует выполнять только при нахождении процессора в определённом диапазоне адресов где всегда находятся константные данные. Это зависит от программы.
Впрочем сотворить систему можно и на ваших 29С256. Я думаю что ресурса в 10000 перезаписей хватит чтоб как-то настроить мотор под ваш бензин.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15571
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение BOB51 »

В старой практике симуляторов/имитаторов применялась генерация сигнала сброса и/или останова для целевой схемы во время обмена/загрузки имитационного массива.
:)
Smen
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вт окт 08, 2013 07:38:59
Откуда: СПб

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение Smen »

BOB51 писал(а):применялась генерация сигнала сброса и/или останова
Для этого надо влезать в схему самого процессорного блока. :)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15571
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение BOB51 »

А иначе "на лету" данные не обновить без возможного риска их ошибочного чтения основным (тестируемым) блоком.
:(
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение radteh »

Просто что-бы показать что дело не столь просто покажу проект от одного хорошего разработчика, это эмулятор памяти 27C и 29C построенный на микросхемах энергозависимой памяти http://www.ej9.ru/art/sofrom-1v15-emulator/ Иначе скорости обмена не хватало.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15571
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: AT29C256 и atmega. Или эмулятор ПЗУ на Atmeg-а

Сообщение BOB51 »

Принцип абсолютно одинаков - наличие микросхемы ОЗУ при каком-либо устройстве загрузки имитационного массива (из ПК и/или из базы данных накопителя в самом имитаторе).
Плюс, при необходимости, драйвера дополнительного барьера управления.
Отличие в оболочках управления и качестве изготовления печатной платки.
Ежли уж вести речь о логгере с вариацией начальной настройки, то и ПК может быть излишним - достаточно иметь хороший интерфейс пользователя (экран, клавиатура) на базе МК самого модуля имитации.
Возможные тонкости в быстродействии подавляются подбором соответствующей элементной базы (и уж никак не еепромками).
8)
Ответить

Вернуться в «AVR»