Google
 
Web NASIOC.com

View Full Version : Rescaling the FLKC Table


williaty
12-25-2007, 08:41 PM
OK, so Subaru was kind enough to extend the FLKC Columns (Load) all the way out to 1.8g/rev on my poky little NA 2.5L. Considering that the highest load I've ever seen on my car is 1.21g/rev this means that half the FLKC table isn't being used. I want to re-scale the table so ALL the columns in the FLKC table are able to be used, giving the ECU finer control over knock.

Here's the stock Fine Correction Range (Load) table:

Disable Below Enable Above Enable Below Disable Above
0.68 0.70 2.10 2.20

Here's the stock Fine Correction Columns (Load) table:

Max1/Min2 Max2/Min3 Max3/Min4 Max4/Min5 Max5/Min6 Max6/Min7 Max7/Min8
0.68 0.85 1.00 1.20 1.40 1.60 1.80


OK, so my question is what exactly do I need to do to rescale this properly? Here's what I'm thinking, let me know if I'm wrong:

1) Reduce the Fine Correction Range (FCR) upper bound to something realistic. The stock tables place the upper bound .30/.40 above the start of the highest column. Since I want my highest column to start at 1.2, that means the upper bound for FCR would be 1.50/1.60.

2) Move the lower bound down slightly to so that FLKC is active for the bottom of the load range that likes to knock on the freeway. The lower bound for FCR and the top of the lowest load column are the same on the stock map (btw, isn't this stupid? Doesn't it mean that the lowest load column isn't being used at all because the max value for that column is where FLKC turns on, thus putting the entire first column somewhere that's never used?). So set the lower bound of FCR to 0.60g/rev and the lowest column max to 0.60.

3) Since the FLKC columns now run between 0.6 and 1.2, they nicely turn out to be steps of 0.10 per column

Doing those three things, I end up with a scaled ine Correction Range (Load) table of:

Disable Below Enable Above Enable Below Disable Above
0.60 0.62 1.50 1.60
And a modified Fine Correction Columns (Load) table of:

Max1/Min2 Max2/Min3 Max3/Min4 Max4/Min5 Max5/Min6 Max6/Min7 Max7/Min8
0.60 0.70 0.80 0.90 1.00 1.10 1.20


Does this seem like a reasonable and correct way to do it?

Wheeler Bement
12-26-2007, 06:29 PM
will you please explain how this is beneficial? I have yet to figure these tables out...or how to get the data that has been stashed in them byt he ECU.

williaty
12-26-2007, 06:35 PM
The way the stock ROM is, half the table is wasted in an area that the car physically reach. The table gets 8 columns any way you want to slice them. Stock, you're wasting the higher columns. If you re-scale the table so all 8 columns are in load values that the car can physically reach, you get better resolution and the ECU can "compartmentalize" the FLKC to just the problem areas.

In theory.

Freon
12-26-2007, 07:07 PM
I generally agree with your reasoning. Spread the columns where you need them. On the turbo cars, they're spread out pretty evenly from mid-low load to mid load. After tuning or especially a bigger turbo they should be shifted and spread a bit to where they are needed.

It could be on the NA cars they're intended to be somewhat large and chunky so that a larger area of the timing map is affected by learned data. If they're too fine grained, you may get extra knock events until the larger number of map points are learned, vs. a larger, chunkier distribution. It probably isn't a big deal if you are keeping an eye on your tune and knock. It is probably a bigger deal if you don't watch logs, you have some places that tend to knock as timing is first learned after a reset, and you reset your ECU a lot.

Tea cups
12-26-2007, 08:43 PM
One thing that should be made clear is that the "Fine Correction Range (RPM)" and "...(Load)" tables are NOT the ranges where FLKC is applied but where changes to the FLKC tables are ALLOWED. FLKC application is not restricted by the range, depending on the "Fine Correction Columns (Load)" and "...Rows (RPM)" are setup. For example, looking just at RPM and disregarding load, let's say the "...Rows (RPM)" last value is 5800 RPM (which would mean 5800+ RPM). If the "Fine Correction Range (RPM)" disable high value was 6000 RPM, this would mean that changes to the FLKC table would be allowed from 5800-6000 RPM, however, these corrections would be APPLIED across the entire range (in this case any RPM above 5800). FLKC is active any time outside of idle. It is the ability to make changes to the table that is restricted by several conditions including the "Fine Correction Range (rpm/load)" tables.