Knock control - load vs RPM table found
Thanks justboosted02. I think if you were willing to play further with it that it would be nice to see if you can reduce the load threshold a little and increase the multiplier in exchange? Certainly on the Evo 8 you have more control over the load vs RPM table than you do with just the three values for the multipliers, but it might be nice to know that the ECU can still control real knock in say the 100-140 load range as you spool up since some people use aggressive timing there to increase torque (I know others retard to produce hot exhaust gas to spool the turbo).
Whilst I found the load vs RPM table first, I think then it would be my preference to have the system still fully active in the problem area by changing the multiplier and then using the backup of the load if still a problem. What do you think having played with it?
Whilst I found the load vs RPM table first, I think then it would be my preference to have the system still fully active in the problem area by changing the multiplier and then using the backup of the load if still a problem. What do you think having played with it?
i dont know if this was covered but is it possible to find the rpm ranges for the three multiplier tables on the evo 8 rom?
Last edited by justboosted02; Nov 29, 2008 at 03:30 PM.
Well I will be testing this myself.
However as I only got mine back on the road last night, and only done 100 miles so far, I haven't had the chance to hook up some det cans, so I can findout what knock is real and what is phantom (according to the cel I am not getting alot anyhow).
However as I only got mine back on the road last night, and only done 100 miles so far, I haven't had the chance to hook up some det cans, so I can findout what knock is real and what is phantom (according to the cel I am not getting alot anyhow).
Thanks for that. It is definatly a field day for us with these knock issue solutions. Also, lucky for me that Eric has a 96940011 ECU. That clears up my questions then. I'll change the settings and see what happends.
BTW, DMA/live mapping, is that a direct memory access logging? That sounds pretty damn amazing!
BTW, DMA/live mapping, is that a direct memory access logging? That sounds pretty damn amazing!
The RPM ranges were controlled by the bit flag I mentioned earlier. It wasn't immediately clear how they were calculated. I think it would be easier to sort out by logging knockbase by RPM and say just doubling the middle value and logging with known safe ignition timing. You'll then see the RPM at which it switches from low to mid and then mid to high. It doesn't look like it interpolates, it is a sudden switch. The other alternative if this gets nowhere, is for me to find the address of the bit flag in your ECU and give you the address to add to your MUT table so you can log it and see the RPM at which it switches. If I had an 8 I would do this personally.
Yes, the logging/live mapping RAM maps was using high speed DMA (a feature in our ECU but unused as stock) to read and write large quantities of data very quickly - eg datalogging 20 times faster than usual, 2 kilobytes of ignition/fuel/boost/injector alt maps (with space left over) can be pushed through the OBD port in one third of a second at 62500 baud with the engine running smoothly. Search if interested, I released a test for 88590015, not done Evo 7/8, but there are some Evo 7 guys keen to test so might do it at some point. It is well tested on my JDM IX and has been very useful when mapping cars with cams, turbos, injectors etc that would need many flashes to get right. Trouble is it was a very complex patch and needed custom PC software, all this was a bit much for anyone except me that wrote it and understood it I think!
Yes, the logging/live mapping RAM maps was using high speed DMA (a feature in our ECU but unused as stock) to read and write large quantities of data very quickly - eg datalogging 20 times faster than usual, 2 kilobytes of ignition/fuel/boost/injector alt maps (with space left over) can be pushed through the OBD port in one third of a second at 62500 baud with the engine running smoothly. Search if interested, I released a test for 88590015, not done Evo 7/8, but there are some Evo 7 guys keen to test so might do it at some point. It is well tested on my JDM IX and has been very useful when mapping cars with cams, turbos, injectors etc that would need many flashes to get right. Trouble is it was a very complex patch and needed custom PC software, all this was a bit much for anyone except me that wrote it and understood it I think!
well i went out and tried lowering my knock threshold and raising my multipliers with success, unfortunately my tuning session was cut short by my favorite local constable. luckily I was let off with a verbal warning 
Officer: Why do you have a laptop?
Me: well i have some low load knock im trying to fix
Officer: licence and registration
Me:
anyway, this is my new knock threshold:

Knock multiplier Low RPM:

Knock multiplier Mid RPM:

Knock Multiplier High RPM:

Here is a moderate acceleration graph with the new settings:

Here is full WOT pull with the new settings:

I think with a little more tweaking I can get this perfect

Officer: Why do you have a laptop?
Me: well i have some low load knock im trying to fix
Officer: licence and registration
Me:

anyway, this is my new knock threshold:

Knock multiplier Low RPM:

Knock multiplier Mid RPM:

Knock Multiplier High RPM:

Here is a moderate acceleration graph with the new settings:

Here is full WOT pull with the new settings:

I think with a little more tweaking I can get this perfect
The RPM ranges were controlled by the bit flag I mentioned earlier. It wasn't immediately clear how they were calculated. I think it would be easier to sort out by logging knockbase by RPM and say just doubling the middle value and logging with known safe ignition timing. You'll then see the RPM at which it switches from low to mid and then mid to high. It doesn't look like it interpolates, it is a sudden switch. The other alternative if this gets nowhere, is for me to find the address of the bit flag in your ECU and give you the address to add to your MUT table so you can log it and see the RPM at which it switches. If I had an 8 I would do this personally.
Yes, the logging/live mapping RAM maps was using high speed DMA (a feature in our ECU but unused as stock) to read and write large quantities of data very quickly - eg datalogging 20 times faster than usual, 2 kilobytes of ignition/fuel/boost/injector alt maps (with space left over) can be pushed through the OBD port in one third of a second at 62500 baud with the engine running smoothly. Search if interested, I released a test for 88590015, not done Evo 7/8, but there are some Evo 7 guys keen to test so might do it at some point. It is well tested on my JDM IX and has been very useful when mapping cars with cams, turbos, injectors etc that would need many flashes to get right. Trouble is it was a very complex patch and needed custom PC software, all this was a bit much for anyone except me that wrote it and understood it I think!
Yes, the logging/live mapping RAM maps was using high speed DMA (a feature in our ECU but unused as stock) to read and write large quantities of data very quickly - eg datalogging 20 times faster than usual, 2 kilobytes of ignition/fuel/boost/injector alt maps (with space left over) can be pushed through the OBD port in one third of a second at 62500 baud with the engine running smoothly. Search if interested, I released a test for 88590015, not done Evo 7/8, but there are some Evo 7 guys keen to test so might do it at some point. It is well tested on my JDM IX and has been very useful when mapping cars with cams, turbos, injectors etc that would need many flashes to get right. Trouble is it was a very complex patch and needed custom PC software, all this was a bit much for anyone except me that wrote it and understood it I think!
Does anyone have the XML code to put into my 94170015 definition? I am confused on what I need to enter for the addresses.....looks like justboosted02 has 94170008 and has had success. I just need to know if the address for 08 are the same for 15 and how to code the XML.
Any help would be appreciated....
~Zach
Any help would be appreciated....
~Zach
To save me a lot of disasm, best to just copy the 94170008 stuff if justboosted02 can put his xml fragment up. If the tables look the same, assume it is correct. If not, pls post again.
I have a logging setup ready to go to test some real knock sums when it is less icy, it should catch knocksum, knockbase, knockfiltadc, RPM, MAP, TPS for every spark event up to 6000 RPM. I would like to catch some graphs of knockbase being breached by knockfiltadc each time knocksum increments. I can usually get some sporadic knocksums up to 3 as long as I can use some boost in these weather conditions.
I have a logging setup ready to go to test some real knock sums when it is less icy, it should catch knocksum, knockbase, knockfiltadc, RPM, MAP, TPS for every spark event up to 6000 RPM. I would like to catch some graphs of knockbase being breached by knockfiltadc each time knocksum increments. I can usually get some sporadic knocksums up to 3 as long as I can use some boost in these weather conditions.
OK here is what I used for 94170014 or 94170015 that gave me the values I needed:
~Zach
<table name="Knock Load" category="Knock Control" address="421a" type="2D" level="2" scaling="Load8">
<table name="X" address="635a" type="X Axis" elements="10" scaling="RPM"/>
</table>
<table name="Knock Multiplier - Low RPM" category="Knock Control" address="177a" type="1D" level="1" scaling="uint16"/>
<table name="Knock Multiplier - Mid RPM" category="Knock Control" address="24aa" type="1D" level="1" scaling="uint16"/>
<table name="Knock Multiplier - High RPM" category="Knock Control" address="21de" type="1D" level="1" scaling="uint16"/>
<table name="Knock Adder - Single Gain" category="Knock Control" address="1780" type="1D" level="1" scaling="uint16"/>
<table name="Knock Adder - Triple Gain" category="Knock Control" address="177c" type="1D" level="1" scaling="uint16"/>
<table name="X" address="635a" type="X Axis" elements="10" scaling="RPM"/>
</table>
<table name="Knock Multiplier - Low RPM" category="Knock Control" address="177a" type="1D" level="1" scaling="uint16"/>
<table name="Knock Multiplier - Mid RPM" category="Knock Control" address="24aa" type="1D" level="1" scaling="uint16"/>
<table name="Knock Multiplier - High RPM" category="Knock Control" address="21de" type="1D" level="1" scaling="uint16"/>
<table name="Knock Adder - Single Gain" category="Knock Control" address="1780" type="1D" level="1" scaling="uint16"/>
<table name="Knock Adder - Triple Gain" category="Knock Control" address="177c" type="1D" level="1" scaling="uint16"/>
~Zach
Last edited by phenem; Nov 30, 2008 at 04:26 PM.
Just add the XML I posted above to your 94170015 XML definition in ECUFlash. If you use justboosted02's definition and don't have the same mod's (Tephra and other) you will see tables that don't exist in your ROM.
The best way is to add each MOD yourself to your OWN XML.
I have confirmed with another EVO that this works exactly as described. I used justboosted02's settings above because he has a 2.3 with the same stuff I have. Everything is perfect now.....
+10000000000 for getting this solved!
Awesome work guys!
~Zach
The best way is to add each MOD yourself to your OWN XML.
I have confirmed with another EVO that this works exactly as described. I used justboosted02's settings above because he has a 2.3 with the same stuff I have. Everything is perfect now.....
+10000000000 for getting this solved!
Awesome work guys!
~Zach
Just add the XML I posted above to your 94170015 XML definition in ECUFlash. If you use justboosted02's definition and don't have the same mod's (Tephra and other) you will see tables that don't exist in your ROM.
The best way is to add each MOD yourself to your OWN XML.
I have confirmed with another EVO that this works exactly as described. I used justboosted02's settings above because he has a 2.3 with the same stuff I have. Everything is perfect now.....
+10000000000 for getting this solved!
Awesome work guys!
~Zach
The best way is to add each MOD yourself to your OWN XML.
I have confirmed with another EVO that this works exactly as described. I used justboosted02's settings above because he has a 2.3 with the same stuff I have. Everything is perfect now.....
+10000000000 for getting this solved!
Awesome work guys!
~Zach
that is my entire xml so make sure you know what you are doing/looking at before you start modifying and changing your own xml file.
Bryan (razorlab) had a hard time with 3000-3500 rpm during a dyno session on Saturday, so he started the dyno at 3500 and the car was knock free. He tried lowering timing a whole bunch but it made no difference.
So yesterday I brought my laptop with me and had a chance to adjust values during an errand. The car is on E85 now and it still (phantom) knocked during that range. When I stopped, I made adjustments and it's virtually knock free. I don't mind random 2's and 1's but anything 3 or higher affect the whole pull.


Thanks for figuring out knock control and sharing it!
So yesterday I brought my laptop with me and had a chance to adjust values during an errand. The car is on E85 now and it still (phantom) knocked during that range. When I stopped, I made adjustments and it's virtually knock free. I don't mind random 2's and 1's but anything 3 or higher affect the whole pull.


Thanks for figuring out knock control and sharing it!
Last edited by KevOVIII; Dec 1, 2008 at 01:28 AM.







Maybe I watch too many movies