Notices
ECU Flash

logging many load variables

Thread Tools
 
Search this Thread
 
Old Aug 8, 2007 | 12:13 PM
  #1  
mrfred's Avatar
Thread Starter
EvoM Guru
iTrader: (50)
 
Joined: Mar 2006
Posts: 9,675
Likes: 130
From: Tri-Cities, WA // Portland, OR
logging many load variables

I've been slowly working my way through the boost control code in the ROM to try to get a better handle on boost control. My eventual goal is to be able to convert the routine into a direct boost control routine rather than the current indirect boost control routine.

In going through the code, I realized that there are like 6 or 7 load variables that are used throughout the ROM code. In particular, the load variable used for boost control is not the same as the load variable used for fuel/timing control. I went ahead and logged the raw load variables in a WOT 3rd gear run to get a feel for the difference between the two variables. They are shown below.

On a more interesting note, it seems that there may be a mistake in the boost error correction table definition in the ECUFlash ROM definition. More on that later. :-)

Attached Thumbnails logging many load variables-evoscandatalog_2007.08.08_08.51.30_load_ram.jpg  
Old Aug 8, 2007 | 12:25 PM
  #2  
Pd1's Avatar
Pd1
Evolved Member
iTrader: (38)
 
Joined: Aug 2005
Posts: 555
Likes: 0
From: NorCal
Originally Posted by mrfred
I've been slowly working my way through the boost control code in the ROM to try to get a better handle on boost control. My eventual goal is to be able to convert the routine into a direct boost control routine rather than the current indirect boost control routine.

In going through the code, I realized that there are like 6 or 7 load variables that are used throughout the ROM code. In particular, the load variable used for boost control is not the same as the load variable used for fuel/timing control. I went ahead and logged the raw load variables in a WOT 3rd gear run to get a feel for the difference between the two variables. They are shown below.

On a more interesting note, it seems that there may be a mistake in the boost error correction table definition in the ECUFlash ROM definition. More on that later. :-)
Thank you for your continued contribution on this topic. The community has certainly benefited from your tireless efforts.

Interesting finding you have, here. Even found a bug in Mitsu's code? That's hilarious.

One thing I was thinking of that may be handy is the ability to log the correction (upward or downward) so that you aren't stuck turning off correction altogether or guessing how your logged load/WGDC was achieved.

Ideally, as you said, it would be best to have a direct boost control routine instead...based on the inputs from a handy JDM MAP sensor.
Old Aug 8, 2007 | 12:28 PM
  #3  
recompile's Avatar
Evolved Member
iTrader: (38)
 
Joined: Nov 2006
Posts: 1,745
Likes: 8
From: New Hampshire, USA
So is the conventional 2 Byte Load that everyone logs the black line in this example? That would make sense, as fuel & timing adjustments based on 2 Byte are usually dead on.

But it looks like boost control uses a slightly lower value than what we log as 2 Byte. Am I correct?
Old Aug 8, 2007 | 12:35 PM
  #4  
mrfred's Avatar
Thread Starter
EvoM Guru
iTrader: (50)
 
Joined: Mar 2006
Posts: 9,675
Likes: 130
From: Tri-Cities, WA // Portland, OR
Originally Posted by Pd1
...

Interesting finding you have, here. Even found a bug in Mitsu's code? That's hilarious.

...
Not a bug in Mitsu's code, but perhaps a mistake in how ECUFlash scales the TBEC table data. Not sure yet though. Hope to have time this evening to work this out.
Old Aug 8, 2007 | 12:38 PM
  #5  
mrfred's Avatar
Thread Starter
EvoM Guru
iTrader: (50)
 
Joined: Mar 2006
Posts: 9,675
Likes: 130
From: Tri-Cities, WA // Portland, OR
Originally Posted by ShamelessCookie
So is the conventional 2 Byte Load that everyone logs the black line in this example? That would make sense, as fuel & timing adjustments based on 2 Byte are usually dead on.

But it looks like boost control uses a slightly lower value than what we log as 2 Byte. Am I correct?
Yes, the black line is the 2-byte load that everyone is logging.

The boost control load does run lower than 2-byte load for fuel/timing during aggressive driving. However, it appears that in the ROM code, the ECU may be using the higher of the two values. Still need to work that out.
Old Aug 8, 2007 | 12:56 PM
  #6  
dudical26's Avatar
Evolved Member
iTrader: (17)
 
Joined: Nov 2005
Posts: 2,544
Likes: 0
From: NNJ
Nice going and keep up the good work!!
Old Aug 8, 2007 | 03:30 PM
  #7  
RazorLab's Avatar
EvoM Guru
iTrader: (8)
 
Joined: Aug 2003
Posts: 14,073
Likes: 1,058
From: Mid-Hudson, NY
Originally Posted by mrfred
In particular, the load variable used for boost control is not the same as the load variable used for fuel/timing control.
I had a feeling about that. I've seen some odd things on some Evo's tuning for ecu-boost control.

You have PM
Old Aug 8, 2007 | 04:12 PM
  #8  
mrfred's Avatar
Thread Starter
EvoM Guru
iTrader: (50)
 
Joined: Mar 2006
Posts: 9,675
Likes: 130
From: Tri-Cities, WA // Portland, OR
Originally Posted by razorlab
I had a feeling about that. I've seen some odd things on some Evo's tuning for ecu-boost control.

You have PM
PM'ed you back. :-)
Old Aug 9, 2007 | 07:52 AM
  #9  
mrfred's Avatar
Thread Starter
EvoM Guru
iTrader: (50)
 
Joined: Mar 2006
Posts: 9,675
Likes: 130
From: Tri-Cities, WA // Portland, OR
Originally Posted by ShamelessCookie
...

But it looks like boost control uses a slightly lower value than what we log as 2 Byte. Am I correct?
Turns out that this is correct. I figured out how to make the boost control use the load for fuel/timing. I need to try to determine if there would be any unwanted side effects of doing this. Off the top of my head, I don't see what problem it would cause, but I still need to look a bit.
Old Aug 9, 2007 | 08:17 AM
  #10  
TouringBubble's Avatar
Evolved Member
iTrader: (2)
 
Joined: Jul 2006
Posts: 2,639
Likes: 3
From: Chelsea, AL
I'm really looking forward to these results. If you need some help testing just shoot me a PM.
Old Aug 9, 2007 | 04:46 PM
  #11  
tephra's Avatar
EvoM Guru
iTrader: (6)
 
Joined: Feb 2007
Posts: 9,486
Likes: 66
From: Melbourne, Australia
mmm fuel/timing load is the main one obviously
Old Aug 10, 2007 | 11:15 AM
  #12  
mrfred's Avatar
Thread Starter
EvoM Guru
iTrader: (50)
 
Joined: Mar 2006
Posts: 9,675
Likes: 130
From: Tri-Cities, WA // Portland, OR
I have some interesting news for all the USDM Evo 9 folks. Seems that the two-byte load we've been logging for about a year now (FFFF6B42) is definitely not the load used for ignition advance lookup, and it may not be the load used for AFR lookup either. I just spent the better part of the morning going through the spark and AFR code, and here's what I found:

1) Spark lookup uses FFFF6B46 when the IAT > 25C, and can use either FFFF6B46 or FFFF6B48 (load boost) when the IAT <= 25C (there is a flag that chooses, and I haven't figured out that flag yet). Some sort of offset is also added whichever value is choosen. Haven't tried to decipher the logic that controls this offset yet.

2) AFR lookup uses either FFFF6B42 or FFFF6B48. There are two flags used to make the decision. I don't know these flags yet.

My initial comparisons of FFFF6B46 and FFFF6B48 show them to be virtually identical, so my conclusion at this point is that we are better off using FFFF6B48 (load boost) to represent load. However, I want to do some more comparisons of FFFF6B46 and FFFF6B48 to see how much they differ.

Last edited by mrfred; Aug 10, 2007 at 11:18 AM.
Old Aug 10, 2007 | 11:36 AM
  #13  
dudical26's Avatar
Evolved Member
iTrader: (17)
 
Joined: Nov 2005
Posts: 2,544
Likes: 0
From: NNJ
Any ideas or even guesses as to why the stock rom is coded in this way with so many different load variables.
Old Aug 14, 2007 | 09:40 AM
  #14  
mrfred's Avatar
Thread Starter
EvoM Guru
iTrader: (50)
 
Joined: Mar 2006
Posts: 9,675
Likes: 130
From: Tri-Cities, WA // Portland, OR
(NOTE: The RAM addresses mentioned here are only for an Evo IX.) I finally had some time to make some good progress here. Along with being able to log any of the load variables used by the ECU (FFFF6B42, FFFF6B48, etc.), I am now able to log the exact load values that are used in the lookup tables for timing, fuel, boost (WGDC), MIVEC, etc.

Boost and MIVEC always use FFFF6B48. Timing can use FFFF6B46 or FFFF6B48 while fuel can use either FFFF6B42 or FFFF6B48. Looking at the ROM code, its not so obvious to tell which values get used for fuel and timing, so I made some changes to the ROM to enable logging of the actual load values used for fuel and timing. The first figure below suggests that that for normal daily driving, all the load values are essentially identical. For WOT runs, there can be a split though. As can be seen in the secod figure, fuel follows FFFF6B42 while timing and boost follow FFFF6B48. In this run, the split didn't exceed more than 10 load units, so the difference is still pretty small.

Based on what I've seen thus far, I think it makes more sense to use FFFF6B48 because Boost, MIVEC, and timing all track this variable whereas only fuel tracks with FFFF6B42 (which is the value that everyone is using now). And without a doubt, using FFFF6B48 will definitely make it easier tune the ECU boost control system. Sometime over the next week or so, I'll be posting the RAM address for this load variable for the various USDM Evo 8s. That's it for now.



Attached Thumbnails logging many load variables-evoscandatalog_2007.08.14_08.22.27_3rd_load_ram_vs_rpm.jpg   logging many load variables-evoscandatalog_2007.08.14_08.27.41_3rd_load_ram_vs_rpm.jpg  

Last edited by mrfred; Aug 14, 2007 at 01:21 PM.
Old Aug 14, 2007 | 01:26 PM
  #15  
Mr. Evo IX's Avatar
Evolved Member
iTrader: (5)
 
Joined: Nov 2005
Posts: 1,910
Likes: 1
From: Plano, TX
Do you have the code that we would put in our data.xml file to fix evoscan or is it not that easy to fix?


Quick Reply: logging many load variables



All times are GMT -7. The time now is 10:23 PM.