|
RomRaider
Documentation
Community
Developers
|
How to Understand Knock Control
RomRaider.HowToUnderstandKnockControl History
Hide minor edits - Show changes to markup
June 03, 2010, at 05:06 AM
by nsfw -
Changed lines 26-27 from:
But if you are running 87 octane, you’ll get knock in many different cells. When the ECU sees many corrections in many cells, it reduces the ‘Ignition Advance Multiplier’ to pull timing broadly.[3] When it changes IAM, it clears the knock learning table, so it can observe how the engine behaves with the new IAM setting. (When IAM is less than 100%, the ECU can also put positive values into the knock learning table, to see if maybe you’re running on premium again.)
to:
But if you are running 87 octane, you’ll get knock in many different cells. When the ECU sees many corrections in many cells, it reduces the ‘Ignition Advance Multiplier’ to pull timing broadly.[3]
When it changes IAM, it clears the knock learning table, so it can observe how the engine behaves with the new IAM setting. (When IAM is less than 100%, the ECU can also put positive values into the knock learning table, to see if maybe you’re running on premium again.)
Changed lines 32-33 from:
The ECU can also respond to knock by just pulling timing for a short period of time, without taking note of it in the knock learning table. This is what shows up in the ‘feedback knock correction’ column in your data logs.[4] This is used when load is changing rapidly. Apparently the ECU figures that if load is changing rapidly, you’re probably just shifting or something. When knock happens due to rapid throttle changes, there’s a good chance that the rapid throttle change (rather than poor fuel) triggered the knock. So the ECU pulls timing just in case, but it does not put the correction into the knock learning table.
to:
The ECU can also respond to knock by just pulling timing for a short period of time, without taking note of it in the knock learning table. This is what shows up in the ‘feedback knock correction’ column in your data logs.[4]
Feedback correction is used when load is changing rapidly. The ECU seems to believe that if load is changing rapidly, you’re probably just shifting or something like that. When knock happens due to rapid throttle changes, there’s a good chance that the rapid throttle change (rather than poor fuel) triggered the knock. So the ECU pulls timing just in case, but it does not put the correction into the knock learning table.
June 03, 2010, at 05:05 AM
by nsfw -
Changed lines 17-19 from:
Merchgod’s “Learning View” utility shows the knock learning table[1] - you can find a lot of screenshots
here.*
to:
Merchgod’s “Learning View” utility shows the knock learning table. You can find a lot of screenshots
here.[1]
June 03, 2010, at 05:04 AM
by nsfw -
Changed line 17 from:
Merchgod’s “Learning View” utility shows the knock learning table - you can find a lot of screenshots
to:
Merchgod’s “Learning View” utility shows the knock learning table[1] - you can find a lot of screenshots
Changed lines 22-23 from:
If knock has happened in just 2 or 3 different cells, that’s no big deal - probably just noise. This is normal even with a good factory tune. With a good tune, the majority of the knock events that the ECU detects will actually just be noise.[4]
to:
If knock has happened in just 2 or 3 different cells, that’s no big deal - probably just noise. This is normal even with a good factory tune. With a good tune, the majority of the knock events that the ECU detects will actually just be noise.[2]
Changed lines 26-27 from:
But if you are running 87 octane, you’ll get knock in many different cells. When the ECU sees many corrections in many cells, it reduces the ‘Ignition Advance Multiplier’ to pull timing broadly.* When it changes IAM, it clears the knock learning table, so it can observe how the engine behaves with the new IAM setting. (When IAM is less than 100%, the ECU can also put positive values into the knock learning table, to see if maybe you’re running on premium again.)
to:
But if you are running 87 octane, you’ll get knock in many different cells. When the ECU sees many corrections in many cells, it reduces the ‘Ignition Advance Multiplier’ to pull timing broadly.[3] When it changes IAM, it clears the knock learning table, so it can observe how the engine behaves with the new IAM setting. (When IAM is less than 100%, the ECU can also put positive values into the knock learning table, to see if maybe you’re running on premium again.)
Changed lines 30-31 from:
The ECU can also respond to knock by just pulling timing for a short period of time, without taking note of it in the knock learning table. This is what shows up in the ‘feedback knock correction’ column in your data logs.[3] This is used when load is changing rapidly. Apparently the ECU figures that if load is changing rapidly, you’re probably just shifting or something. When knock happens due to rapid throttle changes, there’s a good chance that the rapid throttle change (rather than poor fuel) triggered the knock. So the ECU pulls timing just in case, but it does not put the correction into the knock learning table.
to:
The ECU can also respond to knock by just pulling timing for a short period of time, without taking note of it in the knock learning table. This is what shows up in the ‘feedback knock correction’ column in your data logs.[4] This is used when load is changing rapidly. Apparently the ECU figures that if load is changing rapidly, you’re probably just shifting or something. When knock happens due to rapid throttle changes, there’s a good chance that the rapid throttle change (rather than poor fuel) triggered the knock. So the ECU pulls timing just in case, but it does not put the correction into the knock learning table.
Changed lines 50-54 from:
[2] Cobb calls it the Dynamic Advance Multiplier (DAM).
[3] Cobb class this ‘Knock Correction.’
[4] Or they are legitimate knock, but they are rare enough that the engine can tolerate them. I don’t know which is the case. It happens periodically with the stock tune, and Subaru provides a 6/60 warranty on motors with those tunes, so I figure it can’t be too bad.
to:
[2] Or they are legitimate knock, but they are rare enough that the engine can tolerate them. I don’t know which is the case. It happens periodically with the stock tune, and Subaru provides a 6/60 warranty on motors with those tunes, so I figure it can’t be too bad.
[3] Cobb calls it the Dynamic Advance Multiplier (DAM).
[4] Cobb class this ‘Knock Correction.’
June 03, 2010, at 05:02 AM
by nsfw -
Changed lines 22-23 from:
If knock has happened in just 2 or 3 different cells, that’s no big deal - probably just noise. This is normal even with a good factory tune. With a good tune, the majority of the knock events that the ECU detects will actually just be noise. (Or they are legitimate knock, but they are rare enough that the engine can tolerate them. I don’t know which is the case. It happens periodically with the stock tune, and Subaru provides a 6/60 warranty on motors with those tunes, so I figure it can’t be too bad.)
to:
If knock has happened in just 2 or 3 different cells, that’s no big deal - probably just noise. This is normal even with a good factory tune. With a good tune, the majority of the knock events that the ECU detects will actually just be noise.[4]
Changed lines 26-27 from:
But if you are running 87 octane, you’ll get knock in many different cells. When the ECU sees knock in many, it reduces the ‘Ignition Advance Multiplier’ to pull timing broadly.* When it changes IAM, it clears the knock learning table, so it can observe how the engine behaves with the new IAM setting. (When IAM is less than 100%, the ECU can also put positive values into the knock learning table, to see if maybe you’re running on premium again.)
to:
But if you are running 87 octane, you’ll get knock in many different cells. When the ECU sees many corrections in many cells, it reduces the ‘Ignition Advance Multiplier’ to pull timing broadly.* When it changes IAM, it clears the knock learning table, so it can observe how the engine behaves with the new IAM setting. (When IAM is less than 100%, the ECU can also put positive values into the knock learning table, to see if maybe you’re running on premium again.)
Changed lines 52-54 from:
[3] Cobb class this ‘Knock Correction.’
to:
[3] Cobb class this ‘Knock Correction.’
[4] Or they are legitimate knock, but they are rare enough that the engine can tolerate them. I don’t know which is the case. It happens periodically with the stock tune, and Subaru provides a 6/60 warranty on motors with those tunes, so I figure it can’t be too bad.
June 03, 2010, at 04:51 AM
by nsfw -
Changed lines 5-6 from:
to:
Changed lines 13-14 from:
to:
Changed lines 24-25 from:
IAM: The solution to 87 octane
to:
3. IAM: The solution to 87 octane
Changed lines 28-29 from:
to:
Changed lines 32-33 from:
to:
Changed lines 36-37 from:
to:
Changed lines 42-47 from:
Choose your own relevance
Many DIY tuners, myself included, increase the top end of the load and RPM ranges so that IAM and knock learning can be active beyond redline and beyond the maximum load the car will ever see. I have had no issues with false knock, and I have seen legitimate knock detected and mitigated appropriately at high RPM and load.
Some DIY tuners raise the low end of the limits (for example, 1.0 load or 2000 RPM) to suppress knock corrections (learned and otherwise) at low-ish load or RPM. Some engines just seem to be more noisy than others. I’ve noticed a lot of alleged knock events below 2500 just driving around, though in my case they haven’t been significant enough to raise the lower limits.
to:
7. Choose your own relevance
Some tuners, myself included, increase the top end of the load and RPM ranges so that IAM and knock learning can be active beyond redline and beyond the maximum load the car will ever see. I have had no issues with false knock, and I have seen legitimate knock detected and mitigated appropriately at high RPM and load.
Some tuners raise the low end of the limits (for example, 1.0 load or 2000 RPM) to suppress knock corrections (learned and otherwise) at low-ish load or RPM. Some engines just seem to be more noisy than others. I’ve noticed a lot of alleged knock events below 2500 just driving around, though in my case they haven’t been significant enough to raise those limits.
June 03, 2010, at 04:50 AM
by nsfw -
Changed lines 30-31 from:
The ECU can also respond to knock by just pulling timing for a short period of time, without taking note of it in the knock learning table. This is what shows up in the ‘feedback knock correction’ column in your data logs. This is used when load is changing rapidly. Apparently the ECU figures that if load is changing rapidly, you’re probably just shifting or something. When knock happens due to rapid throttle changes, there’s a good chance that the rapid throttle change (rather than poor fuel) triggered the knock. So the ECU pulls timing just in case, but it does not put the correction into the knock learning table.
to:
The ECU can also respond to knock by just pulling timing for a short period of time, without taking note of it in the knock learning table. This is what shows up in the ‘feedback knock correction’ column in your data logs.[3] This is used when load is changing rapidly. Apparently the ECU figures that if load is changing rapidly, you’re probably just shifting or something. When knock happens due to rapid throttle changes, there’s a good chance that the rapid throttle change (rather than poor fuel) triggered the knock. So the ECU pulls timing just in case, but it does not put the correction into the knock learning table.
Changed lines 34-36 from:
At low loads, the ECU ignores the knock sensor completely. Apparently it’s safe to run full timing even on 87 octane, at loads lower than about 1.0. The actual limit is set in the tune.
to:
At low loads, and/or low RPM the ECU ignores the knock sensor completely. Apparently there’s no point reducing timing at loads lower than about 1.0 or RPM lower than about 1000. The actual limits are set in the tune, and they vary a bit across the stock tunes.
Partial relevance
Feedback correction is active down to the aforementioned limits. The knock learning table is only used between about 1750 RPM and 5750 RPM, and between 0.7 and 2.0 load. Again the limits are configurable, and they vary.
IAM will only be adjusted in response to knock events that occur between roughly 1.0 and 2.75 load, and 1750–5750 RPM. Those numbers come from the factory tune on my Legacy GT, yours may be different. It’s widely believed that Subaru just doesn’t trust the knock sensor to be accurate outside those ranges - there’s too much false knock and not enough legitimate knock. So it uses feedback correction - since they’re short-lived, and not learned, it’s no big deal to have unnecessary corrections.
Choose your own relevance
Many DIY tuners, myself included, increase the top end of the load and RPM ranges so that IAM and knock learning can be active beyond redline and beyond the maximum load the car will ever see. I have had no issues with false knock, and I have seen legitimate knock detected and mitigated appropriately at high RPM and load.
Some DIY tuners raise the low end of the limits (for example, 1.0 load or 2000 RPM) to suppress knock corrections (learned and otherwise) at low-ish load or RPM. Some engines just seem to be more noisy than others. I’ve noticed a lot of alleged knock events below 2500 just driving around, though in my case they haven’t been significant enough to raise the lower limits.
Changed lines 50-52 from:
[2] Cobb calls it the Dynamic Advance Multiplier (DAM).
to:
[2] Cobb calls it the Dynamic Advance Multiplier (DAM).
[3] Cobb class this ‘Knock Correction.’
June 03, 2010, at 03:28 AM
by nsfw -
Added lines 22-23:
If knock has happened in just 2 or 3 different cells, that’s no big deal - probably just noise. This is normal even with a good factory tune. With a good tune, the majority of the knock events that the ECU detects will actually just be noise. (Or they are legitimate knock, but they are rare enough that the engine can tolerate them. I don’t know which is the case. It happens periodically with the stock tune, and Subaru provides a 6/60 warranty on motors with those tunes, so I figure it can’t be too bad.)
Deleted lines 25-26:
If knock has happened in just 2 or 3 different cells, that’s no big deal, probably just noise. This is normal even with a good factory tune. With a good tune, the majority of the knock events that the ECU detects will actually just be noise. (Or they are legitimate knock but they are rare enough that the engine can tolerate them. I don’t know which is the case, probably some of both. It happens periodically with the stock tune, and Subaru provides a warranty on motors with those tunes, so I figure it can’t be too bad.)
June 03, 2010, at 03:27 AM
by nsfw -
Changed lines 24-25 from:
If knock has happened in just 2 or 3 different cells, that’s no big deal, probably just noise. This is normal even with a good factory tune.
to:
If knock has happened in just 2 or 3 different cells, that’s no big deal, probably just noise. This is normal even with a good factory tune. With a good tune, the majority of the knock events that the ECU detects will actually just be noise. (Or they are legitimate knock but they are rare enough that the engine can tolerate them. I don’t know which is the case, probably some of both. It happens periodically with the stock tune, and Subaru provides a warranty on motors with those tunes, so I figure it can’t be too bad.)
June 03, 2010, at 03:22 AM
by nsfw -
Added line 38:
June 03, 2010, at 03:21 AM
by nsfw -
Changed lines 1-4 from:
This is almost entirely just a subset of the information that Merchgod wrote about in his Subaru’s knock control strategy explained thread. However I want to present just the most important concepts in a format that will hopefully be easier for new tuners to understand. After the stuff below makes sense to you, read Merchgod’s version if you want to know more.
Also note that where Merchgod mostly stuck to how the system works, I’m adding my own theories on why the system works the way that it does. If the why is wrong, that’s my fault, not his.
to:
This is basically just a subset of the information that Merchgod wrote about in his magnificent Subaru’s knock control strategy explained thread. However I want to present the most important concepts in a format that will hopefully be easier for new tuners to understand. After the stuff below makes sense to you, read Merchgod’s version if you want to know more.
Also note that Merchgod focused primarily on how the system works, whereas I’m adding my own theories on why the system works the way that it does. If the why is wrong, that’s my fault, not his.
June 03, 2010, at 03:20 AM
by nsfw -
Changed lines 22-26 from:
if knock has happened in just 2 or 3 different cells, that’s no big deal, probably just noise. When it has happened in MANY cells, the ECU reduces the ‘dynamic advance multiplier’ to pull timing broadly. When it changes DAM, it clears the knock learning table, so it can observe how the engine behaves with the new DAM setting. (When DAM is less than 100%, the ECU can put positive values into the knock learning table, to see if maybe you’re running on premium again.)
Since the knock was probably just noise, the ECU un-learns corrections over time. Often there will be 1 or 2 cells with corrections in them. No big deal.
[1] I believe that AccessTuner Race can show that table as well.
to:
IAM: The solution to 87 octane
If knock has happened in just 2 or 3 different cells, that’s no big deal, probably just noise. This is normal even with a good factory tune.
But if you are running 87 octane, you’ll get knock in many different cells. When the ECU sees knock in many, it reduces the ‘Ignition Advance Multiplier’ to pull timing broadly.* When it changes IAM, it clears the knock learning table, so it can observe how the engine behaves with the new IAM setting. (When IAM is less than 100%, the ECU can also put positive values into the knock learning table, to see if maybe you’re running on premium again.)
Feedback
The ECU can also respond to knock by just pulling timing for a short period of time, without taking note of it in the knock learning table. This is what shows up in the ‘feedback knock correction’ column in your data logs. This is used when load is changing rapidly. Apparently the ECU figures that if load is changing rapidly, you’re probably just shifting or something. When knock happens due to rapid throttle changes, there’s a good chance that the rapid throttle change (rather than poor fuel) triggered the knock. So the ECU pulls timing just in case, but it does not put the correction into the knock learning table.
Irrelevance
At low loads, the ECU ignores the knock sensor completely. Apparently it’s safe to run full timing even on 87 octane, at loads lower than about 1.0. The actual limit is set in the tune.
[1] I believe that AccessTuner Race can show that table as well.
[2] Cobb calls it the Dynamic Advance Multiplier (DAM).
June 03, 2010, at 03:06 AM
by nsfw -
Added lines 1-26:
This is almost entirely just a subset of the information that Merchgod wrote about in his Subaru’s knock control strategy explained thread. However I want to present just the most important concepts in a format that will hopefully be easier for new tuners to understand. After the stuff below makes sense to you, read Merchgod’s version if you want to know more.
Also note that where Merchgod mostly stuck to how the system works, I’m adding my own theories on why the system works the way that it does. If the why is wrong, that’s my fault, not his.
First Principles
- Occasionally the ECU will hear what sounds like knock. Sometimes it really was knock, sometimes it was just noise.
- If the tune is good, the car can safely run full ignition advance at all times, as long as you’re using premium fuel. By ‘full ignition advance’ I mean that it can run the timing specified in the base timing table plus 100% of the timing specified in the ignition advance table.
- The main purpose of the knock correction system is to detect when you have put in a tank of 87 octane - when that happens, the ECU needs to pull timing across the board to keep the motor from blowing up.
Knock Learning
In order to detect low-octane fuel, the ECU remembers the RPM and load where knock has happened recently. It keeps track of this in the ‘fine learning knock correction’ table - I’ll refer to it as the ‘knock learning’ table for brevity. This table is not part of the ROM, because the contents are learned as you drive.
Merchgod’s “Learning View” utility shows the knock learning table - you can find a lot of screenshots
here.*
The ‘knock learning’ parameter in your data logs is just the value from this table, at the current RPM and load.
if knock has happened in just 2 or 3 different cells, that’s no big deal, probably just noise. When it has happened in MANY cells, the ECU reduces the ‘dynamic advance multiplier’ to pull timing broadly. When it changes DAM, it clears the knock learning table, so it can observe how the engine behaves with the new DAM setting. (When DAM is less than 100%, the ECU can put positive values into the knock learning table, to see if maybe you’re running on premium again.)
Since the knock was probably just noise, the ECU un-learns corrections over time. Often there will be 1 or 2 cells with corrections in them. No big deal.
[1] I believe that AccessTuner Race can show that table as well.
|
|

RomRaider Forums
Join our forums, the best place to find help and answers!
RomRaider is developed and supported by volunteers working on their own time. To support their efforts please consider making a donation.
|
|