ISCV control system disassembly
#196
Evolved Member
iTrader: (3)
After Dynotech's pushing and Raptord's help to get the cold idle down I did my own ghetto boost leak test. I drove it on slight boost. Ding, boost leak somewhere cause I can hear slight whistling. I have a tester arriving Thursday from
http://www.turboboostleaktesters.com...%29/Categories
to chase it down.
Just to restate the logic for others, the boost leak confirmation indicates a vacuum leak on non boost (idle) which throws off the attempt of the ECU to idle as programmed because air is entering the system that is not monitored. Correct?
http://www.turboboostleaktesters.com...%29/Categories
to chase it down.
Just to restate the logic for others, the boost leak confirmation indicates a vacuum leak on non boost (idle) which throws off the attempt of the ECU to idle as programmed because air is entering the system that is not monitored. Correct?
#199
Evolving Member
iTrader: (1)
Can anyone confirm if the following is correct for 9417? I pulled the definitions out of the Phenem mod Tephra V7 xml. The selected items below seem very odd when compared to 9653 or 9694. The balance of the definitions seem to have correct values. I've searched a decent amount to find the ISCV definitions for 9417 but I am guessing they aren't complete as of yet.
Thanks
Code:
<table name="ISCV Demand CTS Adder #2** (Post WOT) (sub_1F1F8) [sub_1EFC0]" category="ISCV Control" address="5a54" type="2D" level="1" scaling="ISCV_AX2_8"> <table name="Coolant Temp" address="6884" type="Y Axis" elements="8" scaling="Temp"/> </table> <table name="ISCV Demand CTS Adder #2*** (Post WOT) (sub_1F2C6) [sub_1EFC0]" category="ISCV Control" address="5a70" type="2D" level="1" scaling="ISCV_AX2_8"> <table name="Coolant Temp" address="6884" type="Y Axis" elements="8" scaling="Temp"/> </table> <table name="ISCV Demand RPM Adder (Moderated by Baro, IATS) (FFFF6EA8) (sub_204B6) [sub_1EFC0]" category="ISCV Control" address="651c" type="2D" level="1" scaling="ISCV_AX2_16"> <table name="RPM" address="635a" type="Y Axis" elements="10" scaling="RPM"/> </table> <table name="ISCV Demand Baro Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0]" category="ISCV Control" address="64fe" type="2D" level="1" scaling="ISCV_AX2_8"> <table name="Baro" address="6608" type="Y Axis" elements="5" scaling="Baro16"/> </table> <table name="ISCV Demand IATS Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0]" category="ISCV Control" address="650e" type="2D" level="1" scaling="ISCV_AX2_8"> <table name="Intake Air Temp" address="6884" type="Y Axis" elements="8" scaling="Temp"/> </table> <table name="ISCV Demand RPM Adder [rpm > 4500, load > 170, speed > 12 mph] (sub_1EFC0)" category="ISCV Control" address="605c" type="2D" level="1" scaling="ISCV_AX2_8"> <table name="RPM" address="635a" type="Y Axis" elements="10" scaling="RPM"/> </table>
Here are the four correct tables
ISCV Demand Baro Adder (FFFF8C9A) (sub_1A61C) Correct address=4338
ISCV Demand CTS Adder #2*** (Post WOT) (sub_1F2C6) [sub_1EFC0] Correct address=59d2
ISCV Demand CTS Adder #2** (Post WOT) (sub_1F1F8) [sub_1EFC0] Correct address=59b6
5e5a=ISCV Demand Baro Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0] Correct address =5E5a
Last edited by jedibow; Nov 21, 2012 at 11:13 AM.
#200
Former Sponsor
iTrader: (12)
All of the above addresses are incorrect for 9417XXXX, I have located the correct addresses for the following four tables and will update THIS POST when I locate the other tables. As of right now I would strongly recommend not adjusting any of these table in the 9417XXXX ROM including Tephra V7 as they all are incorrect...
Here are the four correct tables
ISCV Demand Baro Adder (FFFF8C9A) (sub_1A61C) Correct address=4438
ISCV Demand CTS Adder #2*** (Post WOT) (sub_1F2C6) [sub_1EFC0] Correct address=59d2
ISCV Demand CTS Adder #2** (Post WOT) (sub_1F1F8) [sub_1EFC0] Correct address=59b6
5e5a=ISCV Demand Baro Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0] Correct address =5E5a
Here are the four correct tables
ISCV Demand Baro Adder (FFFF8C9A) (sub_1A61C) Correct address=4438
ISCV Demand CTS Adder #2*** (Post WOT) (sub_1F2C6) [sub_1EFC0] Correct address=59d2
ISCV Demand CTS Adder #2** (Post WOT) (sub_1F1F8) [sub_1EFC0] Correct address=59b6
5e5a=ISCV Demand Baro Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0] Correct address =5E5a
Only correct addys Im missing now for 9417 are:
ISCV Demand IATS Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0]
ISCV Demand RPM Adder [rpm > 4500, load > 170, speed > 12 mph] (sub_1EFC0)
#201
EvoM Guru
iTrader: (1)
I tried to adapt mrfred "new definitions" to my current rom and here are the results,
this is for the roms : 88580013 - 88580014 - 88580714
these tables give me the exact same values that you can see with the tables mrfred posted on page 1 for 88590015 rom
THOSE ARE IN NO WAY TESTED, PROVEN OR 100% SAFE
Here are some more that are even less safe the the ones above because
these tables DO NOT give me the same values that you can see with the tables mrfred posted on page 1 for 88590015 rom, the values are sligthly different, it may be because I'm trying to compare 2 roms that originally have different values or because the address I put are completly wrong !
THOSE ARE IN NO WAY TESTED, PROVEN OR 100% SAFE
this is for the roms : 88580013 - 88580014 - 88580714
these tables give me the exact same values that you can see with the tables mrfred posted on page 1 for 88590015 rom
THOSE ARE IN NO WAY TESTED, PROVEN OR 100% SAFE
Code:
<scaling name="ISCV_AX2_8" units="% Demand" toexpr="x*100/255" frexpr="x*255/100" format="%.1f" min="0" max="200" inc="0.5" storagetype="uint8" endian="big"/> <scaling name="ISCV_AX2_16" units="% Demand" toexpr="x*100/255" frexpr="x*255/100" format="%.1f" min="0" max="200" inc="0.5" storagetype="uint16" endian="big"/> <table name="ISCV Demand Target Idle Trim (sub_1ECF6)" category="ISCV Control" type="2D" address="3e10" level="2" scaling="ISCV_AX2_8"> <table name="Target Idle Deviation" type="Y Axis" address="6da6" elements="9" scaling="RPMTarget"/> </table> <table name="ISCV Demand General CTS Subtractor (sub_1EBE6)" category="ISCV Control" type="2D" address="3e2e" level="2" scaling="ISCV_AX2_8"> <table name="Coolant Temp" type="Y Axis" address="70e6" elements="8" scaling="Temp"/> </table> <table name="ISCV Demand Baro Adder (FFFF6E98) (sub_1E1EE)" category="ISCV Control" type="2D" address="3dfe" level="2" scaling="ISCV_AX2_8"> <table name="Baro" type="Y Axis" address="6f30" elements="5" scaling="Baro16"/> </table> <table name="ISCV Demand RPM Adder* (sub_1EFC0)" category="ISCV Control" type="2D" address="41fc" level="2" scaling="ISCV_AX2_8"> <table name="RPM" type="Y Axis" address="6fa8" elements="10" scaling="RPM"/> </table>
these tables DO NOT give me the same values that you can see with the tables mrfred posted on page 1 for 88590015 rom, the values are sligthly different, it may be because I'm trying to compare 2 roms that originally have different values or because the address I put are completly wrong !
THOSE ARE IN NO WAY TESTED, PROVEN OR 100% SAFE
Code:
<table name="ISCV Demand Startup CTS Adder (sub_1EBB8)" category="ISCV Control" type="2D" address="3d84" level="2" scaling="ISCV_AX2_8"> <table name="Coolant Temp" type="Y Axis" address="70e6" elements="8" scaling="Temp"/> </table> <table name="ISCV Demand CTS Adder #1** (sub_1F1F8, sub_1EA0C, sub_1F596) [sub_1EFC0]" category="ISCV Control" type="2D" address="3d5c" level="2" scaling="ISCV_AX2_8"> <table name="Coolant Temp" type="Y Axis" address="71ca" elements="8" scaling="Temp"/> </table> <table name="ISCV Demand CTS Adder #1b*** (sub_1F2C6) [sub_1EFC0]" category="ISCV Control" type="2D" address="3d70" level="2" scaling="ISCV_AX2_8"> <table name="Coolant Temp" type="Y Axis" address="71ca" elements="8" scaling="Temp"/> </table> <table name="ISCV Demand Baro Adder**** (FFFF7C0E) (sub_1F6E6) [sub_1EFC0]" category="ISCV Control" type="2D" address="6b00" level="2" scaling="ISCV_AX2_8"> <table name="Baro" type="Y Axis" address="6f30" elements="5" scaling="Baro16"/> </table>
#202
Evolved Member
iTrader: (1)
All of the above addresses are incorrect for 9417XXXX, I have located the correct addresses for the following four tables and will update THIS POST when I locate the other tables. As of right now I would strongly recommend not adjusting any of these table in the 9417XXXX ROM including Tephra V7 as they all are incorrect...
Here are the four correct tables
ISCV Demand Baro Adder (FFFF8C9A) (sub_1A61C) Correct address=4438
Here are the four correct tables
ISCV Demand Baro Adder (FFFF8C9A) (sub_1A61C) Correct address=4438
Stock values appear to be...
Baro | % Demand |
0.465 | 36.1 |
0.625 | 36.5 |
0.785 | 37.3 |
0.865 | 38.0 |
0.945 | 39.6 |
#207
Evolved Member
iTrader: (6)
First I'd like to thanks to all people who have worked on this. I'm not a fan of blind tuning so I'm trying to understand how the system works. I've read ALL the info about ISCV. I wanted to ask if anyone can confirm my understanding of the ISCV routine:
-The ISCV initial step position is a baseline for ISCV position. So at 0% demand, ISCV is at initial step position.
-ISCV Demand% is determined considering what the engine is doing (which sub is active) and multiple parameters (tps,coolant,iat,baro,rpm at differents % of effect on the final variable). ISCV demand% is translated to Steps by the ISCV stepper lookup table.
-ISCV Demand% trim is determined by comparing the target idle (target idle tables) vs the actual idle RPM. In stock ROM max trim is 2%demand at 500rpm deviation so it hasn't much effect on ISCV steps.
-The ISCV is a stepper motor that has 255 steps. If the final ISCV target is over 255 or under 0, different parameters has no effect on it anymore. So before starting to tweak tables it would be important to tune the BISS to get some room in most situations.
ISCV Demand% +/- ISCVTrims% => Lookup table steps
ISCV final position= Initial steps +/- Lookup table
The reason I suppose a negative %demand is because when I did a quick log of ISCsteps yesterday, they were under initial position table.
I'll be out tonight for logging and trying to confirm how it works before starting to blindly tweak the tables. It would be interesting to know in a logical way how to react to differents issues/different setups. Thanks for your answers!
-The ISCV initial step position is a baseline for ISCV position. So at 0% demand, ISCV is at initial step position.
-ISCV Demand% is determined considering what the engine is doing (which sub is active) and multiple parameters (tps,coolant,iat,baro,rpm at differents % of effect on the final variable). ISCV demand% is translated to Steps by the ISCV stepper lookup table.
-ISCV Demand% trim is determined by comparing the target idle (target idle tables) vs the actual idle RPM. In stock ROM max trim is 2%demand at 500rpm deviation so it hasn't much effect on ISCV steps.
-The ISCV is a stepper motor that has 255 steps. If the final ISCV target is over 255 or under 0, different parameters has no effect on it anymore. So before starting to tweak tables it would be important to tune the BISS to get some room in most situations.
ISCV Demand% +/- ISCVTrims% => Lookup table steps
ISCV final position= Initial steps +/- Lookup table
The reason I suppose a negative %demand is because when I did a quick log of ISCsteps yesterday, they were under initial position table.
I'll be out tonight for logging and trying to confirm how it works before starting to blindly tweak the tables. It would be interesting to know in a logical way how to react to differents issues/different setups. Thanks for your answers!
Last edited by domyz; Dec 12, 2012 at 12:50 PM.
#210
CTS = coolant temperature.
Not sure what your're asking about ISCV %demand. There are a number of tables that tweak %demand as a function of coolant temp, air temp, TPS, etc. They are meant to tweak the idle stepper position to give best possible idle over a range of operating conditions.
Not sure what your're asking about ISCV %demand. There are a number of tables that tweak %demand as a function of coolant temp, air temp, TPS, etc. They are meant to tweak the idle stepper position to give best possible idle over a range of operating conditions.