Форум ForNext.ru

Мозговой штурм => Автоэлектроника => TCCS (ЭБУ от Toyota) проц. семейства MC6801 => Topic started by: mentat-vvo on 11 Февраль 2012, 21:35:40

Title: TCCS на базе микроконтроллера Fujitsu (40 Pins)
Post by: mentat-vvo on 11 Февраль 2012, 21:35:40
Слил прошивки с микроконтроллеров, применяемых Denso в Тойотовских ЭБУ 151801-4451 (мотор 4A-GE) и Denso 15801-4570 (мотор 3Y-EU).
Процессоры в какой-то мере совместимы с Motorola 6801. Брутальный девайс для снятия кода (версия 1) и обе платы Denso на фото:)
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 18 Февраль 2012, 12:03:59
Бинарники.

В блоке для 3Y (первое поколение) на плате надпись 6801. Изначально MC6801 делала моторола.
Здесь микроконтроллер - доработанный Hitachi (6356?) / Fujitsu клон. В нем 192 байт ОЗУ и 4кб ПЗУ.
upd:
запилена новая плата и код для считывания бинарника.
обновлена прошивка 4A-GE, на этот раз 100% верная. в старой были косяки. бинарник перезалил. Коллекция будет пополняться.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 23 Сентябрь 2012, 16:55:18
TOYOTA 3Y-EU DENSO TCCS EMULATOR
Эмулятор ЭБУ denso на базе микроконтроллера 6801. Cделан под схемотехнику 3Y-EU. Для 4A-GE схемотехника похожая, будет сделано позже.

Для 4Y-EC не подходит, там код принципиально другой, под считалку. И АЦП другой и по-другому подключен.

1G пока под вопросом, он сделан Fujitsu TENом и схемотехника тоже другая.

Запилен в Proteus. Код переложен на платформу Atmel AVR (ATMega128A) с использованием внутреннего 10-битного АЦП.
Стоковый 8-битный (по докам) внешний АЦП MB4053 в оригинале тоже разогнан до 10 бит. В стоковом коде даже имеется интерполяционная кривая, которая устраняет нелинейности АЦП. В эмуляторе это дает некоторую погрешность, потому что нелинейность АЦП не эмулируется  ;D

Блок оперативки в 192 байта перенесен с адреса 0х40 на адрес 0х140, таблицы с ПЗУ переехали в ОЗУ. Написан код, транслирующий модификацию регистров таймеров МК 6801 в соответствующие регистры для ATMega128A

Сейчас идет обкатка кода и устранение ошибок трансляции, для того, чтобы заставить атмегу считать обороты. Пока (если обороты активны) стек постепенно растет, а не должен. Может быть, это связано с состоянием внешних портов.

Некоторые найденные переменные
MAP=0x154:0х155
RPM=0х0x18C:0х18D
RPMx25=0x189
Vref=0x161 (ADC@3v)
Vzero=0x15D(ADC@0v)
IGN=0х1B0 (угол, пока не понятно как перевести в градусы)
Vbatt=0x15A
CLT=0x160

Проект (http://yadi.sk/d/2dQZN6aqHrUBG) в протеусе
Прошивка (http://yadi.sk/d/4BLfWC5wHrUBv) атмеги для него
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 03 Февраль 2013, 18:58:18
Таблица УОЗ (http://mikrob.ru/download/file.php?id=317656) для 3Y, пока в попугаях.
(http://mikrob.ru/download/file.php?id=317641&mode=view)
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: Radiomexanic on 19 Июль 2013, 16:02:49
Удалось ли добраться до топливных карт и параметров холостых оборотов?
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 19 Июль 2013, 16:30:18
топливных карт там несколько
какие именно параметры хх интересуют? у старых тойот для хх свои карты, там контакт IDL переключает ездовые карты от ХХ.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: Radiomexanic on 22 Июль 2013, 11:59:42
У меня Спринтер в 104 кузове 4ВД двигатель 4А-FE. Обороты ХХ пока не проедишся 1000-900, после езды ниже 800 не опускаются. Возможно ли понизить обороты ХХ и подругому выставить их зависимость от температуры двигателя?
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 22 Июль 2013, 13:06:33
Да. Это возможно, у меня разработана специальная плата для этих целей.
Дело все в том, что комп на 4А напрямую ХХ не управляет, у него тупо нет для этого своего клапана.
Управление прогревочными там идет с помощью клапана добавочного воздуха, который со временем изнашивается (устает биметаллическая пластина, пружина, обмотка нагревателя)..

Такая же беда была на 3Y. Пока я им владел, поставил вместо штатного самодельный клапан РХХ (от ваза, шаговый) через переходник, датчик температуры в голову, подключил платку (http://forum.fornext.ru/index.php?topic=42.0) (урезанный EFI VEMS 2.2 самопальный) и у меня ушла проблема с холостыми. В последней версии (имеется в наличии) эта плата может управлять и форсункой холодного пуска. Могу продать незадорого (1000р, в комплекте программа для настройки и кабель для программирования, за подробностями в ЛС).

вот такая плата (http://forum.fornext.ru/index.php?topic=42.0) делает все, что нужно. по сути это полноценный ЭБУ, который (при подключении всех датчиков) может управлять ДВС самостоятельно, но только с вакуумным трамблером. Зажиганием тоже может, но это возможно только при наличии карты, настроить нереально - нет канала на датчик детонации. Родной комп от 4А для точного управления ХХ к сожалению невозможно доработать - он изначально не может управлять электрическим клапаном ХХ. Питание на клапан добавочного воздуха подается сразу после включения реле ЕФИ и блоком никак не управляется.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: Radiomexanic on 22 Июль 2013, 16:34:23
С ХХ теперь понятно. А подкорректировать топливные карты для равномерной тяги при разгоне возможно? Или как вариант таким редактированием немного форсировать двигатель или наоборот задушить для экономии горючего получиться?
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 22 Июль 2013, 16:48:38
данный блок не позволяет что-либо делать с топливными картами, у него пзу вшито в контроллер и является однократно-программируемым.
в вашем случае можно воткнуть 4А-ГЕ (поставить голову от ГЕ, вместе с мозгами от него же)
ну или взять широкополосный (ШЛЗ) датчик, наподобие LC-1, с выходом под узкополосный, который идет в ЭБУ вместо старого.
Характеристика на узкополосном выходе ШЛЗ задается пользователем. Изменяя х-ку можно подправлять смесь в зависимости от желаний в определенном диапазоне оборотов (на равномерных участках топливной карты, где идет коррекция по лямбда-зонду).
Цена ШЛЗ 4500 контроллер + 2800-3400 за датчик, цены на www.ebay.com
Учитывая стоимость контрактного движка (4А) от 17000 и 4A-GE от 30000, врядли это целесообразно...
Исправный 4А тянет равномерно. Тут проблема или в зажигании(коммутатор, катуха, датчики в трамблере), инжекторах (льют или кончился регулятор давления топлива) или в ДПДЗ (датчик воздушной заслонки очень важен в этом компе) или все это сразу. Обычно дергается из-за регулятора давления или ДПДЗ.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: Radiomexanic on 22 Июль 2013, 17:02:36
Да видимо с 4А заморачиваться не стоит. Хотел тогда узнать на будущее в штатных ЭБУ от двигателей 3S-GE и 3S-GTE возможно ли править топливные карты или тоже можно только снимать показания с датчиков?
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 22 Июль 2013, 17:40:38
в старых в тойотах нельзя это делать в принципе, они не программируются, совсем.
поэтому и ставят vems, aem и прочие

upd:
программить параметры таки можно, но требуется специальный программно-аппаратный комплекс и длительные исследования где какой параметр хранится. документации по протоколу в общем доступе практически нет.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 27 Ноябрь 2013, 20:12:13
Пришла заводская плата для считывания инфы. Буду изучать содержимое "неизвестных" регистров хитачевского клона моторолы 6801.
Все-таки хочется завершить начатое. Запилю монитор для связи с ПК по ком-порту.

На очереди процессор на 12 МГц. Этот уже интереснее, ставился в 1G-EU/FE и еще много куда. Таблицы заводских углов еще никому не мешали  ;D
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: Radiomexanic on 27 Ноябрь 2013, 23:09:56
Очень интересно, как что-то накопаешь распиши поподробней.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 07 Декабрь 2013, 16:56:07
Вот такие камни заказал, самые близкие из программируемых аналогов того, что стоит в старых ЭБУ DENSO.

А сейчас перекладываю код 6801 на платформу 68HC11, для того, чтобы погонять его в Proteus с эмуляцией датчика вращения и ВМТ. Можно будет загнать модифицированный код в реальный 68HC11 (памяти больше (256 байт ОЗУ и 8 кб ПЗУ, таймеров больше, есть встроенные АЦП). Модификация может заключаться, например, в использовании шагового КХХ, смене инжекторов на другие (например, от 3S) и тд.

upd: микроконтроллеры получены, с помощью них будет изучаться работа АЦП для более точного воспроизведения в эмуляторе на ядре HC11. Код АЦП занимает много ресурсов этого и без того небольшого МК, а в HC11 АЦП встроен, 8-битный, правда.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: Radiomexanic on 08 Декабрь 2013, 00:42:07
Такие контроллеры кажется на старых ЭВМ стояли, залепленные фольгой.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 10 Декабрь 2013, 21:42:20
В жестких дисках и дисководах могли быть такие.
Вот так выглядит платка для снятия заводской прошивки с микроконтроллера в режиме 0 (внешняя память).
Сейчас мне идет со штатов ЭБУ для 4Y-EC, сниму с него для начала заводскую таблицу УОЗ.
обновлено: прошивка лежит на первой странице темы
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 22 Декабрь 2013, 01:31:21
Снял код с камня от 4A-GE с помощью новой платы. Нашел отличия. На первой версии платы был дополнительный микроконтроллер (AtTiny2313), сигнал считывал по параллельной шине и передавал в комп по RS232, а в новой версии напрямую 6801 передает через свой последовательный порт на скорости 7800 кбит/с.
Title: Re:Микропрограммы эбу DENSO на базе микроконтроллера HD680x
Post by: mentat-vvo on 29 Декабрь 2013, 00:01:37
Очень интересно, как что-то накопаешь распиши поподробней.

сколько ножек у микроконтроллера в ЭБУ 4А? 42 или 40?
Title: Re:TCCS на базе микроконтроллера Fujitsu (40 Pins)
Post by: mentat-vvo on 24 Январь 2014, 18:06:33
Код для ЭСУД Toyota 3Y-EU фирмы Nippon Denso ( до 1992 года) переложен на проц MC68701.
Версия 1 уже тестируется, порт связи подключен к выходу W (на лампу чек), скорость 7812 бод. Периодически ресетится микрухой, отвечающей за предотвращение его "зависания". Таймер инициализирован только для опроса АЦП и вывод импульсов на инжектора.

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