Диагностика двигателя, логгирование и прошивка ECU. |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Диагностика двигателя, логгирование и прошивка ECU. |
4.3.2012, 17:09
Сообщение
#721
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 45 Регистрация: 20.6.2011 Вне форума Авто: lancer x 1.8 cvt Репутация: 1 |
по простому. по адресу faa поставь 579c
похоже на твоей прошивке не 2й бит, а 8й отвечает за отключение иммобилайзера |
|
|
4.3.2012, 19:15
Сообщение
#722
|
|
Мозгодел Группа: Технический Маньяк Сообщений: 631 Регистрация: 20.2.2012 Из: Пятигорск Вне форума Авто: Mitsubishi Carisma 1,8 DOHC MT Репутация: 48 |
Цитата по простому. по адресу faa поставь 579c Спасибо за разьяснение. Только у меня изначально было 569А, значит надо пробовать 579А?
похоже на твоей прошивке не 2й бит, а 8й отвечает за отключение иммобилайзера |
|
|
4.3.2012, 19:27
Сообщение
#723
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 45 Регистрация: 20.6.2011 Вне форума Авто: lancer x 1.8 cvt Репутация: 1 |
да. именно так. поменять 569А на 579А
|
|
|
4.3.2012, 22:56
Сообщение
#724
|
|
Мозгодел Группа: Технический Маньяк Сообщений: 631 Регистрация: 20.2.2012 Из: Пятигорск Вне форума Авто: Mitsubishi Carisma 1,8 DOHC MT Репутация: 48 |
Наконец получилось отключить иммо. Поменял в FAA bit.3 с "1" на "0". Получилось в FAA-5692. После этого отлючил вторую лямбду и стало "5690". Теперь заводится. Спасибо falcon и gbix за поддержку и желание помочь. (IMG:style_emoticons/default/drinks.gif) Пришла мысль: может быть в XML перепутаны местами bit.3 и immobilzer disable?
|
|
|
4.3.2012, 23:16
Сообщение
#725
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 45 Регистрация: 20.6.2011 Вне форума Авто: lancer x 1.8 cvt Репутация: 1 |
нестыковычка выходит... (IMG:style_emoticons/default/wink.gif)
2 это 0010, т.е 1й бит. так как считается с 0... если бы был 3й бит было бы 8 (5698) да и сам тоже обсчитался [ECUOptionSet2.7] = 1, Disable Immo on Carisma 99650002 [FAA.7] = 1, for example 569C to 569C и следует что он отключен вроде уже... ROM:0000E7C4 mov.l #ECUOptionSet2, r0 ; Move Immediate Long Data ROM:0000E7C6 mov.w @r0, r0 ; Move Word Data ROM:0000E7C8 tst #8, r0 ; Test Logical ROM:0000E7CA bt loc_E7D2 ; Branch if True ROM:0000E7CC mov.l #sub_1FCEC, r10 ; Move Immediate Long Data ROM:0000E7CE jsr @r10 ; sub_1FCEC ; Jump to Subroutine а тут #sub_1FCEC единственное место где код иммобилайзера считывается... |
|
|
5.3.2012, 8:07
Сообщение
#726
|
|
Мозгодел Группа: Технический Маньяк Сообщений: 631 Регистрация: 20.2.2012 Из: Пятигорск Вне форума Авто: Mitsubishi Carisma 1,8 DOHC MT Репутация: 48 |
|
|
|
5.3.2012, 12:30
Сообщение
#727
|
|
Технический Маньяк Группа: Технический Маньяк Сообщений: 439 Регистрация: 28.3.2010 Из: Odessa Вне форума Репутация: 16 |
Тфу ты, совсем запутали - так бит 3 - это и есть иммо. (IMG:style_emoticons/default/biggrin.gif)
У тебя в xml немного напутано. Вот из рабочих xml EcuFlash: <scaling name="Blobbits" storagetype="bloblist" storagebits="1"> <data name="0" value="00"/> <data name="1" value="01"/> </scaling> <table name="ECU Periphery00 (F9A) Bits" category="Periphery" address="f9a" type="2D" level="2" scaling="Blobbits"> <table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16"> <data>bit.15</data> <data>bit.14</data> <data>bit.13</data> <data>bit.12</data> <data>bit.11</data> <data>bit.10</data> <data>bit.9</data> <data>bit.8</data> <data>bit.7</data> <data>bit.6</data> <data>bit.5</data> <data>bit.4</data> <data>bit.3</data> <data>bit.2</data> <data>bit.1</data> <data>bit.0</data> </table> </table> <table name="ECU Periphery0 (FAA) Bits" category="Periphery" address="faa" type="2D" level="2" scaling="Blobbits"> <table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16"> <data>bit.15</data> <data>front o2 sensor heater circuit</data> <data>bit.13</data> <data>bit.12</data> <data>Disable EGR / Enabled Ign Adv (set bit=1)</data> <data>timing knockdown on light acceleration and less than 3000rpm</data> <data>Enable Warmup Ign Retard</data> <data>bit.8</data> <data>Enable High Oct Ign Map Lookup (and many other subroutines)</data> <data>"WG solenoid? Enable Speed Limit Test"</data> <data>bit.5</data> <data>for full time open loop set to 0</data> <data>for immobilizer function disable set to 0</data> <data>bit.2</data> <data>rear o2</data> <data>bit.0</data> </table> </table> <table name="ECU Periphery1 (FBA) Bits" category="Periphery" address="fba" type="2D" level="2" scaling="Blobbits"> <table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16"> <data>bit.15</data> <data>bit.14</data> <data>bit.13</data> <data>bit.12</data> <data>bit.11</data> <data>bit.10</data> <data>bit.9</data> <data>bit.8</data> <data>bit.7</data> <data>bit.6</data> <data>2nd thermo fan table</data> <data>bit.4</data> <data>bit.3</data> <data>bit.2</data> <data>bit.1</data> <data>Lean Spool (1=enable 0=diasble)</data> </table> </table> <table name="ECU Periphery2 (FCA) Bits" category="Periphery" address="fca" type="2D" level="2" scaling="Blobbits"> <table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16"> <data>P0443, P0446, P0403, P0243, P0090, P2263</data> <data>P0450, P0451, P0452, P0453 Evap</data> <data>P0441, P0442 Evap</data> <data>bit.12</data> <data>P0031, P0032, P0037, P0038</data> <data>P1400 MAP Sensor</data> <data>P0401 EGR Test</data> <data>P0506, P0507 Idle Test</data> <data>P0170 (P0171, P0172)</data> <data>P0134 Front O2</data> <data>P0300; set bit.4 and bit.5 to 0 to disable</data> <data>P0300; set bit.4 and bit.5 to 0 to disable</data> <data>P0132, P0136 O2</data> <data>P0133, P0159</data> <data>P0421 not in FSM</data> <data>bit.0</data> </table> </table> <table name="ECU Periphery3 (FDA) Bits" category="Periphery" address="fda" type="2D" level="2" scaling="Blobbits"> <table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16"> <data>P0128 CT Below Reg</data> <data>P1603 Battery Backup</data> <data>bit.13</data> <data>bit.12</data> <data>P0180 - P0183, P0461, P2066 Fuel Sensors</data> <data>bit.10</data> <data>bit.9</data> <data>bit.8</data> <data>P0551 PS Pressure</data> <data>P0500 Speed Sens</data> <data>bit.5</data> <data>bit.4</data> <data>bit.3</data> <data>P0234, P0243, P2263</data> <data>P0510 not in FSM</data> <data>P1715, P1750, etc</data> </table> </table> <table name="ECU Periphery4 (FEA) Bits" category="Periphery" address="fea" type="2D" level="2" scaling="Blobbits"> <table name="Periphery Bit Number" type="Static Y Axis" flipy="true" elements="16"> <data>P0140 Rear O2 No Act</data> <data>P0069 MAP vs Baro</data> <data>P0111 IAT Circuit</data> <data>P0554 PS Press Sens</data> <data>P1530 A/C1 Switch</data> <data>bit.10</data> <data>bit.9</data> <data>P0830 Clutch Pedal Circuit</data> <data>P0090 Fuel Pressure Circuit</data> <data>bit.6</data> <data>bit.5</data> <data>bit.4</data> <data>bit.3</data> <data>bit.2</data> <data>bit.1</data> <data>bit.0</data> </table> </table> |
|
|
5.3.2012, 16:54
Сообщение
#728
|
||
Технический Маньяк Группа: Технический Маньяк Сообщений: 201 Регистрация: 9.8.2010 Из: Крым, Ялта Вне форума Авто: Lancer9-07 2L AT LPG, 80230006 Репутация: 26 |
Вопрос по поводу ГТ и его блокировки. Залогировал подъем на ангарский перевал из алушты до нижней кутузовки. Вот лог:
Понижение с 4 на 3, и на третьей неспешный разгон. At Dumper Clutch Efficiency - это я так обозвал рассчитываемое коробкой соотношение оборотов входного вала к оборотам двигателя. 0% - "сцепление выжато", 100% - обороты совпадают - "сцепление отпущено". На логе видно - подъем, двигатель и трансмиссия нагружены, двиг постепенно набирает почти 4 тысячи оборотов, но эффективность ГТ в среднем чуть больше 90% - те ГТ НЕ блокируется. Блокируется он уже после повышения на 4ую, когда нагрузка падает. Так вот, что предполагается сделать с ГТ? Под нагрузкой, как показывает лог, он не в состоянии уравнять обороты двига и входного вала до разницы, при которой возможно его блокирование. А без этого, если попробовать заблокировать ГТ в момент, показанный в логе - подъем, нагрузка, почти 4К оборотов, эффективность ГТ около 90%, если в такой момент дать ему команду блокироваться - разница оборотов двига с входным валом порядка 400RPM, или, если мерять от скорости, 10% скорости от 8х-9х км/ч, будет толчок на неуравнянную скорость порядка 10 кмч - боюсь коробка много таких рывков не переживет. Возвращаясь к "изменению работы ГТ" - что именно хотелось менять? |
|
|
||
5.3.2012, 17:31
Сообщение
#729
|
||
Супер Технический Маньяк Группа: Почетные ветераны Сообщений: 527 Регистрация: 4.11.2011 Из: Подольск -> Клёново Вне форума Авто: Lancer IX 1.6 AT Turbo Репутация: 57 |
Вопрос по поводу ГТ и его блокировки. Залогировал подъем на ангарский перевал из алушты до нижней кутузовки. Вот лог: Понижение с 4 на 3, и на третьей неспешный разгон. At Dumper Clutch Efficiency - это я так обозвал рассчитываемое коробкой соотношение оборотов входного вала к оборотам двигателя. 0% - "сцепление выжато", 100% - обороты совпадают - "сцепление отпущено". На логе видно - подъем, двигатель и трансмиссия нагружены, двиг постепенно набирает почти 4 тысячи оборотов, но эффективность ГТ в среднем чуть больше 90% - те ГТ НЕ блокируется. Блокируется он уже после повышения на 4ую, когда нагрузка падает. Так вот, что предполагается сделать с ГТ? Под нагрузкой, как показывает лог, он не в состоянии уравнять обороты двига и входного вала до разницы, при которой возможно его блокирование. А без этого, если попробовать заблокировать ГТ в момент, показанный в логе - подъем, нагрузка, почти 4К оборотов, эффективность ГТ около 90%, если в такой момент дать ему команду блокироваться - разница оборотов двига с входным валом порядка 400RPM, или, если мерять от скорости, 10% скорости от 8х-9х км/ч, будет толчок на неуравнянную скорость порядка 10 кмч - боюсь коробка много таких рывков не переживет. Возвращаясь к "изменению работы ГТ" - что именно хотелось менять? УУУ как далеко накопано то уже( есть же маньяки такие). (IMG:style_emoticons/default/biggrin.gif) .В принципе там все окай итак работает( у меня АТ стреляет дай бог)- частичная блокировка даже чем-то помогает иногда в нагрузках, т.е. как бы вот этот эффект недоотпущенного сцепления немного делает "полегче" машинке и дает возможность вытянуть. Например на 4-ой ступени с 45-50 км\ч в режиме "мануал" газ нажать -так она плавненько( даже достаточно неплохо) начинает набирать-другое дело на МТ на 5-ой при той же скорости....будут рывки или авто вообще захлебываться начнет.... |
|
|
||
5.3.2012, 18:46
Сообщение
#730
|
|
***** Группа: Администраторы Сообщений: 2152 Регистрация: 26.7.2009 Из: Славный град Тобольск Вне форума Репутация: 53 |
Вот, если я правильно понимаю, скважность импульса на соленоиде AT Damper Clutch Efficiency- это и есть% заблокированности ГТ,
т.е. чем "дольше" открыт клапан (а там идет именно ШИМ, я проверял) - тем больше давление на муфту блокировки ГТ. И вот тут правильный вопрос. А что если сделать там где 60-90% - сделать всегда 90 например. Самый большой расход у нас именно при наборе скорости, стрелка стоит на 2000об, а скорость наростает с 15 до 60 км/ч. вся разница по оборотам - в ГТ. Как бы ее в этом диапазоне скоростей сделать 80 или 85%. получим снижение расхода. Кстати это все на дросселе 10-20% (я еще завтра проверю точно). P..S. на больших скоростях и оборотах за 3000 - всё нравится... |
|
|
5.3.2012, 19:03
Сообщение
#731
|
|
Супер Технический Маньяк Группа: Почетные ветераны Сообщений: 527 Регистрация: 4.11.2011 Из: Подольск -> Клёново Вне форума Авто: Lancer IX 1.6 AT Turbo Репутация: 57 |
Вот, если я правильно понимаю, скважность импульса на соленоиде AT Damper Clutch Efficiency- это и есть% заблокированности ГТ, т.е. чем "дольше" открыт клапан (а там идет именно ШИМ, я проверял) - тем больше давление на муфту блокировки ГТ. И вот тут правильный вопрос. А что если сделать там где 60-90% - сделать всегда 90 например. Самый большой расход у нас именно при наборе скорости, стрелка стоит на 2000об, а скорость наростает с 15 до 60 км/ч. вся разница по оборотам - в ГТ. Как бы ее в этом диапазоне скоростей сделать 80 или 85%. получим снижение расхода. Кстати это все на дросселе 10-20% (я еще завтра проверю точно). P..S. на больших скоростях и оборотах за 3000 - всё нравится... Мне кажется, что не просто так сделали именно такие блокировки.....А , что если будет, что-то типо рывков или даже ударов, особенно на первых( более мощных) ступенях? НУ просто если логически подумать- почему Жапы не сделали как-то по другому( эффективнее), а сделали именно так- это же не экология и т.п., чтобы как-то ужиматься, тем более в таких вещах как эффективность трансмисии..... хз хз вообщем.. (IMG:style_emoticons/default/mellow.gif) |
|
|
6.3.2012, 8:41
Сообщение
#732
|
|
***** Группа: Администраторы Сообщений: 2152 Регистрация: 26.7.2009 Из: Славный град Тобольск Вне форума Репутация: 53 |
А может для комфорта передвижения...
|
|
|
6.3.2012, 14:00
Сообщение
#733
|
|
Супер Технический Маньяк Группа: Администраторы Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: 57 |
Думаю будет полезно (не только мне), но и для всех кто более или менее пытается по коду лазить.
Фалкон (Саша) меня просветил по битам. Спасибо!!! (Поправляйте если что не так) Я сам в танке поэтому сделал для себя табличку битов, что бы голову не ломать. Часто встречаются в коде обозначения как (допустим пример) FFDF, или h,20 - это одно и тоже FFFF-FFDF= 20 это Бит№5 (нолик шестой 1111 1111 1101 1111) (считаем номер бита по ноликам с права на лево) Бит 0 0x0001 FFFE 1111 1111 1111 1110 Бит 1 0x0002 FFFD 1111 1111 1111 1101 Бит 2 0x0004 FFFB 1111 1111 1111 1011 Бит 3 0x0008 FFF7 1111 1111 1111 0111 Бит 4 0х0010 FFEF 1111 1111 1110 1111 Бит 5 0х0020 FFDF 1111 1111 1101 1111 Бит 6 0x0040 FFBF 1111 1111 1011 1111 Бит 7 0x0080 FF7F 1111 1111 0111 1111 Бит 8 0x0100 FEFF 1111 1110 1111 1111 Бит 9 0x0200 FDFF 1111 1101 1111 1111 Бит 10 0x0400 FBFF 1111 1011 1111 1111 Бит 11 0x0800 F7FF 1111 0111 1111 1111 Бит 12 0x1000 EFFF 1110 1111 1111 1111 Бит 13 0x2000 DFFF 1101 1111 1111 1111 Бит 14 0x4000 BFFF 1011 1111 1111 1111 Бит 15 0x8000 7FFF 0111 1111 1111 1111 Что бы понять, что в коде точно бит - рядом с FFDF или h 20 еще бывают такие команды как tst - сравнение с нулем (или отличие от нуля) (могут проверятся как бит или регистр или данные). And - гасит 1 в 0 биты маски тем самым выключает бит (везде будут нули). Or- наоборот включает не взведеные т.е. 0 в 1 включает бит (в место нуля будет 1). Короче как я понял and выключает вычисление или ветку алгоритма, а or -на оборот включает переход или вычисление. (но это надо смотреть далее по коду - за что отвечает бит). Думаю надо попробовать еще себе сделать такие таблички (подсказки) по другим битным картам (что бы голову не ломать). Благо еще gktuning (Юра) расписал все номера битов за что отвечают. 00000F8A BitMap0_byte_F8A:.data.w h'E24F 00000F9A BitMap1_byte_F9A:.data.w 4 00000FAA BitMap2_byte_FAA:.data.w h'56DA 00000FBA BitMap3_byte_FBA:.data.w 8 00000FCA BitMap4_byte_FCA:.data.w h'89FF 00000FDA BitMap5_byte_FDA:.data.w h'4290 00000FEA BitMap6_unk_FEA:.data.w 0 00000FFA BitMap7_word_FFA:.data.w h'18 0000100A BitMap8_100A: .data.w h'7315 |
|
|
6.3.2012, 14:14
Сообщение
#734
|
|
Супер Технический Маньяк Группа: Администраторы Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: 57 |
А вот так примерно это выглядит в коде - вынос известных и не известных битов которые привязаны к какому ни то адресу RAM FFFFхххх (таких адресов куда пишутся биты дофига).
RAM:FFFF8888 RT_AIRCON_DRIVE_NEUTRAL_F20_FLAG1_FFFF8888:.res.b 2 RAM:FFFF8888 ; DATA XREF: System_Power_On_Reset_Main+64o RAM:FFFF8888 ; ROM:off_F224o ... RAM:FFFF8888 ; 0x0001 - 1=AC switch OFF, 0==AC switch ON RAM:FFFF8888 ; 0x0002 - Unknown, Initializes DT_POST_STARTER timer RAM:FFFF8888 ; 0x0004 - 1=Launch Control Disabled, 0= Enabled RAM:FFFF8888 ; 0x0008 - Engine Braking ??? RAM:FFFF8888 ; 0x0010 - 1=AC relay ON, 0=AC relay OFF RAM:FFFF8888 ; 0x0020 - 1=Neutral, 0=Drive RAM:FFFF8888 ; 0x0040 - 1=STARTER ON?? RAM:FFFF8888 ; 0=no 70% injector scaling RAM:FFFF8888 ; 0=STARTER_TIMER reset RAM:FFFF8888 ; 0x0080 - 1=Engine IDLE, affects Purge Duty RAM:FFFF8888 ; 0x0100 - Unknown RAM:FFFF8888 ; 0x0200 - Unknown RAM:FFFF8888 ; 0x0800 - Unknown RAM:FFFF8888 ; 0x1000 - 1=Set, 0=Clear Stored Faults bits in Stored_Faults_by_BM01_Bits_Calc RAM:FFFF8888 ; 0x4000 - Unknown, causes IDLE RPM to be trimmed by t1_Starter_Idle_RPM_Limit_Const_898RPM эти биты работают в основном через команду tst пример mov.l off_F224, r0 ; RT_AIRCON_DRIVE_NEUTRAL_F20_FLAG1_FFFF8888 ; Move Immediate Long Data mov.w @r0, r0 ; Move Word Data tst #h'40, r0 ; Test Logical далее переход а вот эти через and и or RAM:FFFF8A02 High_Byte_bMUT18_Open_Loop_Bit_Array_FFFF8A02:.res.b 1 RAM:FFFF8A02 ; DATA XREF: ROM:000091A4o RAM:FFFF8A02 ; Make_Copies_of_MUT1E_FFFF69C2_MUT18_MUT59_and_FUEL_CUT_FLAG+14o ... RAM:FFFF8A02 0x0001 - Open Loop by LOAD Internal by 2nd table RAM:FFFF8A02 When SET being cleared when ECULoad<=t2_Open_Loop_Load_1-t1_Open_Loop_Load_FallBack_Const_8 RAM:FFFF8A02 When NOT set being set when ECULoad>=t2_Open_Loop_Load_1 RAM:FFFF8A02 0x0002 - Open Loop by MUT18 bit12 and MUT19 bit7 RAM:FFFF8A02 0x0004 - Unknown RAM:FFFF8A02 0x0008 - Front O2 above t1_Front_O2_Voltage_Rear_O2_Enabled_Threshold_Const_0_51V RAM:FFFF8A02 0x0010 - Front O2 above t1_Front_O2_Voltage_Rear_O2_Disabled_Threshold_Const_0_61V RAM:FFFF8A02 0x0020 - Front Heater WAS Faulty RAM:FFFF8A02 Cleared when Rear O2 Enabled and Front Heater WAS Faulty RAM:FFFF8A02 and Front O2 ABOVE/BELOW t1_Front_O2_Voltage_Rear_O2_Enabled_Threshold_Const_0_51V Condition CHANGED RAM:FFFF8A02 0x0040 - Unknown Use Positive Front O2 STFT Table? RAM:FFFF8A02 0x0080 - Front O2 above High_Byte_bMUT5A (Lean-Rich Threshold) RAM:FFFF8A02 0x0100 - Open Loop by TPS Internal by 1st table RAM:FFFF8A02 0x0200 - Open Loop by LOAD Internal RAM:FFFF8A02 When SET, being cleared when ECULoad<=t2_Open_Loop_Load_1-t1_Open_Loop_Load_FallBack_Const_8 RAM:FFFF8A02 When NOT set, being set when ECULoad>=t2_Open_Loop_Load_1 RAM:FFFF8A02 0x1000 - OPEN LOOP EFFECTIVE RAM:FFFF8A02 0x2000 - Unknown, RAM:FFFF8A02 Cleared when Front Heater WAS Faulty RAM:FFFF8A02 Set when Rear O2 Enabled and Front Heater WAS Faulty RAM:FFFF8A02 and Front O2 ABOVE/BELOW t1_Front_O2_Voltage_Rear_O2_Enabled_Threshold_Const_0_51V Condition NOT Changed RAM:FFFF8A02 0x4000 - Rear O2 DISABLED RAM:FFFF8A02 Cleared when Rear 2 ENABLED or when Front O2 Voltage changed ABOVE/BELOW t1_Front_O2_Voltage_Rear_O2_Disabled_Threshold_Const_0_61V Condition RAM:FFFF8A02 Set when DT3_FFFF67BE == 0 RAM:FFFF8A02 Use -2.6% constant instead of STFT MIN LIMIT RAM:FFFF8A02 Set when DT3_FFFF67BE is Zero RAM:FFFF8A02 0x8000 - Front Heater WAS Faulty, RAM:FFFF8A02 Cleared when Rear O2 disabled RAM:FFFF8A02 Cleared when Rear O2 Enabled and Front Heater WAS Faulty RAM:FFFF8A02 and Front O2 ABOVE/BELOW t1_Front_O2_Voltage_Rear_O2_Enabled_Threshold_Const_0_51V Condition CHANGED RAM:FFFF8A02 Cleared when Rear O2 DIsabled and Front O2 above High_Byte_bMUT5A (Lean-Rich Threshold) Condition CHANGED примеры выключение бита mov.l off_12B94, r10 ; High_Byte_bMUT18_Open_Loop_Bit_Array_FFFF8A02 ; Move Immediate Long Data mov.w @r10, r0 ; Move Word Data mov.l dword_12BB8, r11 ; h'FEFF ; Move Immediate Long Data and r11, r0 ; AND Logical mov.w r0, @r10 включение бита mov.l off_12B94, r10 ; High_Byte_bMUT18_Open_Loop_Bit_Array_FFFF8A02 ; Move Immediate Long Data mov.w @r10, r0 ; Move Word Data mov.w word_12B84, r11 ; h'100 ; Move Immediate Word Data or r11, r0 ; OR Logical mov.w r0, @r10 ; Move Word Data |
|
|
6.3.2012, 22:13
Сообщение
#735
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 45 Регистрация: 20.6.2011 Вне форума Авто: lancer x 1.8 cvt Репутация: 1 |
поправочка - биты считаются от 0, просто так положено и правильно
Бит 1 0x0001 FFFE 1111 1111 1111 1110 должно быть Бит 0 Бит 2 0x0002 FFFD 1111 1111 1111 1101 Бит 1 Бит 3 0x0004 FFFB 1111 1111 1111 1011 Бит 4 0x0008 FFF7 1111 1111 1111 0111 в двоичной системе 0010 = 2 в десятичной, а также перевод из двоичной системы в десятичную 2 в степени 1 равно 2, 1 в степенит 0 равно 1 пример 8 в десятичной системе это 1000, т.е 2 в степени 3 и равно тоже 8 ... TST команда по сути является командой AND и проверяет на 0, если все биты указанные (единичками) в #imm равны 0, то будет выставлен флаг T и переход по условию установки флага T (это команда BT) будет выполнен TST #imm,R0 11001000iiiiiiii R0 & imm; if the result is 0, 1 → T |
|
|
7.3.2012, 0:14
Сообщение
#736
|
|
Технический Маньяк Группа: Технический Маньяк Сообщений: 439 Регистрация: 28.3.2010 Из: Odessa Вне форума Репутация: 16 |
Справедливости ради должен заметить, это не я периферию расписал, а ребята с evom.
И еще, не всегда отключение какой либо функции в периферии отключает функци полностью. Так, если отключить EGR, установив FAA bit 11 в 1 и FCA bit 9 в 0, то клапан EGR будет постоянно открыт. Что б его закрыть, нужно еще по адресу 103D (для 9653хх06) установить байт в 0. Вообще, там с адреса 101C идет большей блок однобайтных переменных, (очень похоже на ВАЗовские флаги комплектации) включающих/отключающих разные ветки проги. Вот фрагмент, отключающий клапан EGR (9653хх06) ROM:0000B052 mov.l off_B0C4, r0 ; unk_103D ; EGR System Enable/Disable ROM:0000B054 mov.b @r0, r0 ROM:0000B056 cmp/eq #0, r0 ROM:0000B058 bt loc_B0A2 С ними бы разобраться! |
|
|
7.3.2012, 9:30
Сообщение
#737
|
|
Супер Технический Маньяк Группа: Администраторы Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: 57 |
То gbix
Таблицу : Бит 0 Бит 1 поправил. То gktuning У себя по EGR занулил все таблицы (открытия в %, добавочные углы по зажиганию и т.д. ), так же выключил по 103D адресу (поставил 0). Эти не трогал FAA bit 11 в 1 (открывает EGR на постоянную и добавляет углы по зажиганию) и FCA bit 9 в 0 (похоже это только выключает ошибку EGR (Test) по OBD и горение чека на панели). Хотя можно просто все карты с EGR занулить и даже 103D не трогать. (если EGR снимать не собираетесь) |
|
|
7.3.2012, 9:59
Сообщение
#738
|
|
Супер Технический Маньяк Группа: Администраторы Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: 57 |
Ускоряем логгирование в 4е раза. (для 93270019)
Взято так же с EvoM. (Взято давно, но вот проверил только вчера). С Сашей (Фалконом) решили проверить. В Эдите пишем в XML карты. <map name="BAUDRATE 1 OBD" type="1" class="MUT"> <data offset="#D055" func_2val="500000/([value]+1) " func_val2="500000/([value]-1)" format="%.0f" incdata="1" incdatab="1" min="0" max="500000"/> </map> <map name="BAUDRATE 2 MUT" type="1" class="MUT"> <data offset="#D0D1" func_2val="500000/([value]+1)" func_val2="500000/([value]-1)" format="%.0f" incdata="1" incdatab="1" min="0" max="500000"/> </map> <map name="BAUDRATE 3 FULL" type="1" class="MUT"> <data offset="#D0E1" func_2val="500000/([value]+1)" func_val2="500000/([value]-1)" format="%.0f" incdata="1" incdatab="1" min="0" max="500000"/> </map> Видим значения 10417 OBD 15625 MUT 62500 Full Меняем в BAUDRATE 2 MUT 15625 на 62500. (вручную в таблице поменять скорее всего не выдет - забивает билиберду. поэтому в HEX редакторе скопирил с адреса BAUDRATE 3 FULL D0E1 и вставил в D0D1 ) Заливаем прошивку в ECU. В настройках порта Эвоскан, Экуэдит в логгерах выставляем вместо 15625 ставим 62500 и наслаждаемся. (в стоке 15625 идет ~ 100 данных в сек. теперь ~ 300-400) - расчеты были на EvoM выложены. В Лайф Мап в настройках так же меняем 15625 на 62500 иначе коннекта (request read error) не будет. (теперь скорость ~ 6000 данных в сек.) Размеры логов увеличатся - точность данных так же. Проверено на прогах- Экуэдит 3,4 -логгер работает на 62500 (не забываем выставлять в логгере Capture options -Capture rate-as possible т.е. захват данных с минимально возможной паузой) Эвоскан 2,7 - логгер работает на 62500 Live Map 441 - логгер и изменение RAM работает на 62500 Эвоскан 2,7 чтение/запись ROM с измененой BAUDRATE 2 работает (хотя может чтение/запись идет на пониженных) не тестил EcuFlash - им непользуюсь. Интересно заработает ли BAUDRATE на 125000 (ну или около 100000)?? (но это уже опасно - поменяем зальем, а на связь ECU - лог, чтение/запись может не выйти (из за помех и сбоев по связи)) Поэтому мы попробуем через ДМА в RAM что бы можно было менять BAUDRATE на лету (в ROM будет сток) с перенастройкой Лаййф мапа. В случае не выхода на связь - просто скидываем клемму и обнуляем RAM тем самым откатываем на сток 15625. Резульаты будут позднее. |
|
|
7.3.2012, 16:54
Сообщение
#739
|
|
Технический Маньяк Группа: Технический Маньяк Сообщений: 201 Регистрация: 9.8.2010 Из: Крым, Ялта Вне форума Авто: Lancer9-07 2L AT LPG, 80230006 Репутация: 26 |
<map name="BAUDRATE 2 MUT" type="1" class="MUT"> <data offset="#D0D1" func_2val="500000/([value]+1)" func_val2="500000/([value]-1)" format="%.0f" incdata="1" incdatab="1" min="0" max="500000"/> </map> Обратную формулу поправь. Не 500000/([value]-1), а 500000/[value]-1. Да и остальные адреса не надо людям давать - менять надо только МУТ режим, потому что кто-то может не разобраться и поменять скорость для других режимов,не для МУТ, ну и выгрести по полной. |
|
|
7.3.2012, 21:04
Сообщение
#740
|
|||
Мозгодел Группа: Технический Маньяк Сообщений: 631 Регистрация: 20.2.2012 Из: Пятигорск Вне форума Авто: Mitsubishi Carisma 1,8 DOHC MT Репутация: 48 |
Вопрос для маньяков. С новыми мозгами выдаёт ошибку 125. У меня подозрения на 2 вещи. Первое - скайлинг форсунок. В прошивке стоит 220, на форсах стоит цифра 210. Второе - показания датчика массового расхода воздуха. Вот мой ДМРВ
|
||
|
|||
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2024 Форум Технических Маньяков. |
|