Notices
ECU Flash

Knock control - load vs RPM table found

Thread Tools
 
Search this Thread
 
Old Nov 20, 2008 | 03:13 PM
  #16  
justboosted02's Avatar
Evolved Member
15 Year Member
Liked
Loved
Community Favorite
iTrader: (31)
 
Joined: Jun 2006
Posts: 1,926
Likes: 14
From: northeast
Originally Posted by jcsbanks
Eric, the second table you show is the load required at each RPM to allow the octane number to be updated. Whilst it is nice to know it is there, I don't think it will be as useful as the first table that will effectively control the RPM/load where knock control operates. False knockers need to test.

Thanks MR Turco, audit went well.
i have the next week off so if you could get this table for a 94170015 rom i could do quite a bit of testing for you.
Reply
Old Nov 20, 2008 | 03:33 PM
  #17  
jcsbanks's Avatar
Thread Starter
Evolved Member
 
Joined: May 2006
Posts: 2,399
Likes: 6
From: UK
On 88570008, 362c for load (scaled like MUT 1C), RPM is 5c6e - weird lookup through a little used RPM to RPM index table.

The knock interrupt is a massive routine. It is triggered from a timer.

Knock ADC is read and put through the filter Bez described before.

Error checking involves a test to make sure that the filtered value changes more than a certain amount in a certain time.

Assuming no errors, the load vs RPM table switch gives a value of 16 or 32 for a multiplier. Below the load threshold, 16 is used (effectively zero though - see CAPITALS BELOW), above 32 is used.

The multiplier is used to multiply the difference between the present filtered knock ADC and the long term average knock ADC, and the result is divided by the long term average knock ADC.

There are further flag controlled routines that may be something to do with knock noise that I haven't worked on yet, not sure if we need to fiddle there or not.

Next, using the load vs RPM table result is again used - if below the load threshold the maximum additional knock sum per ignition event is ZERO (disabling further increases in knock sum) and if above the load threshold then the maximum additional knock sum per ignition event is 7. THIS IS WHY THIS LOAD VS RPM TABLE IS THE CRUCIAL ONE THAT CONTROLS WHERE KNOCK SUM CAN BE INCREASED. This is added to the old knock sum which is trimmed to a max of 36.

I think we're about 75% of the way there!

Last edited by jcsbanks; Nov 20, 2008 at 03:35 PM.
Reply
Old Nov 20, 2008 | 04:18 PM
  #18  
cossie1's Avatar
Evolved Member
 
Joined: Aug 2007
Posts: 569
Likes: 1
From: UK
Ok found all 3 tables for 90550001

Table 1: Load 407e unit8 rpm 4d76

Table 2: Load 408e unit8 rpm 4d76

Table 3: Load 40b0 unit8 rpm 4d76
Reply
Old Nov 20, 2008 | 05:02 PM
  #19  
l2r99gst's Avatar
Evolved Member
iTrader: (2)
 
Joined: Mar 2004
Posts: 3,499
Likes: 4
From: CA
Here are the addresses for 96940011. I'm not 100% positive that the RPM axis address is correct, but I think so.

These are the first two tables...since we don't know what the third one is yet, I will leave that one out:

Code:
<table name="Knock Load" category="Timing" address="38f2" type="2D" level="2" scaling="Load8">
	<table name="X" address="594e" type="X Axis" elements="10" scaling="RPM"/>
</table>

<table name="Load required for Octane update" category="Timing" address="3902" type="2D" level="2" scaling="Load8">
	<table name="X" address="594e" type="X Axis" elements="10" scaling="RPM"/>
</table>

Eric
Reply
Old Nov 20, 2008 | 11:05 PM
  #20  
Mattjin's Avatar
Evolved Member
 
Joined: Apr 2008
Posts: 604
Likes: 0
From: Sydney, Australia
I really hope this does end up as correct. I just want to be certain we are not chasing our tails here.

Last edited by Mattjin; Nov 21, 2008 at 12:26 PM. Reason: Looking at wrong maps.
Reply
Old Nov 21, 2008 | 12:10 AM
  #21  
jcsbanks's Avatar
Thread Starter
Evolved Member
 
Joined: May 2006
Posts: 2,399
Likes: 6
From: UK
I've been concentrating on knock rather than octane, since the latter is already pretty well understood (and easily disabled if not). The octane table that was the second that Eric mentioned is a load vs RPM switch that allows octane to be updated (like the engine temp setting), it doesn't control a rate of change, however, that doesn't mean there aren't others that do like you've found and tested. During this work I've been concentrating on knock rather than octane, because if you get knock right, octane follows. There is also more to go through in the knock control so I want to concentrate on that for now in this thread.
Reply
Old Nov 21, 2008 | 12:28 PM
  #22  
Mattjin's Avatar
Evolved Member
 
Joined: Apr 2008
Posts: 604
Likes: 0
From: Sydney, Australia
I am working on the short term trim too, it's just the long term shows up when you start looking around. Long term (octane) I am pretty sure I have most of the mapping for it covered and functioning, just we dont really need it. :-)
Reply
Old Nov 21, 2008 | 12:44 PM
  #23  
jcsbanks's Avatar
Thread Starter
Evolved Member
 
Joined: May 2006
Posts: 2,399
Likes: 6
From: UK
Oh, just as you edited I loaded up your map from openecu (download from here corrupt) and was going to look at the addresses you mentioned as I thought I had octane completely sorted on the IX.

All I can find on the IX for octane is the initialisation to 255, the usual sort of sensor error checking/bypass routines, the coolant temperature thresold, the load vs RPM table that was the second one Eric posted, the knock sum of 3 or 5 to alter octane up or down, and 2 values of 0x18 for the timer to inc or dec octane number (although I haven't found where the timer variable is written). I cannot find any other code that actually alters/updates octane, although it is of course read in several other places.

I cannot find anything in my ROM equivalent to another load table that controls a rate of inc/dec of octane and I've not noticed a change in octane update rate in different circumstances - on my real life tests I set the octane low by changing the initialisation value and noticed that it did not update until the coolant temp was up or unless you were above load and RPM thresholds. Since I don't use OEM boost control I didn't look any further at the WG kill routines, but I know where they are, and my octane never moves off 255 or 100% unless I get some freakish part throttle knock where I lift as it is boosting and catch it just right to upset it.

I'm as certain as I think it is possible to be about the load/RPM tables for knock and octane, and I cannot see anything else to investigate about octane unless you have any leads to look at? I've not seen anything about the octane code or logging that has surprised me so far from what I understand of the disasm.

Last edited by jcsbanks; Nov 21, 2008 at 12:46 PM.
Reply
Old Nov 21, 2008 | 12:57 PM
  #24  
jcsbanks's Avatar
Thread Starter
Evolved Member
 
Joined: May 2006
Posts: 2,399
Likes: 6
From: UK
Your ROM:
17a4 - coolant for octane update
4a50 - load for octane udpate
17a6/17a8 - 3 & 5 knocksum thresholds for octane inc/dec
17aa/17ac - 0x18 update counter for octane

Code looks identical to my IX.

Also in your ROM:
4a40 - load for knock control (as per original thread subject)
1770 - gain above load for knock control (decimal 32)
1772 - gain below load for knock control (decimal 16)
1774 - limit knock above load for knock control (7)
1776 - limit knock below load for knock control (255) (this differs from my IX, so your knock control is disabled by this being 0) - needs further work on your ROM to see the effect

4a84 - octane initialisation (on ECU reset)

Last edited by jcsbanks; Nov 21, 2008 at 01:18 PM.
Reply
Old Nov 21, 2008 | 01:13 PM
  #25  
tkklemann's Avatar
Evolved Member
iTrader: (6)
 
Joined: Jul 2005
Posts: 1,228
Likes: 0
From: Charleston, SC
I am going to have to try this out. My motor is knocking like crazy in certain areas, sometimes up to 36 counts. Man, the charachteristics of my 9.7:1 forges everything internals is wicked different than stock. (Obviously) Right now I am learning when and where I have to worry about the knock, and when I don't.

I might have to fiddle with this and see if she acts a little better with the phantom knock areas I am currently getting.
Reply
Old Nov 21, 2008 | 01:40 PM
  #26  
jcsbanks's Avatar
Thread Starter
Evolved Member
 
Joined: May 2006
Posts: 2,399
Likes: 6
From: UK
Originally Posted by justboosted02
i have the next week off so if you could get this table for a 94170015 rom i could do quite a bit of testing for you.
Although this thread is getting complex, the only table to really play with is like the first one I posted a pic of, and the first one of Eric's.

Address for 94170015:
421a Load (159 max)
635a RPM

NB: Most of the ROMs I have seen do not have the clip that the JDM IX GSR has below the load threshold, so it may not disable knock control completely below there. However, it will be less sensitive at least.

What I really need to do is finish working it out on my ROM and then look how it works on others. Code is similar across the IXs, on the VII it is a bit different in details.
Reply
Old Nov 21, 2008 | 05:49 PM
  #27  
honki24's Avatar
Evolved Member
20 Year Member
iTrader: (23)
 
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
Just for those of us who *barely* understand all this code stuff:

for the 94170014 and 94170015, just copy and paste in the following:



Code:
<table name="Knock Load" category="Timing" address="421a" type="2D" level="2" scaling="Load8">
	<table name="X" address="635a" type="X Axis" elements="10" scaling="RPM"/>
</table>



Tephra, I really still need your code, this only helps with phantom knock, but doesn't help with the "sensitivity" of the sensor.


Now question... why would it stop at 159.4?

If I understand this correctly by making the following changes I should be effectively changing the realm of knock control, correct?
---BEFORE---

---AFTER---

Attached Thumbnails Knock control - load vs RPM table found-before.png   Knock control - load vs RPM table found-after.png  

Last edited by honki24; Nov 21, 2008 at 06:16 PM.
Reply
Old Nov 21, 2008 | 06:12 PM
  #28  
l2r99gst's Avatar
Evolved Member
iTrader: (2)
 
Joined: Mar 2004
Posts: 3,499
Likes: 4
From: CA
Originally Posted by honki24
Now question... why would it stop at 159.4?
The scaling for load is 5/8x. A decimal of 255*5/8=159.4.
Reply
Old Nov 22, 2008 | 01:22 AM
  #29  
jcsbanks's Avatar
Thread Starter
Evolved Member
 
Joined: May 2006
Posts: 2,399
Likes: 6
From: UK
honki24, you got it.

On ECUs I've seen other than 9 JDM GSR it looks like below that area knock control will just be less sensitive (needs confirmation, and the sensitivity and maximum is adjustable if it is a problem). Also your red outline should officially go to 159 at 2000 RPM and below as engines with MIVEC and stock turbos, or strokers on small turbos may be able to exceed.

The use of 159.4 load scaling is interesting. If it is an issue, we could change the load used, but 159.4 on a standard car is about actuator pressure in typical temperatures on a stock turbo, we probably want a good reason to have knock control disabled there unless people are getting false knock that high up.
Reply
Old Nov 22, 2008 | 05:55 AM
  #30  
honki24's Avatar
Evolved Member
20 Year Member
iTrader: (23)
 
Joined: Apr 2003
Posts: 1,580
Likes: 0
From: Houston, TX
Originally Posted by jcsbanks
honki24, you got it.

On ECUs I've seen other than 9 JDM GSR it looks like below that area knock control will just be less sensitive (needs confirmation, and the sensitivity and maximum is adjustable if it is a problem). Also your red outline should officially go to 159 at 2000 RPM and below as engines with MIVEC and stock turbos, or strokers on small turbos may be able to exceed.

The use of 159.4 load scaling is interesting. If it is an issue, we could change the load used, but 159.4 on a standard car is about actuator pressure in typical temperatures on a stock turbo, we probably want a good reason to have knock control disabled there unless people are getting false knock that high up.
Wait wait wait... so you think knock control is dead above 159 load? That can't be what you're saying right? How are we seeing knocksum at loads of 260 if the factory settings exclude that area?

Or are you saying that this is merely an area if "increased sensitivity" rather than an area of "knock detection"? I know I've seen knock above 160 load.
Reply



All times are GMT -7. The time now is 08:56 AM.