Difference between revisions of "KRDY 17.120 (Dynamic Knock Control)"
From Nefmoto
Line 22: | Line 22: | ||
- Increased knock tendency (at the equivalent temperature) | - Increased knock tendency (at the equivalent temperature) | ||
− | - Rapid increase in noise level which are by the following measures: | + | - Rapid increase in noise level which are counteracted by the following measures: |
- Additional ignition retard (dynamic response derivation wkrdy at B_krldya = 1) | - Additional ignition retard (dynamic response derivation wkrdy at B_krldya = 1) | ||
Line 40: | Line 40: | ||
− | As long as zldy > 0 and TMKR < tmot £ TMDYNA, only the condition B_krldyv = 1 applies. Additionally, when tmot > TMDYNA, the condition B_krldya = 1 applies and thus a dynamic derivative wkrdy is output. The down-regulation of wkrdy | + | As long as zldy > 0 and TMKR < tmot £ TMDYNA, only the condition B_krldyv = 1 applies. Additionally, when tmot > TMDYNA, the condition B_krldya = 1 applies and thus a dynamic derivative wkrdy is output. The down-regulation of wkrdy starts with resetting B_krldyv. If wkrdy is down-regulated to 0, B_krldya will also be reset. At idle (B_ll), no dynamics are detected (e.g. LLR). |
− | starts with resetting B_krldyv. If wkrdy is down-regulated to 0, B_krldya will also be reset. At idle (B_ll), no dynamics are detected (e.g. LLR). | + | |
<u>Set- and Reset Conditions for the Dynamic Load Response Bits</u> | <u>Set- and Reset Conditions for the Dynamic Load Response Bits</u> | ||
+ | |||
See the ''funktionsrahmen''for the diagrams | See the ''funktionsrahmen''for the diagrams | ||
<u>Determination of the Load Gradients drlkrdy (DLAST)</u> | <u>Determination of the Load Gradients drlkrdy (DLAST)</u> | ||
+ | |||
To determine the load gradient, a load signal generated by the charge detection (rl or drl) or a predicted load signal (drlp | To determine the load gradient, a load signal generated by the charge detection (rl or drl) or a predicted load signal (drlp | ||
or rlp) is used. Bit 0 of the code word CWKR is used to switch between actual and predicted load signal. | or rlp) is used. Bit 0 of the code word CWKR is used to switch between actual and predicted load signal. | ||
Line 71: | Line 72: | ||
<u>Influence of the Dynamic Load Response on Knock Control</u> | <u>Influence of the Dynamic Load Response on Knock Control</u> | ||
+ | |||
3. For each detected knocking combustion, the ignition angle is retarded by the value KRFKN on a cylinder-specific basis (see module KRRA). | 3. For each detected knocking combustion, the ignition angle is retarded by the value KRFKN on a cylinder-specific basis (see module KRRA). | ||
Line 86: | Line 88: | ||
5.1 If dynamic load response is triggered without exceeding the second dynamic response threshold (KFDYES < drlkrdy < KFDYES + KFDYESOF >= B_krldya), then the retard adaptation (BB_DYN) is enabled for the initial value (wkrdy) of the dynamic response retarding. I.e. by heavy knocking B_kldystk, a new adaptation of wkrdya is performed for the next dynamic procedure (wkrdya (new) = wkrdya (old) + DYADS limited to DYADMX). In the case of purely normal knock (B_kldynrm), and also if no knock occurs (DYN_ADAP) the adaptation value remains unchanged. | 5.1 If dynamic load response is triggered without exceeding the second dynamic response threshold (KFDYES < drlkrdy < KFDYES + KFDYESOF >= B_krldya), then the retard adaptation (BB_DYN) is enabled for the initial value (wkrdy) of the dynamic response retarding. I.e. by heavy knocking B_kldystk, a new adaptation of wkrdya is performed for the next dynamic procedure (wkrdya (new) = wkrdya (old) + DYADS limited to DYADMX). In the case of purely normal knock (B_kldynrm), and also if no knock occurs (DYN_ADAP) the adaptation value remains unchanged. | ||
− | 5.2 If the second dynamic response threshold is also exceeded (drlkrdy > KFDYES + KFDYESOF | + | 5.2 If the second dynamic response threshold is also exceeded (drlkrdy > KFDYES + KFDYESOF >= B_krldya & B_krldyf), then in addition to the measures from 4 and 5.1, the adaptation of the dynamic response retarding is enabled to advance (BB_DYN). |
During the active dynamic phase (B_krldyf = 1), two counters zzwdykr and zzwdymd are started. For each set bit B_zwkraa = 1 (i.e. the ignition angle from knock control is output) zzwdykr is incremented. For each bit not set B_zwkraa = 0 (i.e. the ignition angle from the torque interface was output) zzwdymd is incremented. At the end of the dynamic phase (B_krldyf = 0) the ratio is zzwdykr / (zzwdykr + zzwdymd) is determined; the two counters zzwdykr and zzwdymd are then reset to zero (DYN_ADAP). | During the active dynamic phase (B_krldyf = 1), two counters zzwdykr and zzwdymd are started. For each set bit B_zwkraa = 1 (i.e. the ignition angle from knock control is output) zzwdykr is incremented. For each bit not set B_zwkraa = 0 (i.e. the ignition angle from the torque interface was output) zzwdymd is incremented. At the end of the dynamic phase (B_krldyf = 0) the ratio is zzwdykr / (zzwdykr + zzwdymd) is determined; the two counters zzwdykr and zzwdymd are then reset to zero (DYN_ADAP). | ||
Line 197: | Line 199: | ||
The adjustment should be performed under “worst-case conditions” (summer temperatures and fuel with lowest enabled octane number). | The adjustment should be performed under “worst-case conditions” (summer temperatures and fuel with lowest enabled octane number). | ||
− | The following values taken from experience can be used for | + | The following values taken from experience can be used for an approximate calibration: |
TMKR approx. 40°C | TMKR approx. 40°C |
Latest revision as of 14:32, 2 May 2012
KRDY 17.120 Function Description
See the funktionsrahmen for the following diagrams:
krdy-krdy KRDY: Overview of Dynamic Knock Control
krdy-bb-dyn BB_DYN: Detection of Load- and Engine Speed Dynamic, Enable Adaptation
krdy-dlast DLAST: Determination of the Load Gradient
krdy-bb-dyna BB_DYNA: Detection of Load- and Engine Speed Dynamic for Steady-State Adaptation
krdy-dyn-adap DYN_ADAP: Adaptation of Dynamic Response Derivation
Function Description
Dynamic Load Response
The dynamic load response is characterized by two phenomena:
- Increased knock tendency (at the equivalent temperature)
- Rapid increase in noise level which are counteracted by the following measures:
- Additional ignition retard (dynamic response derivation wkrdy at B_krldya = 1)
- Faster tracking of the reference level and increased knock detection thresholds (at B_krldy = 1, see module KRKE)
Detection of the Dynamic Load Response and Enabling the Dynamic Response Adaptation (BB_DYN)
The load dynamic response is triggered by the positive load difference drlkrdy (load gradient, see DLAST).
If the difference between two successive samples (drlkrdy) during an acceleration of the load signal is greater than the 1st dynamic detection threshold KFDYES, the timer is set to the initial value zldy AZKRLDYN and bit B_krldyv = 1.
As soon as drlkrdy < KFDYES, zldy is decremented by 1 increment per cycle. When zldy = 0, B_krldyv is reset.
(For the set / reset with B_krldy, the procedure is basically the same but with AZKELDYN as a starting value for the counter zldyke.)
As long as zldy > 0 and TMKR < tmot £ TMDYNA, only the condition B_krldyv = 1 applies. Additionally, when tmot > TMDYNA, the condition B_krldya = 1 applies and thus a dynamic derivative wkrdy is output. The down-regulation of wkrdy starts with resetting B_krldyv. If wkrdy is down-regulated to 0, B_krldya will also be reset. At idle (B_ll), no dynamics are detected (e.g. LLR).
Set- and Reset Conditions for the Dynamic Load Response Bits
See the funktionsrahmenfor the diagrams
Determination of the Load Gradients drlkrdy (DLAST)
To determine the load gradient, a load signal generated by the charge detection (rl or drl) or a predicted load signal (drlp or rlp) is used. Bit 0 of the code word CWKR is used to switch between actual and predicted load signal.
The dynamic load response must be detected in a 10 ms time interval and triggered. The instantaneously available load signals are calculated in real time.
The applicable speed threshold NKRUM describes the bounding range in which the time interval is less than 10 ms. Below the speed threshold NKRUM, drlkrdy comes from the real-time delta load signals from the detected or predicted load (drl or drlp). Above NKRUM, drlkrdy comes from the difference between the load signals rl or rlp sampled at 10 ms intervals.
Because of this switchover, oversampling of rlp and rl is avoided in the range below NKRUM.
Influence of the Dynamic Load Response on Knock Detection
During active load dynamics B_krldy, the following functions take effect:
1. The cylinder-selective reference level calculations are carried out with the label KRFTP3 (see module KRKE) --> Faster tracking of the reference level.
2. The knock detection thresholds kew(i)w can be increased by a factor FKELDY. The result is corrected knock detection thresholds kek(i) (see module KRKE).
Influence of the Dynamic Load Response on Knock Control
3. For each detected knocking combustion, the ignition angle is retarded by the value KRFKN on a cylinder-specific basis (see module KRRA).
When steady-state knock control adaptation is enabled, the stored ignition angle retards are read from the current adaptation map range each time. In contrast however, write access to the stead-state adaptation map, is forbidden (see module KRRA).
As long as tmot =< TMDYNA, there is no additional dynamic retarding of the ignition angle!
Dynamic Load Adaptation (DYN_ADAP)
If dynamic load response is triggered when tmot > TMDYNA --> B_krldya, the following functions additionally take effect:
4. Adaptive dynamic retarding of the ignition angle for all cylinders (modules KRDY and KRRA). In addition to the steady-state cylinder-selective knock control retarding, the ignition angle for all cylinders is retarded when dynamic response is detected for the time zldy > 0, to wkrdya(stkrnx) + KLDYMNT(evtmod) = starting value of wkrdy. If zldy = 0, this additional dynamic retardation wkrdy is reduced by one increment per DYAVF combustion events.
5.1 If dynamic load response is triggered without exceeding the second dynamic response threshold (KFDYES < drlkrdy < KFDYES + KFDYESOF >= B_krldya), then the retard adaptation (BB_DYN) is enabled for the initial value (wkrdy) of the dynamic response retarding. I.e. by heavy knocking B_kldystk, a new adaptation of wkrdya is performed for the next dynamic procedure (wkrdya (new) = wkrdya (old) + DYADS limited to DYADMX). In the case of purely normal knock (B_kldynrm), and also if no knock occurs (DYN_ADAP) the adaptation value remains unchanged.
5.2 If the second dynamic response threshold is also exceeded (drlkrdy > KFDYES + KFDYESOF >= B_krldya & B_krldyf), then in addition to the measures from 4 and 5.1, the adaptation of the dynamic response retarding is enabled to advance (BB_DYN).
During the active dynamic phase (B_krldyf = 1), two counters zzwdykr and zzwdymd are started. For each set bit B_zwkraa = 1 (i.e. the ignition angle from knock control is output) zzwdykr is incremented. For each bit not set B_zwkraa = 0 (i.e. the ignition angle from the torque interface was output) zzwdymd is incremented. At the end of the dynamic phase (B_krldyf = 0) the ratio is zzwdykr / (zzwdykr + zzwdymd) is determined; the two counters zzwdykr and zzwdymd are then reset to zero (DYN_ADAP).
If no knocking combustion occurs during the active dynamic phase (B_krldyf = 1), which is detected by the knock detection threshold kek (see module KRKE, B_kl), and zzwdykr / (zzwdykr + zzwdymd) >= PZWKRA (adjustable constant), then the initial value of the adaptive dynamic response derivation wkrdya is adjusted towards advance by 1 increment but is limited to the value DYAMNV.
The RAM area wkrdya is divided into 5 speed ranges stkrnx.
stkrnx = |
0 |
1 |
2 |
3 |
4 |
||||||||
wkrdya |
|||||||||||||
Speed sample points |
KRAN1 |
KRAN2 |
KRAN3 |
KRAN4 |
|||||||||
<---------+ |
+---------> nmot (rpm) | ||||||||||||
Hysteresis KRANH |
|||||||||||||
The engine speed ranges are identical to those of the steady-state adaptation characteristic map (see module KRRA). The engine speed limits apply with increasing engine speed.
The engine speed hysteresis KRANH is deducted only with decreasing speed (same as module KRRA).
The dynamic response derivation is recalculated for each write to the RAM area wkrdya and then into the engine speed range which is valid at the time of triggering of the dynamic response trigger point (! B_krldya --> B_krldya). It is then available as wkrdy for the next dynamic procedure which starts in this engine speed range.
When the ignition is turned off, all retardings are stored in the RAM area wkrdya until the engine is restarted. After a ‘power cut’ of the RAM area, DYAMNV is initialized with wkrdya.
Engine Speed Dynamic Response
If the engine temperature tmot > TMKR and the engine speed gradient ngas_w are larger than the engine speed dynamic response detection threshold DNKRDYSN then the timer zndy is set to the initial value AZKRNDYN.
If ngas_w < DNKRDYSN, zndy is decremented up to zero for each ignition event in cylinder 1. The condition B krndy=1 applies until zndy > 0.
As long as B krndy = 1 the following applies:
1. The cylinder-selective reference level calculations are performed with the label KRFTP2 (see module KRKE) --> faster tracking of the reference level.
2. The knock detection thresholds ke(i)w are increased by the factor FKENDY. Corrected knock detection thresholds kek(i) result (see module KRKE).
3. For each detected knocking combustion, the ignition angle is retarded by the value KRFKN cylinder-selectively (see module KRRA). When steady-state adaptation is enabled, the stored retardings are read from the current adaptation map range each time in case of range changes. Write access to the characteristic map of the steady-state adaptation is, however, forbidden (see module KRRA).
The triggering of the dynamic load response may also take place during active engine speed dynamic response and vice versa. It is decided in modules KRKE and KRRA respectively which of the introduced measures takes priority.
Application Notes
The application aim of dynamic load response is adjustment that optimizes performance with no audible “dynamic knocking” in the vehicle.
The adjustment should be performed under “worst-case conditions” (summer temperatures and fuel with lowest enabled octane number).
The following values taken from experience can be used for an approximate calibration:
TMKR approx. 40°C
TMDYNA approx. 80°C
AZKELDYN should be chosen so that error labels via the load-dependent noise recording are avoided
AZKRLDYN should be chosen in such a way that the dynamic condition approx. 300-600 ms applies. Guidance values are: 2-5 working cycles (AS) at 1000 rpm and 15-25 working cycles at 6000 rpm.
DYADMX approx. -8 ... -10 °crank
FKELDYA 1.2 - 1.3
DYAVF should be chosen such that during each working cycle adjustment to advance is performed by approx. 4 increments at most (so
DYAVF must be equal to or exceed no. of cylinders / 4, DYAVF is an integer and DYAVF > 0 is demanded!) The greater the DYAVF then the smaller the down-regulation of speed will be
CWKR bit 0 = 1 as long as load prediction is not available or not stable
NKRUM = 4000 rpm for SY_ZYLZA = 3
NKRUM = 3000 rpm for SY_ZYLZA = 4
NKRUM = 2400 rpm for SY_ZYLZA = 5
NKRUM = 2000 rpm for SY_ZYLZA = 6
NKRUM = 1500 rpm for SY_ZYLZA = 8
NKRUM = 1200 rpm for SY_ZYLZA = 10
NKRUM = 1000 rpm for
SY_ZYLZA = 12
The application aim of engine speed dynamic response is avoiding misdetections due to a very fast increase in engine speed resulting in abrupt noise increase (especially critical: gear shifting on powerful vehicles with automatic gearbox)
NGKRWN approx. 500 - 1000 rpm/s;
AZKRNDYN should be chosen such that the dynamic response condition approx. 300-600 ms applies. Guidance values are: 2-5 working cycles at 1000 rpm and 15-25 working cycles at 6000 rpm.
Abbreviations
AZKELDYN |
Ignition per cylinder for load dynamics --> knock detection |
AZKRLDYN |
Number of ignition per cylinder during knock control load dynamic |
AZKRNDYN |
Number of ignition for knock control engine speed dynamic |
CWKR |
Code word for knock control |
CWTIPIN |
Codeword for tip-in function |
DRLKRAN |
Detection threshold dynamic load response for steady-state adaptation |
DYADMXN |
Maximum value of dynamic response derivation |
DYADS |
Additive retarding per cycle through adaptation dynamics |
DYAFVS |
Advance step for deactivation of dynamic response |
DYAMNV |
Minimum value of dynamic response derivation |
DYAVF |
Deactivation period for dynamics retardation |
DZWTIN |
Delta ignition angle at tip-in |
FKELDYA |
Correction factor for knock detection threshold for adaptation of load dynamics |
KFDYES |
Threshold for dynamic presetting values |
KFDYMNT |
Pilot-controlled dynamic derivation |
KFDYRS |
Dynamic derivation detection threshold |
KFDYRSOF |
Offset threshold for dynamic presetting values |
NGKRAWN |
Speed gradient threshold for dynamic detection KRRA |
NGKRWN |
Speed gradient threshold for dynamic detection |
NKRUM |
Revolution threshold for change of delta load signal for load dynamics |
PZWKRA |
Percentage frequency of ignition angle output by knock control during dynamic adaptation |
TMDYNA |
Engine temperature threshold to enable load dynamic adaptation |
ZDRLKRA |
Time constant for low-pass load gradient in knock control |
ZNGKRA |
Time constant for low-pass engine speed gradient |
Variable |
Description |
B_DRLKRDY |
Flag for n > NKRUM |
B_KL |
Condition: knock detected |
B_KLDYNRM |
Condition: normal knocking with adapted load dynamic |
B_KLDYSTK |
Condition: heavy knocking with adapted load dynamic |
B_KRDWS |
Condition: knock control safety ignition retarding |
B_KRLDY |
Condition: load dynamics for knock detection active |
B_KRLDYA |
Condition: load dynamics retard and dynamics adaptation active |
B_KRLDYF |
Condition: adaptation load dynamics retard towards advance enabled |
B_KRLDYN |
Condition: load dynamic for steady-state adaptation active |
B_KRLDYV |
Condition: threshold for additional load dynamics retard exceeded |
B_KRNDY |
Condition: speed dynamics for knock detection active |
B_KRNDYN |
Condition: engine speed dynamics for steady-state adaptation active |
B_KUPPL |
EGAS Condition: clutch is disengaged |
B_LL |
Condition: idle |
B_MF |
Condition: measurement window |
B_TIPIN |
Condition: tip-in detected |
B_TMKR |
Condition: engine temperature (tmot) for knock control reached |
B_VNULL |
Condition: vehicle at standstill |
B_ZWKRAA |
Condition: ignition angle is output from knock control |
C_PWF |
ECU condition: Power fail-initializing |
DRLKRAV |
Actual value of DRLKRAN |
DRLKRDY |
Load gradient for activating knock control load dynamics |
DRLKRRA |
Load gradient for selecting steady-state adaptation |
DRLP_W |
Delta predicted load for injection time calculation (word) |
DRL_W |
Charge change (Word) |
DYESV |
Current value of load dynamic response detection threshold |
DYMNTV |
Minimum additive dynamic derivation of KL |
DYRSOFV |
Actual value of the offset for load dynamics detection threshold |
DYRSV |
Actual value of the load dynamics detection threshold |
EVTMOD |
Modelled inlet valve temperature (temperature model) |
GANGI |
Engaged gear |
KEK |
Knock detection threshold corrected |
LKRNEW |
Value of load at time t |
LKROLD |
Value of load at time t-dt |
NGAS_W |
Engine speed gradient during one working cycle |
NGKRAF_W |
Instantaneous value of threshold speed dynamics |
NGKRAV_W |
Actual value of the engine speed dynamic threshold |
NGKRV_W |
Actual value of the engine speed dynamic threshold |
NMOT |
Engine speed |
RL |
Relative cylinder charge |
RLP_W |
Relative cylinder charge predicted for injection calculation (Word) |
RL_W |
Relative air charge (Word) |
R_T10 |
10 ms time frame |
R_T100 |
100 ms time frame |
STKRNX |
Speed range adaption map knock control |
STUETZ |
Engine speed adaptation range during triggering of the load dynamic |
TMOT |
Engine temperature |
VIRKR |
Ratio: integrator/ reference level knock control |
WKRDY |
Ignition retard during dynamic-function of knock control |
WKRDYA |
Adapted ignition timing for dynamic knock control |
ZALDY |
Ignition counter for deactivation of load dynamics |
ZLDY |
Ignition counter for load dynamic |
ZLDYKE |
Ignition counter for load dynamics ® knock detection |
ZNDY |
Ignition counter for rpm-dynamics |
ZZWDYKR |
Ignition counter for knock control with bit B_zwkra = 1 set during dynamic knock control |
ZZWDYMD |
Ignition counter for knock control with bit B.zwkra = 0 not set during dynamic knock control |
ZZYLKR |
cylinder counter Knock Control |