Быстрый заказ, позвонить +7-978-708-85-73
Дроссель Amadeus Productions. Быстрый заказ по телефону.
(Viber, WhatsApp, Telegram)
Amadeus Productions Дроссельный узел на Lancer IX 1.6 (4G18), 2.0 (4G63) и другие моторы
Ремкомплект РХХ на Mitsubishi Lancer IX, 1.6 (4G18), MD619857, 1450A116
Облегченный маховик на 1.6 (4G18) и другие моторы
Облегченные шкивы на 1.6 (4G18) и другие моторы
One-touch или "Ленивые поворотники"

116 страниц V  « < 39 40 41 42 43 > »   
Reply to this topicStart new topic
> Диагностика двигателя, логгирование и прошивка ECU.
andr_mozg
сообщение 24.4.2012, 22:07
Сообщение #801


7*#2&$%@
*******

Группа:
Технический Маньяк
Сообщений: 1845
Регистрация: 9.10.2011
Из: Москва, Дмитровское ш.
Вне форума


Репутация:   71  


про вентиляторы может кто нибудь подсказать
L9 2.0 at

Прикрепленное изображение

есть 2 таблицы, название столбцов это я так понимаю разные режимы...
первый столбец AC OFF 20-50KmH - чтотакое AC??
вот про них если можно...
спасибо
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
0uch.!
сообщение 24.4.2012, 22:23
Сообщение #802


Супер Технический Маньяк
*****

Группа:
Почетные ветераны
Сообщений: 527
Регистрация: 4.11.2011
Из: Подольск -> Клёново
Вне форума
Авто: Lancer IX 1.6 AT Turbo

Репутация:   57  


Цитата(andr_mozg @ 24.4.2012, 23:07) *
про вентиляторы может кто нибудь подсказать
L9 2.0 at

Прикрепленное изображение

есть 2 таблицы, название столбцов это я так понимаю разные режимы...
первый столбец AC OFF 20-50KmH - чтотакое AC??
вот про них если можно...
спасибо

АС - это кондей...
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Yegik
сообщение 27.4.2012, 22:29
Сообщение #803


Мозгодел
*****

Группа:
Технический Маньяк
Сообщений: 631
Регистрация: 20.2.2012
Из: Пятигорск
Вне форума
Авто: Mitsubishi Carisma 1,8 DOHC MT

Репутация:   48  


Интересно, кто-нибудь пробовал отключать вторую лямбду програмно, и полностью её выкинуть. У меня возникла проблемка с этим.
Если отключаю по FAA, как на рисунке:
Прикрепленное изображение

то вроди бы всё нормально, ошибки не вылазиют, но если присмотреться повнимательнее, то оказывается, что перестают работать все топливные коррекции, кроме мгновенной " Oxygen Feedback Trim (STFT) ". А это не есть гуд. Если возвращаю на место единицу в таблице, коррекции начинают работать, но почти сразу вылазиет ошибка 141 (нагревательный элемент заднего кислородного датчика).
Может какие-то биты тоже надо менять в таблице, что бы адекватно отключить второй лямбдик, без потери топливных коррекций.
Кто знает, отзовитесь (IMG:style_emoticons/default/help.gif)
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Artem NN
сообщение 28.4.2012, 0:01
Сообщение #804


Супер Технический Маньяк
*****

Группа:
Администраторы
Сообщений: 818
Регистрация: 29.5.2009
Из: Нижний Новгород
Вне форума


Репутация:   57  


Блин народ эту тему кто ни то читает ??
Про отключение лямбды по FAA и не рабочие тримы уже писал и не только я. Уже обмусоливали не раз.

Отключить лямбду заднюю по нормальному можно только через хитрый алгоритм-эмулятор который дает задержку сигнала
от первой. За основу Фалконом был взят эмулятор rearO2 от Тэфры (Тэфрамод V7 под 965ю прошивку от Эво) но был полностью переработан т.к. не работал должным образом.
В итоге лямбду вторую можно убирать, чек не горит и тримы работают.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Rcus
сообщение 28.4.2012, 3:39
Сообщение #805


Turbo Stackwalker
*****

Группа:
Технический Маньяк
Сообщений: 626
Регистрация: 1.8.2011
Из: Челябинск
Вне форума
Авто: MMC Colt CZT

Репутация:   28  


Цитата(Artem NN @ 28.4.2012, 3:01) *
Отключить лямбду заднюю по нормальному можно только через хитрый алгоритм-эмулятор который дает задержку сигнала
от первой.

Интересно. Надо поскорее разобрать алгоритм 4g15t, там второй лямбды с завода нет.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 28.4.2012, 11:09
Сообщение #806


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(Artem NN @ 28.4.2012, 0:01) *
Отключить лямбду заднюю по нормальному можно только через хитрый алгоритм-эмулятор который дает задержку сигнала
от первой. За основу Фалконом был взят эмулятор rearO2 от Тэфры (Тэфрамод V7 под 965ю прошивку от Эво) но был полностью переработан т.к. не работал должным образом.
В итоге лямбду вторую можно убирать, чек не горит и тримы работают.

Поправка. Эмулятор меняет не только задержку но и форму сигнала. И никакой тефрин эмулятор не был взят мной за основу - у тэфры там бредятина, а не эмулятор, из-за него загорался чек, не говоря уже о том, чтобы доверить такому "эмулятору" обратную связь смесеобразования.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
dandan2000
сообщение 28.4.2012, 15:36
Сообщение #807


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 263
Регистрация: 12.7.2011
Вне форума
Авто: MMC Galant 2.0, Ralliart 2.0T

Репутация:   1  


Цитата(Yegik @ 27.4.2012, 22:29) *
Интересно, кто-нибудь пробовал отключать вторую лямбду програмно, и полностью её выкинуть. У меня возникла проблемка с этим.
Если отключаю по FAA, как на рисунке:
Прикрепленное изображение

то вроди бы всё нормально, ошибки не вылазиют, но если присмотреться повнимательнее, то оказывается, что перестают работать все топливные коррекции, кроме мгновенной " Oxygen Feedback Trim (STFT) ". А это не есть гуд. Если возвращаю на место единицу в таблице, коррекции начинают работать, но почти сразу вылазиет ошибка 141 (нагревательный элемент заднего кислородного датчика).
Может какие-то биты тоже надо менять в таблице, что бы адекватно отключить второй лямбдик, без потери топливных коррекций.
Кто знает, отзовитесь (IMG:style_emoticons/default/help.gif)
Странно, у меня на 4B11T если там поставить "0" - тримы работают.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Yegik
сообщение 28.4.2012, 15:59
Сообщение #808


Мозгодел
*****

Группа:
Технический Маньяк
Сообщений: 631
Регистрация: 20.2.2012
Из: Пятигорск
Вне форума
Авто: Mitsubishi Carisma 1,8 DOHC MT

Репутация:   48  


Цитата
Блин народ эту тему кто ни то читает ??
Про отключение лямбды по FAA и не рабочие тримы уже писал и не только я. Уже обмусоливали не раз.

Ну, не ругайся. Два раза сначала читал, значит где-то пропустил. Придётся опять всё перечитывать.

Цитата
Поправка. Эмулятор меняет не только задержку но и форму сигнала. И никакой тефрин эмулятор не был взят мной за основу - у тэфры там бредятина, а не эмулятор, из-за него загорался чек, не говоря уже о том, чтобы доверить такому "эмулятору" обратную связь смесеобразования.

Очень интересно, а сложно делается? Или проще придумать небольшую радиосхемку, с теми же функциями, берущую за основу сигнал первой лямбды. И впаять её внутрь мозгов, как вариант. Тоже могу на досуге че-нить придумать.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 28.4.2012, 18:39
Сообщение #809


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(Yegik @ 28.4.2012, 15:59) *
Очень интересно, а сложно делается? Или проще придумать небольшую радиосхемку, с теми же функциями, берущую за основу сигнал первой лямбды. И впаять её внутрь мозгов, как вариант. Тоже могу на досуге че-нить придумать.

Схемку трудновато будет настраивать, а эмулятор полностью настраивается, ведь от показаний ЛЗ2 зависит выбор параметров работы ЛЗ1, поэтому, все эти проставки и схемки годятся чтобы не горел чек, но тримы с ними надо отключать иначе там будет бред.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 30.4.2012, 12:26
Сообщение #810


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(Yegik @ 29.4.2012, 19:57) *
А можешь помоч реализовать такой эмулятор в моей прошивке?

Желание помочь есть, позволят ли возможности. (IMG:style_emoticons/default/pardon.gif)
Наводящий вопрос, менять код ты сам можешь? Если я дам код/таблицы эмулятора и объясню как его врезать в основной код - справишься?

Цитата
Может проставку под вторую ЛЗ? с дырочкой 2мм... и ничего отключать не надо...

Если при этом не отключить тримы, получишь неправильную стехиометрию. "Лучше едет, но на поллитра-литр больше ест" - звучит знакомо? (IMG:style_emoticons/default/tongue.gif) От себя добавлю - в круизе будет переливать, под нагрузкой недоливать, оно надо?
У меня на последней заправке пару дней назад получилось в городе на 2 литра расход меньше стокового бензинового... правда, оказалось, что в колесах давление с зимы поднялось до 2.9 (IMG:style_emoticons/default/laugh.gif)

Тут меня andr_mozg, который тоже влип с неубираемой детонацией на 2л, подтолкнул посмотреть, как же там считается эта детонация... Оказалось, что в атмосферном 4Ж63 детонация считается не так как у всех других, похоже на эво, но "фоновый шум" двигателя определяется по-другому. А в 1.6 там с детонацией вообще что-то страшное накручено, но при этом фон считается как в эво.
Отсюда возникли вопросы, кто знает ответы, помогите разобраться.
1. В прошивке есть два режима работы ДД - некие "одинарный" и "тройной", при переключении в "тройной" все переменные вольтажа сразу умножаются на три - как я понимаю, изменяется масштаб? При этом переключение режима прописывается куда-то в периферию - это что, меняется чувствительность или полоса датчика ДД, он у нас какой-то регулируемый, что-ли?
2. В алгоритм рассчета детонации заложен "уровень шумности" двигателя, при этом там есть 4 уровня: самый тихий 0-2000 оборотов, шумнее 2000-3500, еще шумнее 5500-8000, самый шумный 3500-5500. В придачу к этому в "тройном" режиме есть код под разные дополнительные константы этого уровня для оборотов ниже 2300 и для оборотов выше, но при этом сами константы ОДИНАКОВЫЕ.
Собственно, сам вопрос, почему ММС именно так распределила шумность 4Ж63, может они занизили "шумность" 4Ж63 на оборотах меньше 2000, тем самым задрав чувствительность ДД, что и дает практически неуправляемую детонацию на малых оборотах? Я вынес все связанные с этим переменные и таблицы в РАМ, после следующей перепрошивки можно будет покрутить эти ручки и посмотреть пропадет ли "ложная детонация" - я планирую изменить константу для оборотов ниже 23хх и поменять первый уровень шумности 0-2000 оборотов, загрубив чувствительность ДД.

Если кто-то видит, где я что-то понял не так или почему описанного не стОит делать (детонация, когда она есть, все же вещь злая) - я жду комментариев (IMG:style_emoticons/default/crazy.gif)
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
andr_mozg
сообщение 30.4.2012, 14:34
Сообщение #811


7*#2&$%@
*******

Группа:
Технический Маньяк
Сообщений: 1845
Регистрация: 9.10.2011
Из: Москва, Дмитровское ш.
Вне форума


Репутация:   71  


falcon , проблема есть и думаю очень актуальна, хотелбы глянуть на логи с прошитой машины 2.0 АТ просто интересно есть ли эта проблема на прошитых от Ежика или Гланса.
Что больше всего интересно (беспокоит)
1. Удерживаем 2000 оборотов, а лоад держим от 45 до 60(например обороты держим 2100 а лоад постоянно 55 ) (если детонация не будит без перерыва долбить значит все ок.)
Причину точно понять немогу.
2. Едим 1500-2000 оборотов лоад примерно 45-50 , резко бьем в пол (при этом детонация может быть очень большая)
Похоже что просто смесь 14.7 по лямбде резко переходит на более бедную ( 13.0 и ниже ) при переходе на карты, по логам именно так и получается.

Прикрепленное изображение

все остальные режимы должны быть в порядке, проблемы именно с этими.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
Rcus
сообщение 30.4.2012, 16:03
Сообщение #812


Turbo Stackwalker
*****

Группа:
Технический Маньяк
Сообщений: 626
Регистрация: 1.8.2011
Из: Челябинск
Вне форума
Авто: MMC Colt CZT

Репутация:   28  


Цитата(falcon @ 30.4.2012, 15:26) *
1. В прошивке есть два режима работы ДД - некие "одинарный" и "тройной", при переключении в "тройной" все переменные вольтажа сразу умножаются на три - как я понимаю, изменяется масштаб? При этом переключение режима прописывается куда-то в периферию - это что, меняется чувствительность или полоса датчика ДД, он у нас какой-то регулируемый, что-ли?


А вскрыть-посмотреть? Скажем у Z27AG внутри контроллер датчика детонации BOSCH30424 (он же CC195). У него можно настраивать гейн (но не в три раза, только степени двойки) и центральную частоту полосового фильтра от 5 до 16кГц.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 3.5.2012, 15:07
Сообщение #813


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(dmitrij_b @ 30.4.2012, 15:19) *
Хм. А можно мне такой информацией разжиться? А то вопрос внезапно стал актуальным в связи с установкой паука и повреждения, в процессе вышеозначенной установки, второй лямбды.
В код, надеюсь, смогу имплантировать...

Кстати, Дима, я там обещался глянуть переключатель кондея - да, включатель кондея - это bit 4 (0x0010), я вчера был вынужден хорошо в этом разобраться (IMG:style_emoticons/default/wink.gif) Вот, кстати, посоветуйте, что делать: http://forum.amadeus-project.com/index.php?showtopic=5644

Теперь про сам эмулятор.
Я его обезличил - вернул к дефолтным ИДАвским все названия - чтобы было понятно где что. А то, к примеру, мое название Table_Lookup_Axis никому ничего не скажет, а sub_CC6 - это сразу понятно на какой адрес идет вызов процедуры.

Переменные.
Все переменные word_* - это НОВЫЕ двухбайтовые переменные. Т.е. надо найти в прошивке свободное место и разместить эти переменные там.

IGNITION_LOAD_LAST_FFFF64B4 - это отсутствующая в стандартной прошивке переменная, вместо нее можно использовать переменную, по которой вычисляются таблицы LOAD

t1_byte_FFFFB819
ROM:0002B819 .data.b h'13

t1_byte_FFFFB81A
ROM:0002B81A .data.b h'79

Оси и таблицы.
ROM:000379FC AXIS_REAR_O2_EMULATOR_LOAD:.data.l word_FFFF64CA
ROM:00037A00 .data.l word_FFFF64C6
ROM:00037A04 .data.w 4
ROM:00037A06 .data.w h'10
ROM:00037A08 .data.w h'28
ROM:00037A0A .data.w h'38
ROM:00037A0C .data.w h'48

ROM:000379E8 AXIS_REAR_O2_EMULATOR_RPM:.data.l word_FFFF64C8
ROM:000379EC .data.l word_FFFF64C4
ROM:000379F0 .data.w 5
ROM:000379F2 .data.w h'16
ROM:000379F4 .data.w h'20
ROM:000379F6 .data.w h'40
ROM:000379F8 .data.w h'60
ROM:000379FA .data.w h'80

t3_FFFFB81C:
ROM:0002B81C t3_2B81C: .data.b 3
ROM:0002B81D .data.b 0
ROM:0002B81E .data.l word_FFFF64C8
ROM:0002B822 .data.l word_FFFF64CA
ROM:0002B826 .data.b 5
ROM:0002B827 .data.b h'42,h'3D,h'29,h'22,h'1F
ROM:0002B827 .data.b h'3D,h'38,h'24,h'1D,h'1A
ROM:0002B827 .data.b h'33,h'2E,h'29,h'1B,h'14
ROM:0002B827 .data.b h'29,h'24,h'21,h'18,h'12

t3_FFFFB83C:
ROM:0002B83C t3_2B83C: .data.b 3
ROM:0002B83D .data.b 0
ROM:0002B83E .data.l word_FFFF64C8
ROM:0002B842 .data.l word_FFFF64CA
ROM:0002B846 .data.b 5
ROM:0002B847 .data.b h'21,h'1F,h'1D,h'1C,h'1B
ROM:0002B847 .data.b h'1F,h'1C,h'1B,h'1A,h'17
ROM:0002B847 .data.b h'1A,h'1A,h'18,h'17,h'12
ROM:0002B847 .data.b h'17,h'16,h'15,h'14, h'F

Сам код эмулятора:
Код
ROM:0003E5E0 Rear_O2_Emulator:                     ; CODE XREF: TephraMOD_Engine_Main_Loop_Hook_3EEB0-E04p
ROM:0003E5E0                 sts.l   pr, @-r15
ROM:0003E5E2                 mov.l   off_3E6D8, r3; word_FFFF64BA
ROM:0003E5E4                 mov.l   off_3E6E0, r2; word_FFFF64BE
ROM:0003E5E6                 mov.l   off_3E6DC, r1; word_FFFF64BC
ROM:0003E5E8                 mov.l   off_3E6E4, r9; word_FFFF64C0
ROM:0003E5EA                 mov.l   off_3E7AC, r8; word_FFFF64C4
ROM:0003E5EC                 mov.l   off_3E7A8, r12; word_FFFF64C6
ROM:0003E5EE                 mov.l   off_3E7A4, r13; word_FFFF64C2
ROM:0003E5F0                 mov.l   off_3E7A0, r0; High_Byte_bMUT21_Engine_RPM
ROM:0003E5F2                 mov.w   @r0, r0
ROM:0003E5F4                 extu.w  r0, r0
ROM:0003E5F6                 cmp/eq  #0, r0
ROM:0003E5F8                 bf      loc_3E606
ROM:0003E5FA                 mov.w   r0, @r2
ROM:0003E5FC                 mov.w   r0, @r9
ROM:0003E5FE                 mov.l   off_3E770, r0; t3_FFFFB81C
ROM:0003E600                 add     #h'B, r0
ROM:0003E602                 bra     loc_3E69E
ROM:0003E604                 mov.b   @r0, r0
ROM:0003E606; ---------------------------------------------------------------------------
ROM:0003E606
ROM:0003E606 loc_3E606:                            ; CODE XREF: Rear_O2_Emulator+18j
ROM:0003E606                 mov.w   @r8, r4
ROM:0003E608                 extu.w  r4, r4
ROM:0003E60A                 add     r0, r4
ROM:0003E60C                 mov.w   r4, @r8
ROM:0003E60E                 mov.l   off_3E798, r0; IGNITION_LOAD_LAST_FFFF64B4
ROM:0003E610                 mov.w   @r0, r0
ROM:0003E612                 extu.w  r0, r0
ROM:0003E614                 shlr2   r0
ROM:0003E616                 mov.w   @r12, r4
ROM:0003E618                 extu.w  r4, r4
ROM:0003E61A                 add     r0, r4
ROM:0003E61C                 mov.w   r4, @r12
ROM:0003E61E                 mov.l   off_3E794, r4; High_Byte_bMUT13_Front_Oxygen_Sensor_1
ROM:0003E620                 mov.w   @r4, r0
ROM:0003E622                 extu.w  r0, r0
ROM:0003E624                 mov.w   @r3, r4
ROM:0003E626                 extu.w  r4, r4
ROM:0003E628                 add     r0, r4
ROM:0003E62A                 mov.w   r4, @r3
ROM:0003E62C                 mov.w   @r1, r0
ROM:0003E62E                 add     #1, r0
ROM:0003E630                 mov.w   r0, @r1
ROM:0003E632                 mov.w   @r13, r5
ROM:0003E634                 extu.w  r5, r5
ROM:0003E636                 cmp/hs  r5, r0
ROM:0003E638                 bf      loc_3E6AA
ROM:0003E63A                 mov.w   @r8, r4
ROM:0003E63C                 extu.w  r4, r4
ROM:0003E63E                 mov.l   off_3E790, r10; sub_9F2
ROM:0003E640                 jsr     @r10
ROM:0003E642                 nop
ROM:0003E644                 mov.w   r0, @r8
ROM:0003E646                 mov.w   @r12, r4
ROM:0003E648                 extu.w  r4, r4
ROM:0003E64A                 jsr     @r10
ROM:0003E64C                 nop
ROM:0003E64E                 mov.w   r0, @r12
ROM:0003E650                 mov.l   off_3E788, r4; AXIS_REAR_O2_EMULATOR_LOAD
ROM:0003E652                 mov.l   off_3E848, r10; sub_CC6
ROM:0003E654                 jsr     @r10
ROM:0003E656                 nop
ROM:0003E658                 mov.l   off_3E78C, r4; AXIS_REAR_O2_EMULATOR_RPM
ROM:0003E65A                 jsr     @r10
ROM:0003E65C                 nop
ROM:0003E65E                 mov.l   off_3E780, r4; t3_FFFFB83C
ROM:0003E660                 mov.l   off_3E784, r10; sub_C28
ROM:0003E662                 jsr     @r10
ROM:0003E664                 nop
ROM:0003E666                 mov     #h'7F, r4; ''
ROM:0003E668                 mov.w   @r1, r7
ROM:0003E66A                 extu.w  r7, r7
ROM:0003E66C                 mulu    r4, r7
ROM:0003E66E                 sts     macl, r6
ROM:0003E670                 mulu    r0, r7
ROM:0003E672                 sts     macl, r0
ROM:0003E674                 mov.w   @r3, r4
ROM:0003E676                 extu.w  r4, r4
ROM:0003E678                 mov.l   off_3E778, r5; t1_byte_FFFFB819
ROM:0003E67A                 mov     #1, r7
ROM:0003E67C                 cmp/hs  r0, r4
ROM:0003E67E                 bf      loc_3E684
ROM:0003E680                 mov.l   off_3E77C, r5; t1_byte_FFFFB81A
ROM:0003E682                 mov     #0, r7
ROM:0003E684
ROM:0003E684 loc_3E684:                            ; CODE XREF: Rear_O2_Emulator+9Ej
ROM:0003E684                 mov.b   @r5, r5
ROM:0003E686                 extu.b  r5, r5
ROM:0003E688                 mov.l   off_3E774, r10; sub_68A
ROM:0003E68A                 jsr     @r10
ROM:0003E68C                 nop
ROM:0003E68E                 add     r7, r0
ROM:0003E690                 mov.w   @r9, r4
ROM:0003E692                 mov.w   r4, @r2
ROM:0003E694                 mov.w   r0, @r9
ROM:0003E696                 mov.l   off_3E770, r4; t3_FFFFB81C
ROM:0003E698                 mov.l   off_3E784, r10; sub_C28
ROM:0003E69A                 jsr     @r10
ROM:0003E69C                 nop
ROM:0003E69E
ROM:0003E69E loc_3E69E:                            ; CODE XREF: Rear_O2_Emulator+22j
ROM:0003E69E                 mov.w   r0, @r13
ROM:0003E6A0                 mov     #0, r0
ROM:0003E6A2                 mov.w   r0, @r3
ROM:0003E6A4                 mov.w   r0, @r1
ROM:0003E6A6                 mov.w   r0, @r8
ROM:0003E6A8                 mov.w   r0, @r12
ROM:0003E6AA
ROM:0003E6AA loc_3E6AA:                            ; CODE XREF: Rear_O2_Emulator+58j
ROM:0003E6AA                 mov.w   @r1, r4
ROM:0003E6AC                 extu.w  r4, r4
ROM:0003E6AE                 mov.w   @r9, r0
ROM:0003E6B0                 extu.w  r0, r0
ROM:0003E6B2                 mulu    r4, r0
ROM:0003E6B4                 sts     macl, r4
ROM:0003E6B6                 mov.w   @r13, r5
ROM:0003E6B8                 extu.w  r5, r5
ROM:0003E6BA                 mov.w   @r1, r0
ROM:0003E6BC                 sub     r0, r5
ROM:0003E6BE                 mov.w   @r2, r0
ROM:0003E6C0                 mulu    r5, r0
ROM:0003E6C2                 sts     macl, r0
ROM:0003E6C4                 add     r0, r4
ROM:0003E6C6                 mov.w   @r13, r5
ROM:0003E6C8                 mov.l   off_3E790, r10; sub_9F2
ROM:0003E6CA                 jsr     @r10
ROM:0003E6CC                 nop
ROM:0003E6CE                 mov.l   off_3E79C, r1; High_Byte_bMUT3C_Rear_Oxygen_Sensor_1
ROM:0003E6D0                 mov.w   r0, @r1
ROM:0003E6D2                 lds.l   @r15+, pr
ROM:0003E6D4                 rts
ROM:0003E6D6                 nop
ROM:0003E6D6; End of function Rear_O2_Emulator


Куда врезать:
В прошивке по адресу 0 расположена точка старта прошивки:
ROM:00000000 .data.l Power_On_Entry
Идем по указанному адресу.
Там, на 8-9 шагу программы идет вызов основного цикла обработки двигателя:
ROM:00009706 mov.l off_971C, r0 ; Main_Engine_Control_Loop
ROM:00009708 jsr @r0 ; Main_Engine_Control_Loop
Идем по указанному адресу.
В конце будет вызов многих процедур подряд с последующим зацикливанием.
Выбираем вызов процедуры, отвечающей за "распихивание" переменной MUT9A по периферии. В моем случае, это предпоследняя в цикле процедура, ее вызов идет сразу после вызова иммобилайзерной процедуры.
Проверьте содержимое - та это процедура или нет, начинается она так:
Код
ROM:0000A3D8 MUT9A_Control:
ROM:0000A3D8                 sts.l   pr, @-r15
ROM:0000A3DA                 mov.l   r14, @-r15
ROM:0000A3DC                 mov     r15, r14
ROM:0000A3DE                 mov.l   off_A518, r10; Disable_Interrupts
ROM:0000A3E0                 jsr     @r10; Disable_Interrupts
ROM:0000A3E2                 nop
ROM:0000A3E4                 mov.l   off_A528, r0; High_Byte_bMUT9A_Ligths_Bit_Array
ROM:0000A3E6                 mov.w   @r0, r0
ROM:0000A3E8                 tst     #h'80, r0
ROM:0000A3EA                 bf      loc_A3F8
ROM:0000A3EC                 mov.l   off_A538, r10; bMUTAC_Port_F_Data_Register_Low
ROM:0000A3EE                 mov.b   @r10, r0
ROM:0000A3F0                 and     #h'DF, r0
ROM:0000A3F2                 mov.b   r0, @r10
ROM:0000A3F4                 bra     loc_A400
ROM:0000A3F6                 nop

Вызов этой процедуры заменяем на вызов нового кода. В конце нового кода, надо сделать вызов "родной" подмененной процедуры MUT9A_Control
В моем случае в родной код врезан большой кусок нового кода, и эмулятор - только одна новая процедурка, которая вызывается НЕ из основого кода, поэтому у меня в эмуляторе нет вызова MUT9A_Control (это чтобы не было вопросов, почему этого нет).
Кроме того, надо еще сохранять в стэк все использованные в эмуляторе регистры, и после выполнения эмултяора, восстанавливать их из стэка. В моем примере эмулятора этого нет, потому что, повторюсь, у меня эмулятор врезан не напрямую в основной код.

Дополнительно:
Надо "обезвредить" чтение настоящей второй лямбды.
Надо найти код, где читаются показания заднего ЛЗ:
Код
ROM:0000A29C                 mov     #h'A, r4
ROM:0000A29E                 mov.l   off_A338, r5; High_Byte_Real_Rear_Oxygen_Sensor_1_FFFF648E
ROM:0000A2A0                 mov     r1, r6
ROM:0000A2A2                 bsr     ADC_Read
ROM:0000A2A4                 nop

Тут на выбор два варианта.
1. Вместо bsr ADC_Read поставить NOP.
2. Для тех кто хочет сохранять и логировать настоящее значение ЛЗ2(в моем случае это так сделано) - создать еще одну новую переменную и сделать чтобы именно она использовалась тут: ROM:0000A29E mov.l off_A338, r5

Вот как-то так. Если что непонятно написал или забыл написать - пишите - исправлю и дополню это сообщение.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
dmitrij_b
сообщение 3.5.2012, 16:41
Сообщение #814


Технический Маньяк-Гуру
*******

Группа:
Администраторы
Сообщений: 1802
Регистрация: 21.2.2009
Из: Екатеринбург
Вне форума
Авто: Lancer IX 1.6MT (105HP)

Репутация:   108  


Спасибо. Буду разбираться.

У меня сразу созрел вопрос. При такой врезке, лямбду в битах конфигурации не отключаем. И при физическом отсутствии датчика получим как минимум ошибку цепи подогрева. Есть какие-то наработки как этого избежать? А то у меня как раз имеется физическое отсутствие датчика, а точнее его подогрева...
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 3.5.2012, 19:40
Сообщение #815


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(dmitrij_b)
У меня сразу созрел вопрос. При такой врезке, лямбду в битах конфигурации не отключаем.

Нет, в этом весь смысл.

Цитата(dmitrij_b)
И при физическом отсутствии датчика получим как минимум ошибку цепи подогрева. Есть какие-то наработки как этого избежать? А то у меня как раз имеется физическое отсутствие датчика, а точнее его подогрева...

Ну речь ведь шла про что - про эмулятор. Что касается грелки - будет ошибка, я скажу как ее отключить. Мне для этого нужно почитать несколько МУтов при такой ошибке, чтобы сделать фикс, а то я пока даже не знаю, где он есть, опрос этой штуки.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
ayashiko
сообщение 3.5.2012, 20:56
Сообщение #816


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 78
Регистрация: 31.10.2009
Из: Екатеринбург
Вне форума


Репутация:   5  


отключить нагреватель можно в битах конфигурации насколько я понял без проблем
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 3.5.2012, 21:12
Сообщение #817


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(ayashiko @ 3.5.2012, 20:56) *
отключить нагреватель можно в битах конфигурации насколько я понял без проблем

Как именно? В 1.6 я что-то подобное еще видел, а, например, в моей прошивке 80230006 этих битовых переменных всего ТРИ: 0xF9A, 0xFAA, 0xFBA и все. Трех остальных нет, и упоминаемый бит, в 1.6, насколько я помню, как раз где-то в 0xFCA, кажется, был? И аналога этого кода я в своей прошивке не нашел, как ни старался. Поэтому надо будет логировать фаулты, чтобы определить где оно.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
gktuning
сообщение 4.5.2012, 2:17
Сообщение #818


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 439
Регистрация: 28.3.2010
Из: Odessa
Вне форума


Репутация:   16  


Всем привет!
Саша, глянь в Тефриной 9653хх06 этоткусок:
Код
ROM:0002C61E loc_2C61E:                             ; CODE XREF: sub_2C55C+48j
ROM:0002C61E                 mov.l   off_2C7EC, r8; unk_FFFF89FC  Тут меняем r8 на r0 (0xD873 на D073)
ROM:0002C620                 mov.w   @r0, r0
ROM:0002C622                 shlr8   r0
ROM:0002C624                 tst     #8, r0
ROM:0002C626                 bt      loc_2C62E
ROM:0002C628                 mov.l   off_2C7A4, r10; sub_2F9C0
ROM:0002C62A                 jsr     @r10; sub_2F9C0   Тут меняем на nop (0х0009)
ROM:0002C62C                 nop


Этот патч прописан в xml, в категории Rear O2 Heater Disable, там два пункта - Rear O2 Heater Patch и Heater CEL
Проверял, работает. Ошибку нагревателя убивает. А вот в периферии не во всех прошивах работает (ну, из тех, что мне попадались), не смотря на то, что индекс нулевой и даже соответствующие биты в коде проверяются. Это не только по нагревателю.
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
falcon
сообщение 5.5.2012, 17:38
Сообщение #819


Технический Маньяк
***

Группа:
Технический Маньяк
Сообщений: 201
Регистрация: 9.8.2010
Из: Крым, Ялта
Вне форума
Авто: Lancer9-07 2L AT LPG, 80230006

Репутация:   26  


Цитата(gktuning @ 4.5.2012, 2:17) *
Саша, глянь в Тефриной 9653хх06 этоткусок:
Этот патч прописан в xml, в категории Rear O2 Heater Disable, там два пункта - Rear O2 Heater Patch и Heater CEL

Да, этот патч я давно видел, кстати, для 1.6 на его основе вроде можно сделать патч, там есть такое же место. Там, кстати, FCA опрашивается - можно пропатчить так, чтобы бит управления эмулятора опрашивало и автоматически отключало опрос хитера в случае эмуляции.

А в моей прошивке этого нет. Я нашел общую процедуру, откуда идет вызов всего этого, но в 1.6 и в эво там опрашиваются биты FCA FDA и по ним выполняется несколько десятков функций. А у меня в этом месте ничто нигде не опрашивается, а просто выполняется всего ТРИ процедуры, имеющие аналоги в эвовский прошивке. А всего остального барахла у меня нет, зато у меня есть механизм где по таймеру циклически запускаются по очереди диагностические процедуры, по результатам которых ставятся/сбрасываются фолты. После старта двигателя в первые пять секунд только первые несколько выполняются, потом - все. Вот я так думаю, у меня это дело там проверяется, только не увидев какой фолт выставит прошивка при отключении хитера - не узнаешь что патчить.
Я, в теории, знаю, что разъем ЛЗ2 ГДЕ-ТО под ногами переднего пассажира, но все никак не созрею поискать и отключить его (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post
ayashiko
сообщение 6.5.2012, 11:47
Сообщение #820


Начинающий Технический Маньяк
**

Группа:
Технический Маньяк
Сообщений: 78
Регистрация: 31.10.2009
Из: Екатеринбург
Вне форума


Репутация:   5  


если я не ошибаюсь то по FCA бит 16 если поставить 1 то тогда монитор дк2 будет отключен вместе с нагревателями или я ошибаюсь?
Go to the top of the page
¬
Вставить ник в форму быстрого ответа
+Quote Post

116 страниц V  « < 39 40 41 42 43 > » 
Fast ReplyReply to this topicStart new topic
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0

 



Быстрый заказ, позвонить +7-978-708-85-73
Дроссель Amadeus Productions. Быстрый заказ по телефону.
(Viber, WhatsApp, Telegram)
Amadeus Productions Дроссельный узел на Lancer IX 1.6 (4G18), 2.0 (4G63) и другие моторы
Ремкомплект РХХ на Mitsubishi Lancer IX, 1.6 (4G18), MD619857, 1450A116
Облегченный маховик на 1.6 (4G18) и другие моторы
Облегченные шкивы на 1.6 (4G18) и другие моторы
One-touch или "Ленивые поворотники"