есть автомобильный мозг. все настройки движка в памяти 27c256 UV стириаемой. само собой давно уже микросхема выпаяна и на её месте стоит кроватка, а на соревнования вожим с собой набор микрух с разными настройками.
---
но, блин, не есть это удобно. иногда надо подстроить совсем немного, а в поле программатор и чистые микрухи тащить совсем задница
думаю может заменть память на avr? всё бы ничего если бы не вопрос - а вдруг пимять опрашивается быстрее чем может avr?
как бы определить, возможна замена в моем случае, процессор в автомозгах какой-то nec, во всяком влучае именно в него ноги 27c256 идут. кварс около nec-а на 4 MHz стоит
Вряд ли ппрокатит. Проще сделать некий эмулятор ROM на базе RAM(FLASH) + AVR.
Dog Pawlowa
May 12 2007, 06:48
Цитата(d71 @ May 12 2007, 07:18)

но, блин, не есть это удобно. иногда надо подстроить совсем немного, а в поле программатор и чистые микрухи тащить совсем задница
А какая разница, что тащить? Все равно компьютер должен быть. Или как Вы себе это представляете?
А почему бы не запаять несколько 27c256 на плату и перемычкой выбирать нужный кристал....
ну хочется некоротые парамерты менять на ходу, прямо так сказать на простреле...
--
так я правильно понял несбыточность мечты - нехватит скорострельности avr-ки?
>ну хочется некоротые парамерты менять на ходу, прямо так сказать на простреле...
--
>так я правильно понял несбыточность мечты - нехватит скорострельности avr-ки?
если сделать эмулятор пзу, а в нем, авр-ка будет заниматся загрузкой эмулятора (модификацией данных)то вполне хватит....
или вы себе это представляете как-нибудь по другому?
если раскрывать техническое задание,
то надо что бы avr отвечал за запросы как обычный 27c256, но при наступлении некоторых событий (скорость, нажатая кнопка или еще чего) данные выдаваемые были просчитаны по некой формуле, а не выданы тупо из пямяти.
ну и приятное - после заезда смотрим логи (эта системы уже стоит) и не вынимая микросхемы просто цепляем ноутбук и заливаем несколько другие карты зажигания например.
поверьте я знаю что такое работа с мозгами в полевых условиях - программатор и правка хекса не для такого случая
>о надо что бы avr отвечал за запросы как обычный 27c256, но при наступлении некоторых событий (скорость, нажатая кнопка или еще чего) данные выдаваемые были просчитаны по некой формуле, а не выданы тупо из пямяти.
да, понятно, но реакция на нажитие кнопки и выглядеть снаружи как 27c256 - две большие разницы!
ну дык посчитайте формулу по событию в авр(он пусть занимается обработкой событий , расчетами) , запишите получ. расчетные данные из авр в память эмулятора и делов....
только надо понимать , что процессор автомобильного компутера не должен конфликтовать с загрузчиком данных из авр.....(нужно нечто вроде друхпортовости ) а если модифицируются стазу несколько байт, то можно попасть в совсем плохую ситуацию !!! (часть данных может быть считана до, а часть после модификации)
GetSmart
May 13 2007, 03:23
Если очень надо, то я бы посоветовал сразу поставить LPC-проц рублей за 150. Например LPC2132. У него есть 64К флэша. То есть можно держать одну основную прошивку 27с256 плюс программу для проца. У 27с256 всего 25 пинов управления/данных, а у этого проца их 47. Хотя проц питается от 3.3 вольт, но все его выходы можно смело подтянуть к 5 вольтам. Пороги срабатывания будут вполне рабочими. Остальные пины проца использовать для управления изменения данными в "эмулируемой прошивке". В проце есть АЦП и можно к нему подключить переменные резисторы для плавной регулировки каких-то параметров зажигания. Да и скоростьи 60 MIPS гарантированно хватит для эмуляции работы ПЗУхи на 4 МГц если входы OE и CS зацепить на прерывания FIQ. Вобщем AVR на фоне LPC в этом применении - полное г...
sensor_ua
May 13 2007, 06:28
Цитата
Проще сделать некий эмулятор ROM на базе RAM(FLASH) + AVR.
Самое правильное решение. хх29х010 - самое то. А загружать - хватит какого-нить ATmega8515. А впихивать в LPC (с макимальным откликом по FIQ 27 тактов) - бесполезная трата времени и сил.
GetSmart
May 13 2007, 07:42
Отклик по FIQ зависит только от программиста. Можно написать прогу чтоб отклик был не более 5-10 тактов. Это если не использовать длинные PUSH/POP, то есть не использовать другие прерывания вообще. Тока с процом я немного недодумал. Нужна серия LPC214x. Я вот только не знаю, у проца LPC214x быстрый вывод в порты, а ввод/чтение портов у него тоже быстрое?
sensor_ua
May 13 2007, 08:38
Цитата
а ввод/чтение портов у него тоже быстрое?
Да вроде FIO в обе стороны.
GetSmart
May 13 2007, 06:02
Тут правда маленький косячёк может быть в логике работы ПЗУ. Если во время работы CS и OE всегда находятся в нуле, то проц не узнает что адрес поменялся. У LPC нет прерываний по pin change. Даже у AVRок только у некоторых есть. С процом может оказаться вообще нерабочий вариант.
sensor_ua
May 13 2007, 06:25
Цитата
У LPC нет прерываний по pin change.
У LPC23xx уже есть
Сергей Борщ
May 13 2007, 06:26
Цитата(GetSmart @ May 13 2007, 09:02)

С процом может оказаться вообще нерабочий вариант.
Тоже так думаю. Просится матрица, у которой организовано три параллельных шины и одна последовательная. Одна параллельная подключается вместо штатной ПЗУ, на две остальные вешаются две статические ОЗУ. Командами по последовательной шине одна из ОЗУ коммутируется на главную шину, при этом вторая ОЗУ доступна для модификаций через последовательную шину. Откоректировали информацию во втором ОЗУ, подали команду - ОЗУ перекоммутировались и теперь вторая читатется через главную шину а первая доступна для модификации.
zltigo
May 13 2007, 06:35
Цитата(Сергей Борщ @ May 13 2007, 09:26)

Тоже так думаю.
Да. На контроллере такие вещи городить - жуть.
Цитата
Просится матрица....
Двухпортовое ЗУ. Элегантнее всего самодельное на FPGA c доступом к другой стороне через RS323.
GetSmart
May 13 2007, 07:01
Или можно LPCшка и внешняя схема pin change. Будет попроще чем 2 ОЗУ, коммутаторы и проц. И дешевле чем FPGA. Интересно, скока стоит самое дешёвое подходящее FPGA. Я так думаю, что RAM к нему придётся ставить внешнюю, т.к. 64К нет ни в одной FPGA.
автор спрашивал о авр - наврно знаком с ним
освоить арм и разобратся с работой перефериии - хлопотно
програмир и отладка такого ус-ва не бедет тривиальной
можно сделать без CPLD-FPGA (с ним конечно красивее)
только всего и надо
- снаружи шесть 8 битовых шинников
- потом за каждой тройкой по корпусу RAM 61256
- потом еще 6 шинников (объединяем в шину авр)
- и за ними авр с довольно примитивной программой....
- простая логика синхронизации переключения банков
плюсы -
простота программы и разводки PCB
дешевизна компонентов и PCB
можно сделать на коленках за неск дней...
спасибо всем : )
но всё очень как-то сложно для меня, извините, если можете, что отнимал ваше время.
я думал подцепить к меге64, прямотаки почти напрямую. и сэмулировать работу 27c256. только лишь с отличием что при сигнале на одну из ног МК выдавать не то что выдала бы память по определенному адресу, а некое другое значение.
zltigo
May 13 2007, 08:20
Цитата(GetSmart @ May 13 2007, 10:01)

Интересно, скока стоит самое дешёвое подходящее FPGA.
Не дороже подходящей CPLD.
Цитата
Я так думаю, что RAM к нему придётся ставить внешнюю, т.к. 64К нет ни в одной FPGA.
Вы отстали от жизни. Ну и RAM только на изменяемую область данных нужна. Да и 256 килобит это 32K.
А может проц в бортовом компе считывает настройки с ПЗУ только при инициализации системы....
То есть при включении двигателя...
zltigo
May 13 2007, 10:55
Цитата(Tcom @ May 13 2007, 12:34)

А может проц ...
Естественно может

Посему на данном этапе это все общие разговоры.
Цитата(GetSmart @ May 13 2007, 11:01)

т.к. 64К нет ни в одной FPGA.
Конечно есть. Вот только надо будет куда то рапихать миллион лишних вентелей.
Nanobyte
May 13 2007, 14:33
Есть ещё один вариант. Определить тип контроллера, найти даташит

и расковырять начальный участок программы. Вместо ПЗУ поставить ОЗУ. Сделать простейший начальный загрузчик данных из той-же AVR-ки, после чего разрешить выбор ОЗУ в качестве ПЗУ. По сути, получится эмулятор ПЗУ, но на собственном контроллере.
Но это, конечно, будет работать только в том случае, когда программа хранится в родном ПЗУ, а не внутри контроллера. Этот путь почти безнадёжный, но ...
PS. А ведь ещё и FRAM есть с интерфейсом обычного ROM, есть уже и большие объёмы. Правда, остаётся задача перезагрузки данных, но программатор для параллельной FRAM проще простого, по сути - внешнее ОЗУ для МК.
Dog Pawlowa
May 13 2007, 15:44
Цитата(Nanobyte @ May 13 2007, 17:33)

Есть ещё один вариант. Определить тип контроллера, найти даташит

[]
Все-таки это машина со всеми вытекающими и втекающими помехами и фирменным контроллером с защитами от этих помех. Любой большой довесок существенно снизит помехоустойчивость.
zltigo
May 13 2007, 16:12
Цитата(klop @ May 13 2007, 14:16)

Конечно есть. Вот только надо будет куда то рапихать миллион лишних вентелей.

Ой миллион! В Циклонах даже на максимальные 256Kbit будет порядка 20-30 тысяч. Ну а поскольку все пихать в RAM явно незачем, то и мелкие с сотней килобит и несколькими тысячами вентилей баксов за 12 вполне подойдут.
прикол в том что проц постоянно считывает значения которые ему нужны из 27с256. это проверенный факт и некоторым способом используемый.
вот еще вопрос, а можно повесить 2 по 256 и между ними переключаться? а 3, а 4 шт?
kv_addr
May 13 2007, 21:09
Цитата(d71 @ May 13 2007, 22:46)

прикол в том что проц постоянно считывает значения которые ему нужны из 27с256. это проверенный факт и некоторым способом используемый.
вот еще вопрос, а можно повесить 2 по 256 и между ними переключаться? а 3, а 4 шт?
Прочел ветку, так и не понял, зачем нужно пытаться решить предельно простую задачу всякими экзотическими способами. Решение ведь лежит на поверхности.
Для этого нужно взять любую ЭППЗУ (Flash EEPROM) с объёмом более 256 кбит. Если хотите 2 набора, берите 512 кбит, если 4 - 1 Мбит, если 8 - 2 Мбит. Причем вполне пройдет чип BIOS с какой-нибудь старой материнской платы на 1 или 2 Мбит, с большой вероятностью такую в имеющемся хламе найти можно.
27c256 имеет 28 ног. Флешки имеют - 32 ноги. Сделайте переходную плату с панелькой DIP32 либо PLCC32 в зависимости от корпуса флешки, на которой будут разведены все соответствующие сигналы. Оставшиеся 1/2/3 линии адреса (512/1024/2048 кбит) либо на месте подключите к наборному переключателю, либо наружу можете вывести. От 2 до 8 вариантов обеспечено. Переключать хоть на ходу можно.
Проще некуда.

PS: Посмотрел еще раз ветку. Если все же предложенный мною вариант из от 2 до 8 готовых наборов не устраивает и есть желание вносить изменения по месту или даже на ходу, то и такой вариант не так уж и сложно решается. В зависимости от того, как увязывается 27c256 с контроллером устройства, можна решить более простым или более сложным схемотехническим способом. Но это - эмулятор ПЗУ получится в любом случае.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.