Welcome to the North American Subaru Impreza Owners Club Friday July 25, 2014
Home Forums WikiNASIOC Products Store Modifications Upgrade Garage
NASIOC
Here you can view your subscribed threads, work with private messages and edit your profile and preferences Home Registration is free! Visit the NASIOC Store NASIOC Rules Search Find other members Frequently Asked Questions Calendar Archive NASIOC Upgrade Garage Logout
Go Back   NASIOC > NASIOC Technical > Engine Management & Tuning > Commercial ECU Reflashes

Welcome to NASIOC - The world's largest online community for Subaru enthusiasts!
Welcome to the NASIOC.com Subaru forum.

You are currently viewing our forum as a guest, which gives you limited access to view most discussions and access our other features. By joining our community, free of charge, you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is free, fast and simple, so please join our community today!

If you have any problems with the registration process or your account login, please contact us.
* Registered users of the site do not see these ads.
Reply
 
Thread Tools Display Modes
Old 11-23-2007, 08:57 PM   #1
clemsonteg
Scooby Specialist
 
Member#: 134610
Join Date: Dec 2006
Location: Cheraw, SC
Vehicle:
2003 WRX
SONIC YELLOW STG 4

Default Dropping IAM on long trips?

I am noticing that my IAM is dropping on long trips, I take almost weekly trips out of town, usually about 3-4 hour drives. I think I have traced the problem to knock in low rpms, mainly because I am hitting a higher load than normal due to cruising in 5th gear. I figure that I am hitting load points I dont normally hit on my timing map and the timing is too high causing knock and leading to a drop in IAM. There are times when I set the cruise and the area has a lot of hills, so my car will increase load and begin to build boost when going up hill for example so I am hitting a load of around 1.1-1.3 at 2500 rpms. What I dont get is why the IAM continues to drop even after I have ceased to knock, or sometimes with no knock at all. I have included a few logs below for review. The first log was a 5th gear pull, just did it for a short time to see if my assumptions were correct about the drop and low load knock. The second is a 3rd gear log with no recorded knock, but for some reason the IAM dropped anyways?

5th gear pull
Code:
   EL RPM FKC FLC IAM IT IAT KC MRP MAF MAFV
1.09 2210 -2.11 0 16 30.0 55 7 2.03 40.26 2.56
1.11 2240 -2.11 0 16 30.0 55 7 2.47 41.77 2.60
1.13 2244 -2.11 0 16 30.0 55 7 2.90 42.86 2.60
1.15 2257 -2.11 0 16 30.0 55 7 3.19 43.83 2.62
1.17 2273 -2.11 0 16 30.0 55 7 3.48 44.95 2.64
1.19 2297 -2.11 0 16 30.0 55 7 3.63 45.27 2.68
1.20 2298 -2.11 0 16 30.0 55 7 3.92 46.29 2.68
1.21 2321 -2.11 0 16 30.0 55 7 4.21 46.59 2.68
1.23 2338 -2.11 0 16 30.0 55 7 4.35 47.80 2.70
1.25 2360 -2.11 0 16 30.0 55 7 4.50 48.86 2.72
1.27 2373 -1.05 0 16 30.5 55 8 4.64 50.07 2.72
1.28 2381 -1.05 0 16 30.5 55 8 4.93 50.83 2.74
1.29 2412 -1.05 0 16 30.5 55 8 5.08 52.22 2.76
1.30 2429 0.00 0 14 30.5 54 8 5.22 52.88 2.78
1.30 2439 0.00 0 14 29.5 54 8 5.37 53.19 2.80
1.32 2464 0.00 0 14 28.5 54 8 5.51 53.67 2.82
1.32 2481 0.00 0 14 29.0 54 8 5.66 54.33 2.82
1.33 2505 0.00 0 14 28.0 54 8 5.80 55.97 2.80
1.33 2522 0.00 0 14 28.0 54 8 5.80 56.30 2.84
1.36 2524 0.00 0 14 27.0 54 8 6.09 57.61 2.86
1.38 2556 0.00 0 14 26.0 54 8 6.24 59.26 2.86
1.40 2583 0.00 0 14 26.0 54 8 6.38 59.28 2.90
1.42 2587 0.00 0 12 25.0 54 7 6.67 61.14 2.90
1.44 2611 0.00 0 12 24.5 54 7 6.82 62.72 2.94
1.46 2630 0.00 0 12 24.5 54 7 7.11 64.49 2.96
1.50 2656 0.00 0 12 24.0 54 7 7.25 66.44 3.00
1.54 2679 0.00 0 12 24.0 54 7 7.69 68.44 2.98
1.58 2691 0.00 0 12 23.5 54 7 7.98 71.22 3.04
1.62 2707 0.00 0 12 23.5 54 7 8.27 73.50 3.08
1.66 2724 0.00 0 12 22.5 54 7 8.71 77.19 3.08
1.72 2752 0.00 0 12 21.5 54 7 9.29 80.97 3.10
1.80 2778 0.00 0 12 20.0 54 7 9.72 83.85 3.20
1.87 2806 0.00 0 12 20.0 54 7 10.5 88.52 3.24
1.96 2848 0.00 0 12 20.0 54 7 11.2 92.96 3.28
2.03 2859 0.00 0 12 20.0 54 7 11.8 97.52 3.32
2.09 2881 0.00 0 12 19.0 54 7 12.8 102.5 3.38
2.14 2909 0.00 0 12 18.0 54 7 13.5 105.7 3.38
2.23 2960 0.00 0 12 17.5 54 7 14.5 108.4 3.42
2.29 2986 0.00 0 12 16.5 54 7 15.4 113.3 3.52
2.37 3004 0.00 0 12 16.5 54 7 16.1 120.1 3.56
2.43 3020 0.00 0 12 16.5 54 7 16.8 123.6 3.58
2.49 3047 0.00 0 12 16.5 54 7 17.9 130.6 3.60
2.49 3103 0.00 0 12 16.5 54 7 18.4 128.3 3.64
2.30 3125 0.00 0 12 16.5 54 7 18.1 123.6 3.54
3rd gear pull (no recorded knock)
Code:
EL  RPM FKC FLC IAM IT IAT KC MRP MAF MAFV
0.92 2114 0 0 16 30.0 93 9 0.44 36.34 2.42
0.95 2154 0 0 16 30.5 93 9 0.73 34.39 2.44
0.96 2182 0 0 16 31.0 93 9 1.02 35.12 2.48
0.97 2223 0 0 16 32.0 93 9 1.45 36.33 2.52
1.00 2252 0 0 16 33.0 93 9 1.74 37.56 2.50
1.01 2309 0 0 16 34.0 93 9 2.03 38.60 2.52
1.02 2354 0 0 16 34.0 91 9 2.32 39.67 2.56
1.04 2402 0 0 16 34.5 91 9 2.47 41.57 2.60
1.06 2443 0 0 16 35.0 91 9 2.76 43.48 2.64
1.08 2485 0 0 16 35.5 91 9 3.05 44.91 2.68
1.10 2526 0 0 16 35.5 91 9 3.19 47.28 2.70
1.11 2580 0 0 16 35.5 91 9 3.48 48.33 2.70
1.13 2646 0 0 16 35.5 91 9 3.77 49.38 2.76
1.16 2698 0 0 16 35.5 91 9 4.06 52.47 2.78
1.20 2745 0 0 16 35.5 91 9 4.21 54.56 2.80
1.24 2822 0 0 16 35.5 91 9 4.64 58.14 2.84
1.31 2864 0 0 16 32.5 91 9 5.08 63.46 2.94
1.36 2960 0 0 16 29.0 91 9 5.66 66.66 2.98
1.41 3023 0 0 16 27.0 91 9 6.24 71.42 3.04
1.46 3107 0 0 16 27.0 90 9 6.96 75.41 3.08
1.48 3162 0 0 16 26.5 90 9 7.55 76.95 3.10
1.52 3236 0 0 16 26.0 90 9 8.13 82.58 3.16
1.56 3296 0 0 16 26.0 90 9 8.71 85.24 3.20
1.62 3390 0 0 16 25.0 90 9 9.58 93.35 3.32
1.69 3467 0 0 16 23.5 90 9 10.3 97.89 3.32
1.75 3592 0 0 16 22.5 90 9 11.3 103.7 3.40
1.87 3666 0 0 14 21.5 90 8 12.5 111.7 3.56
2.04 3754 0 0 14 20.5 90 8 13.8 129.8 3.66
2.19 3830 0 0 14 18.0 90 8 15.5 139.7 3.78
2.37 3956 0 0 14 13.0 90 8 18.4 156.0 3.90
2.43 4058 0 0 14 12.0 90 8 19.9 163.7 3.96
2.41 4171 0 0 14 13.0 88 8 20.3 161.7 3.92
2.44 4310 0 0 14 12.5 88 8 20.5 176.6 4.00
2.49 4427 0 0 14 12.0 88 8 20.3 181.4 4.08
2.49 4559 0 0 14 12.5 88 8 20.3 186.9 4.08
2.48 4661 0 0 14 12.5 88 8 20.3 189.8 4.12
2.49 4746 0 0 14 12.5 88 8 20.2 194.9 4.16
2.49 4898 0 0 14 12.5 88 8 19.9 200.0 4.22
2.46 4960 0 0 14 13.0 88 8 19.6 203.4 4.20
2.50 5047 0 0 14 13.0 88 8 19.7 211.6 4.26
2.49 5165 0 0 14 13.0 88 8 19.9 216.3 4.30
2.46 5289 0 0 14 13.5 88 8 19.7 214.7 4.28
2.46 5376 0 0 14 14.0 88 8 19.4 220.8 4.32
2.42 5543 0 0 14 14.0 88 8 18.9 224.6 4.32
2.41 5588 0 0 14 15.5 86 8 18.7 225.8 4.34
2.41 5729 0 0 14 15.5 86 8 18.4 230.0 4.36
2.38 5787 0 0 14 16.0 86 8 18.3 229.6 4.36
* Registered users of the site do not see these ads.

Last edited by clemsonteg; 11-23-2007 at 09:05 PM.
clemsonteg is offline   Reply With Quote
Old 11-24-2007, 01:27 AM   #2
06STi
Scooby Specialist
 
Member#: 97561
Join Date: Oct 2005
Location: GT30R Cosie-Hybrid
Vehicle:
2006 Widebody
WRB/Carbon/Primer

Default

I was getting the same thing.
Bump for you.

I'm checking my maps and logs now.
06STi is offline   Reply With Quote
Old 11-24-2007, 09:36 AM   #3
Tea cups
Scooby Specialist
 
Member#: 103136
Join Date: Dec 2005
Default

Quote:
Originally Posted by clemsonteg View Post
What I dont get is why the IAM continues to drop even after I have ceased to knock, or sometimes with no knock at all. I have included a few logs below for review.
1. Logging does not have enough resolution to catch every knock event and each of the ECU's responses (ex. each individual change to the IAM). The more you log, the greater the sampling interval.

2. Feedback correction is sometimes disabled briefly under very specific conditions, even within its specified RPM and load ranges. In fact, changes to the fine correction table cannot be made unless feedback correction is disabled. Because they share the same input ('Knock Signal #1'), if feedback correction was negative and never disabled, then no fine correction table adjustment would ever take place (NOTE: this would not affect the application of the current fine correction). So, it is possible, based on your logs, that feedback correction happened to be disabled when the ECU was manipulating the IAM.

3. Tuners get too caught up in thinking that one of the elements of knock correction (ex. feedback correction), will directly influence the change in another correction (ex. rough(IAM) or fine). This is not necessarily the case. It is better to think of them separately. They all rely on the same input per execution ('Knock Signal #1'), but each must meet separate specific conditions in order for them to be active and able to react to the knock signal being set (or clear over a period of time). Also, rough correction (IAM) will not occur if a change to the fine correction table is taking place. A change to the fine correction table will not take place if feedback correction is active (i.e. negative) as described in #2. When the IAM changes, the fine correction learning table is cleared.

EDIT: Also, IIRC, rough correction (IAM) learning will not occur if feedback correction is active (negative) during the same execution.

Last edited by Tea cups; 11-24-2007 at 10:51 AM.
Tea cups is offline   Reply With Quote
Old 11-24-2007, 12:22 PM   #4
clemsonteg
Scooby Specialist
 
Member#: 134610
Join Date: Dec 2006
Location: Cheraw, SC
Vehicle:
2003 WRX
SONIC YELLOW STG 4

Default

is there some kind of order on which one is used when all of them are set to be active in the ecu. for example if I am at a load of 1.5 and the FKC is set to be active at 1.06 , the IAM is set to be active at 1.3 and the fine learning is 1.2, they would all be active but i guess you would only want one to control whats going on, so does the ecu pick one to go with?
clemsonteg is offline   Reply With Quote
Old 11-24-2007, 01:01 PM   #5
Tea cups
Scooby Specialist
 
Member#: 103136
Join Date: Dec 2005
Default

Quote:
Originally Posted by clemsonteg View Post
is there some kind of order on which one is used when all of them are set to be active in the ecu. for example if I am at a load of 1.5 and the FKC is set to be active at 1.06 , the IAM is set to be active at 1.3 and the fine learning is 1.2, they would all be active but i guess you would only want one to control whats going on, so does the ecu pick one to go with?
It is not that simple. The load and RPM ranges are only one set of conditions that must be met. When the Enginuity site comes back up, read my knock control strategy sticky which details what is going on. It not something I can expain in a couple of paragraphs and there even other elements to it that I haven't had time to work out (namely the conditions which determine when feedback correction is disabled).
Tea cups is offline   Reply With Quote
Old 11-24-2007, 02:33 PM   #6
clemsonteg
Scooby Specialist
 
Member#: 134610
Join Date: Dec 2006
Location: Cheraw, SC
Vehicle:
2003 WRX
SONIC YELLOW STG 4

Default

I got ya, well I looked at some other maps as well, timing mostly in the load range <1.5, and saw that I was running up to 10* more than most of those maps in all ranges from .2-1.5 load, I have reduced the timing some in those areas and plan to see how that works. I know whatever is going on during my roadtrips that it is happening between 2000-3500 rpms and in load less than 1.5 because I set the cruise usually and just let it ride, and knowing what those numbers usually run should help me some.
clemsonteg is offline   Reply With Quote
Old 11-25-2007, 03:51 AM   #7
dynamix
Scooby Newbie
 
Member#: 122603
Join Date: Aug 2006
Default

Original text from enginuity

Quote:
This post will attempt to explain, in detail, how the knock control strategy works for the 16bit ecus. Current tables available in Enginuity will be identified and those that could be added in a future ecu definition release will be indicated by an asterisk (*). The example values given are based on a usdm 02 wrx.

TIMING BASICS

Timing is determined by the ecu as follows:

Total Timing = Base Timing + Knock Correction + Other timing compensations

Other timing compensation = 'Timing Compensation (Coolant Temp) and (Intake Temp)' among others.

Knock Correction = (Timing Advance Max * (IAM/16)) + feedback correction + fine correction learning

From the formula above, you can see that Knock Correction (KC) consists of three elements. How these values are determined and how they interact with one another will be discussed below.

Although exactly how the ecu decides what noise from the knock sensor is knock or not is not fully understood currently, the result is quite simple. The knock signal is either set or clear. That it, as far as the ecu is concerned, there either is knock or there isn't. There's no level of severity that is stored.

FEEDBACK CORRECTION

Feedback correction, as applied, is always either zero or negative. It is best to think of this as temporary correction when knock is present. It is active when engine speed and load are within the ranges specified by the 'Feedback Correction Range' tables. If in range, the ecu looks at the knock signal. If set (i.e. knock), the feedback correction value is decreased by about 2 degrees(*). Each time this portion of the code is executed, 2 degrees will be removed if the knock signal is still set, up to a limit of about -11 degrees(*). However, if feedback correction is negative and the knock signal is then clear (i.e. no knock), feedback correction does not immediately become zero. Instead, there is a delay(*) in which the current correction remains until the knock signal is clear and no negative feedback corrections are made over the delay period. If so, feedback correction is increased by ~1 degree(*) and the feedback delay counter is reset. This process continues and feedback correction will eventually become zero as long as the delay period is satisfied enough times to increment the correction back to zero. Of course, "delay" is in the terms of the ecu, so this all happens very rapidly.

ROUGH CORRECTION

Rough correction involves manipulating the IAM (ignition advance multiplier) due to knock. This has the result of correcting timing advance across the board (timing advance * IAM/16). The IAM can range between 0-16.

The ECU has two modes of operation - rough correction or fine correction learning (feedback correction is always active if its requirements are met). That is, the ECU is either poised to possibly make corrections to the IAM (rough correction) or to possibly make changes to the fine correction learning table (described later), but not both at the same time. But, just because the ECU is in either of these modes, does not mean changes to IAM or the fine correction table will be made. Therefore, there are two sets of thresholds for each mode. One set determines when to switch between modes (different depending on original mode) and another set to determine whether changes to IAM or the fine correction table will be made in their respective modes. NOTE: After an ecu reset, the ecu defaults to the rough correction mode.

To exit from fine correction mode to rough correction (IAM) mode, the following requirements must be met:
1. Engine speed and load must be within the ranges specified by the 'Rough Correction Range' tables.
2. Timing advance (max) map value is greater than 4.9(*) degrees.
3. Some fine correction value change (positive or negative) occured last execution.
4. The last fine correction value (|x|) is greater than 3.9(*) degrees (that is, the absolute correction -> ex. -4 = 4)
5. The last fine correction raw difference (|y| * 2.84) is greater than last timing advance (max) map value.
6. (IAM > 1) or (IAM <= 1 and last fine correction was positive).

Once in rough correction mode, the following requirements must be met each time in order to make any change to the IAM. That is, even though the ecu is in rough correction mode, it will not always be adjusting the IAM:
1. Current timing advance (max) > 3.9(*) degrees.
2. Limp-home mode not active (IAM would already be 0 in this case)
3. No feedback correction made this execution.
4. IAM step value > 1 (explained below)

If these are met, the following will occur, however, only after switching between the fine correction mode to the rough correction mode. That is, these will only be executed once each time the switch to the rough correction mode from fine correction mode occurs and right before a change to the IAM is going to occur:
1. IAM is set to the 'Advance Multiplier (Initial)' value
2. IAM step value is set to 4(* described below)
3. IAM learning delay counter set to 0 (explained below)
4. The entire fine correction learning table in ram is cleared.

The knock signal is checked. If clear (i.e. no knock):
1. The IAM learning delay counter is checked. If the current value is less than the delay target specified by the 'Advance Multiplier Learning Delay (Increasing)' table then the counter is incremented (similar to the delay for feedback correction). When the current value is greater than the delay target, then the IAM is increased. On the first run through, IAM is always advanced by 4 (initial IAM step value). It remains 4 as long as it is keeps increasing the IAM (up to 16). However, if during the last execution IAM was decreased, the IAM step value is reduced by 1/2. This occurs each time the IAM flip-flops. When the IAM step value drops down to 0 or 1, the rough correction mode ends and the ecu switches to fine correction mode. Basically, this is the way the ecu determines that the IAM has settled.

If the knock signal is set (i.e. knock):
1. There is no delay for decreasing the IAM. However the counter value is cleared because knock was detected.
2. Other than no delay, the rest of the logic is basically the same as when IAM is increasing except that IAM is decreased.

In addition, when IAM is 0 or 16, after a slight delay(*) of remaining at these extremes, the ecu will switch to fine correction mode regardless if the step value is 0 or 1. This would be necessary if there was not enough "settling" before reaching these extremes to exit the rough correction mode.

Note, that when the IAM has finally "settled", the ecu will switch from rough correction mode to fine correction mode. Fine correction mode will continue until the mode switch conditions listed at the beginning of this section are met again.

FINE CORRECTION LEARNING

Fine correction learning allows for positive or negative correction to KC based on knock. These values are stored in ram and are applied across specific load and rpm ranges. The ecu determines these ranges based on the 'Fine Correction Rows (RPM)' and 'Fine Correction Columns (Load)' tables. Although these tables consist of 7 values each, the ranges make up an 8x8 3d table. For example:

If your 'Fine Correction Rows (RPM)' table was:
1400,1800,2600,3400,4200,5000,6000 - the ranges would be as follows:
Range 1: less than 1400
Range 2: 1400 to less than 1800
Range 3: 1800 to less than 2600
Range 4: 2600 to less than 3400
Range 5: 3400 to less than 4200
Range 6: 4200 to less than 5000
Range 7: 5000 to less than 6000
Range 8: 6000 +

Fine correction is designed to make "finer" adjustments to timing after IAM has roughly corrected timing advance where there is no knock. Fine corrections are stored in ram and are applied to KC all the time (except for certain conditions like idle). Although the fine correction learning table values in ram are always being applied to KC, adjustments to the table itself can only occur when certain conditions are met:
1. Currently in fine correction mode. The switch from rough correction mode to fine correction mode occurs when the IAM step value <= 1 or IAM is 0 or 16 after a slight delay.
2. Feedback Correction was not made during this execution.
3. Engine speed and load are within the ranges specified by the 'Fine Correction Range' tables.
4. Limp-home mode is not active.

Then, if the knock signal is clear, other conditions must be met to add positive correction to the current fine correction cell in ram:
1. (Feedback correction and/or negative Fine Correction was NOT applied during the last execution)
2. if #1 is true, then the previous fine correction load/rpm range also has to be the same as the last range before this execution.
3. The current fine correction range is the same as the last range.
4. Like the other corrections, there is a delay before which a fine correction value can be increased ('Fine Correction Advance Delay'). This is based on a counter (similar to the feedback correction counter), which is incremented when there is no knock and is cleared when fine correction table adjustments are made or the knock signal is set.

If the above are met, then the fine correction value for the current load/rpm is increased. However, it cannot be increased if current timing advance + fine correction is greater than the current value in the timing advance (max) map. This also means that if IAM is 16, only negative fine corrections are allowed. Each increment of fine correction is .35 degrees ('Fine Correction Advance Step Value'). Maximum allowable correction is 8 degrees(*).

If the knock signal is set:
1. Fine correction in the current cell is decreased by about 1 degree (2d table referenced by rpm*) with a limit of about 12 degrees(*).

NOTE: After switching from fine correction mode to rough correction mode and right before the first change to IAM after switching to that mode, the entire fine correction table is cleared and no corrections to the table are made until the ecu switches to the fine correction mode (although the current fine correction table is applied regardless except at idle and certain sensor failures).
FAQ

Q: Do the 32bit ecus use the same logic?

I haven't analyzed the 32bit ecus in as much detail as I have done here. From what I have looked at, the generalities are the same. When I look more closely at the specifics, I'll be sure to update this thread.

Q: Whenever IAM is re-evaluated, you said that IAM is set to the value in the 'Advance Multiplier (Initial)' table, even without an ecu reset. I've never seen this in my logs. Can you explain why?

When the IAM re-evaluation starts, IAM is always set to this initial value, however this would be almost impossible to catch on a log because the next chunk of code is involved in decreasing/increasing the IAM (with an intial IAM step value of 4). This happens pretty much instantly as far as logging is concerned and it would be very unlikely that you would capture it.

Q: How can I log feedback knock correction, fine learning knock correction or rough correction?

All ecus can log Knock Correction with Enginuity's logger. All supported ecus can log feedback knock correction, fine learning knock correction, base timing and current timing advance by updating your logger definitions to the newest update 0.2b (see downloads).

Q: So, there is no fine or feedback correction to KC above their respective rpm/load ranges?

Not necessarily. Fine correction is applied in ranges. Looking at the rpm example above for 'Fine Correction Rows (RPM)', the stored fine correction value in ram is applied at any rpm 6000+ (and its corresponding load cell). However, a change to the fine correction learning table in ram can only occur within the ranges as specified by the 'Fine Correction Range' tables. If this table has a max value of say, 6200 rpm, then adjustments to the ram table will only be made between 6000-6200 (assuming the same corresponding load), however they will be applied from 6000+ rpm (also assuming the same load).

Also, for feedback correction, if it is negative at the same time you are leaving maximum load or rpm thresholds, the ecu will keep the current feedback correction in play.
Quote:
Not that it suspends corrections (although it does suspend changes to the fine correction ram values for this brief time period), instead a correction resets the counter. The counter is incremented each execution where the knock signal is clear. There is a mistake in this paragraph (I went ahead and edited it), there are actually 3 separate counters (fine, feedback and rough correction). So, in this case, the "no-knock" counter is incremented each execution where there is no knock and it is reset if the knock signal is set or there was a negative feedback correction in the last execution (normally one in the same, however the counter sub is not executed in this block of code). It is the same for fine correction, except that its counter is cleared when there was a negative fine correction or the knock signal is set.

Here's an example for feedback correction:
1. knock signal is set. Feedback and Fine correction "no-knock" counters are cleared.
2. Negative feedback correction due to knock: -2
3. Next execution: knock signal is still set - more correction: -4, "no-knock" counters cleared.
4. Knock signal is now clear. "no-knock" counters are incremented by 1.
5. Feedback "no-knock" counter is compared against the feedback advance delay value. If it the counter is less than the delay, feedback correction remains at -4.
6. When the counter is incremented enough and exceeds the delay value (due to no knock), feedback correction is advanced by 1 degree (-3). "no-knock" feedback correction counter is reset.
7. The counter is incremented again as long as there is no knock or negative feedback correction. feedback correction is advanced by 1 degree (-2).
8. This continues until feedback correction is zero (assuming no knock and the delay periods are satisfied enough to bring it back to zero).

When feedback correction is not zero, fine correction is disabled to obviously avoid these corrections interferring with one another. IAM can still be re-evaluated even when there is negative feedback correction.
dynamix is offline   Reply With Quote
Old 11-25-2007, 08:39 AM   #8
Tea cups
Scooby Specialist
 
Member#: 103136
Join Date: Dec 2005
Default

Quote:
Originally Posted by dynamix View Post
Original text from enginuity
This last sentence of mine is wrong from the sticky:

Quote:
IAM can still be re-evaluated even when there is negative feedback correction.
There's still some work I need to do with the knock control sticky (I update it periodically for accuracy or additional details as I discover them). Namely, the following I still need to look into:
1. The details under what conditions the feedback correction is temporarily disabled (to allow for fine correction table adjustment/rough correction learning).
2. The notable differences for the 32-bit ECU, some of which I haven't had time to explore.
Tea cups is offline   Reply With Quote
Old 11-26-2007, 02:48 PM   #9
Not-EWRX
Scooby Specialist
 
Member#: 158043
Join Date: Aug 2007
Chapter/Region: RMIC
Location: SLC
Vehicle:
2013 Wrx Hatch
SWP

Default

That was a good read
Not-EWRX is offline   Reply With Quote
Old 11-29-2007, 09:23 PM   #10
clemsonteg
Scooby Specialist
 
Member#: 134610
Join Date: Dec 2006
Location: Cheraw, SC
Vehicle:
2003 WRX
SONIC YELLOW STG 4

Default

A small update, things are looking much better, the current map has much smoother timing than before. I am going out of town this weekend so I will know whether or not the IAM drops on the trip. I am in high hopes it wont. Here is a log and a pictoral of my logged timing and load. I am unsure of why I have a dip in load around 3700 rpms and my afr is about 1 full point richer than my target so I think I need to tweek my injector scalar

Code:
Time	AFC	AFL	EL	RPM	FBKC	FLKC	IAM	IT	IAT	KC	MRP	MAF	MAFV	TOA	LC-1
657	0	1.56	1.03	2045	0	0	16	27.5	52	9	0.73	35.15	2.46	100.00	14.41
860	0	1.56	1.05	2077	0	0	16	27	52	9	1.16	36.86	2.5	100.00	12.05
1078	0	1.56	1.08	2144	0	0	16	26.5	52	9	1.6	38.51	2.52	100.00	11.55
1297	0	1.56	1.11	2196	0	0	16	25.5	52	9	2.03	40.81	2.58	100.00	11.91
1610	0	1.56	1.14	2254	0	0	16	25	52	9	2.47	42.73	2.6	100.00	12.02
1782	0	1.56	1.17	2315	0	0	16	23.5	52	9	3.05	45.25	2.66	100.00	12.10
2000	0	1.56	1.21	2360	0	0	16	23	52	9	3.34	47.96	2.72	100.00	12.11
2219	0	0	1.26	2436	0	0	16	22	52	9	3.63	48.89	2.74	100.00	12.08
2422	0	0	1.29	2475	0	0	16	22	52	9	4.21	53.51	2.78	100.00	12.22
2625	0	0	1.31	2531	0	0	16	22	52	9	4.5	55.81	2.84	100.00	12.25
2828	0	0	1.36	2605	0	0	16	22	52	9	4.93	59.29	2.88	100.00	12.29
3047	0	0	1.41	2650	0	0	16	21	50	9	5.37	62.9	2.94	100.00	12.13
3250	0	0	1.50	2734	0	0	16	20.5	50	9	5.8	67.91	3.02	100.00	11.97
3469	0	0	1.60	2800	0	0	16	20	50	9	6.53	75.8	3.08	100.00	11.80
3672	0	0	1.69	2886	0	0	16	19	50	9	7.55	82.21	3.14	100.00	11.35
3907	0	0	1.77	2933	0	0	16	18.5	50	9	8.42	87.88	3.2	100.00	11.13
4110	0	0	1.86	3022	0	0	16	17.5	50	9	9.29	93.41	3.3	100.00	10.97
4313	0	0	1.96	3105	0	0	16	15.5	50	9	10.3	100.8	3.36	100.00	10.85
4516	0	0	2.06	3204	0	0	16	14.5	50	9	11.9	111.2	3.46	100.00	10.69
4735	0	0	2.19	3272	0	0	16	13	50	9	13.2	122.24	3.54	100.00	10.70
4938	0	0	2.32	3360	0	0	16	12	50	9	14.8	133.09	3.66	100.00	10.51
5157	0	0	2.47	3440	0	0	16	11.5	50	9	16.4	143.13	3.74	100.00	10.48
5360	0	0	2.71	3576	0	0	16	9.5	50	9	18.57	154.57	3.82	100.00	10.73
5563	0	0	2.79	3714	0	0	16	9.5	50	9	20.46	175.56	4	100.00	10.92
5782	0	0	2.82	3778	0	0	16	9.5	50	9	21.18	181.94	4.08	100.00	11.01
5985	0	0	2.73	3920	0	0	16	10	50	9	21.76	176.94	3.98	100.00	11.20
6188	0	0	2.76	4062	0	0	16	10.5	50	9	21.62	194.72	4.08	100.00	11.20
6375	0	0	2.82	4139	0	0	16	10.5	50	9	21.62	195.1	4.14	100.00	11.36
6594	0	0	2.87	4256	0	0	16	11	50	9	21.47	203.02	4.18	100.00	11.44
6813	0	0	2.86	4406	0	0	16	11.5	50	9	21.33	210.2	4.2	100.00	11.17
7032	0	0	2.84	4537	0	0	16	12	50	9	21.18	213	4.26	100.00	11.11
7219	0	0	2.82	4673	0	0	16	12.5	52	9	20.89	218.61	4.28	100.00	11.19
7453	0	0	2.81	4735	0	0	16	13	52	9	20.75	222.26	4.32	100.00	11.25
7641	0	0	2.79	4873	0	0	16	13.5	52	9	20.31	226.53	4.34	100.00	11.14
7860	0	0	2.76	5020	0	0	16	14	52	9	20.17	229.09	4.34	100.00	11.08
8063	0	0	2.77	5119	0	0	16	14	52	9	19.73	235.07	4.36	100.00	11.11
8282	0	0	2.73	5194	0	0	16	15	52	9	19.59	237.19	4.38	100.00	11.16
8469	0	0	2.73	5357	0	0	16	15.5	52	9	19.15	246.36	4.42	100.00	11.22
8703	0	0	2.70	5482	0	0	16	15.5	52	9	19.01	245.92	4.42	100.00	11.13
8922	0	0	2.69	5564	0	0	16	16	52	9	18.72	249.94	4.44	100.00	11.16
9125	0	0	2.66	5738	0	0	16	17.5	52	9	18.57	253.07	4.46	100.00	11.11
9328	0	0	2.62	5846	0	0	16	17.5	52	9	18.28	253.07	4.48	100.00	11.13
9532	0	0	2.58	5905	0	0	16	19	52	9	17.99	254.41	4.46	100.00	11.19
9766	0	0	2.56	6014	0	0	16	19	52	9	17.7	255.3	4.5	100.00	11.14
9969	0	0	2.53	6073	0	0	16	19.5	50	9	17.41	257.14	4.5	100.00	11.04
10172	0	0	2.49	6162	0	0	16	20	50	9	16.83	257.15	4.5	100.00	11.20
10391	0	0	2.48	6281	0	0	16	22.5	50	9	17.41	261.82	4.5	100.00	11.14
10610	0	0	2.43	6399	0	0	16	22.5	50	9	17.41	257.85	4.5	100.00	11.25
10813	0	0	2.41	6449	0	0	16	22.5	50	9	17.27	263.22	4.52	100.00	11.22
clemsonteg is offline   Reply With Quote
Old 12-01-2007, 10:15 PM   #11
clemsonteg
Scooby Specialist
 
Member#: 134610
Join Date: Dec 2006
Location: Cheraw, SC
Vehicle:
2003 WRX
SONIC YELLOW STG 4

Default

Another small update, I made my trip, 170 miles, I let my computer be hooked up the entire ride and when I pulled into the driveway I opened it up. I had no recorded knock on the enginuity dashboard, IAM was still 16. I rode pretty much the whole way with the cruise set on 70-85 depending on traffic
clemsonteg is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
going on a long trip, need games that run on a netbook. Keith Off-Topic 62 11-01-2009 11:34 AM
paint protection from exhaust on long trip I Love Boobies Car Care & Detailing 3 07-11-2008 09:00 AM
Spray On for paint on long road trip? HAL1 Interior & Exterior Modification 22 06-27-2007 08:39 PM
How is the WRX on Long Highway Trips? ScoobySteve Newbies & FAQs 20 01-08-2002 10:29 PM


All times are GMT -4. The time now is 06:14 PM.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Powered by Searchlight © 2014 Axivo Inc.
Copyright ©1999 - 2014, North American Subaru Impreza Owners Club, Inc.