Notices
ECU Flash

Knock control - load vs RPM table found

Thread Tools
 
Search this Thread
 
Old Nov 20, 2008, 03:13 PM
  #16  
Evolved Member
iTrader: (31)
 
justboosted02's Avatar
 
Join Date: Jun 2006
Location: northeast
Posts: 1,898
Received 10 Likes on 9 Posts
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.
Old Nov 20, 2008, 03:33 PM
  #17  
Evolved Member
Thread Starter
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
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.
Old Nov 20, 2008, 04:18 PM
  #18  
Evolved Member
 
cossie1's Avatar
 
Join Date: Aug 2007
Location: UK
Posts: 569
Likes: 0
Received 1 Like on 1 Post
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
Old Nov 20, 2008, 05:02 PM
  #19  
Evolved Member
iTrader: (2)
 
l2r99gst's Avatar
 
Join Date: Mar 2004
Location: CA
Posts: 3,499
Likes: 0
Received 4 Likes on 4 Posts
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
Old Nov 20, 2008, 11:05 PM
  #20  
Evolved Member
 
Mattjin's Avatar
 
Join Date: Apr 2008
Location: Sydney, Australia
Posts: 604
Likes: 0
Received 0 Likes on 0 Posts
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.
Old Nov 21, 2008, 12:10 AM
  #21  
Evolved Member
Thread Starter
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
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.
Old Nov 21, 2008, 12:28 PM
  #22  
Evolved Member
 
Mattjin's Avatar
 
Join Date: Apr 2008
Location: Sydney, Australia
Posts: 604
Likes: 0
Received 0 Likes on 0 Posts
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. :-)
Old Nov 21, 2008, 12:44 PM
  #23  
Evolved Member
Thread Starter
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
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.
Old Nov 21, 2008, 12:57 PM
  #24  
Evolved Member
Thread Starter
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
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.
Old Nov 21, 2008, 01:13 PM
  #25  
Evolved Member
iTrader: (6)
 
tkklemann's Avatar
 
Join Date: Jul 2005
Location: Charleston, SC
Posts: 1,228
Likes: 0
Received 0 Likes on 0 Posts
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.
Old Nov 21, 2008, 01:40 PM
  #26  
Evolved Member
Thread Starter
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
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.
Old Nov 21, 2008, 05:49 PM
  #27  
Evolved Member
iTrader: (23)
 
honki24's Avatar
 
Join Date: Apr 2003
Location: Houston, TX
Posts: 1,579
Received 0 Likes on 0 Posts
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.
Old Nov 21, 2008, 06:12 PM
  #28  
Evolved Member
iTrader: (2)
 
l2r99gst's Avatar
 
Join Date: Mar 2004
Location: CA
Posts: 3,499
Likes: 0
Received 4 Likes on 4 Posts
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.
Old Nov 22, 2008, 01:22 AM
  #29  
Evolved Member
Thread Starter
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
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.
Old Nov 22, 2008, 05:55 AM
  #30  
Evolved Member
iTrader: (23)
 
honki24's Avatar
 
Join Date: Apr 2003
Location: Houston, TX
Posts: 1,579
Received 0 Likes on 0 Posts
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.


Quick Reply: Knock control - load vs RPM table found



All times are GMT -7. The time now is 09:37 PM.