KRRA 15.130 (Knock Control with Individual Cylinder Retard)

From Nefmoto

Jump to: navigation, search

See the funktionsrahmen for the following diagrams:

krra-main KRRA: knock control including steady state adaptation

krra-bbkrra BBKRRA: release of knock control and adaptation

krra-bbkr BBKR: release of knock control and adaptation

krra-bb-krdws BB-KRDWS: condition for safety retard of ignition

krra-bb-lzf BB-LZF: release of leading cylinder function

krra-lzist LZIST: determination of led and leading cylinders

krra-uewkr UEWKR: overwrite ignition retard of led cylinders

krra-wkral WKRAL: Update of the cylinder selective ignition retard at adaptation area change (wkra -- > wkr)

krra-wkrber WKRBER: Calculation of ignition retard

krra-krvf FRUEHVERST: Release of ignition advance adjustment

krra-wkri WKRI: calculation of the average ignition retard

krra-begwkr BEGWKR: limitation of ignition retard after reading adaptation map

krra-stkra STKRA: Detection of load- and speed range

krra-kr-adap KR_ADAP: Adaptation of ignition retard

krra-vswkr VSWKR: Ignition adjustment with VS2x

krra-kr-freeze KR-FREEZE: calculation of ignition retard for frozen knock control

krra-initialise Initialise function


Note: The cylinder-specific variables wkr, dwkrz, wkra and zkrvf are indicated in the following description through a control variable (i) - like in the ECU code, for example wkr(i). The corresponding RAM-cell which can be read via VS100 is marked by _i, for example: wkr_i.


The Knock Control cylinder counter zzylkr serves as control variable (except wkra). The following applies to it:

zzylkr = 1 ... SY_ZYLZA ASCET-Model zzylkr = 0 ... SY_ZYLZA-1 ECU-Code

See also the Application Notes section in this module.


KRRA 15.130 Function Description

Function of Knock Control

The KRRA module includes calculation of the cylinder-specific change of ignition angle of the knock control and adaptive calculation of the cylinder-specific retarding wkr(i) (WKRBER) with storage in an adaptation characteristic map wkra(i) (KR ADAP). The input values of the adaptation map are current cylinder number, engine speed and load (STKRA).


The value of the retarding dwkrz(i) which is passed on to the ignition comes to dependent on the operating condition (BBKC):

1. B_kr & !B_krdws & !B_llr dwkrz(i) = wkr(i)

2. B_kr & B_krdws dwkrz(i) = krdwsw KRDWS – Safety retarding see modules DKRS, DKRNT and DKRTP

3. B_kr & !B_krdws & B_llr dwkrz(i) = wkrm wkrm – average retard over all cylinders

4. !B_kr & (!)B_krdws dwkrz(i) = 0

Condition for active Knock Control without exhaust gas recirculation B_kr: ((rl > LKRN) v B_krldy) & (tmot > TMKR) &

B_stend & (nmot > NKRF) Condition for active Knock Control with exhaust gas recirculation B_kr: (( rl > LKRAGRN) v B_krldy) & (tmot > TMKR) &

B_stend & (nmot > NKRF) Condition for active adaptation: B_kra : B_kr & (tmot > TMKRA)

The lower speed threshold NKRF should prevent the engine stalling at low speed by Knock Control-Ignition Angle-intervention.


Co-ordination of the Ignition Angle for Torque Management

When knock control is active, the earliest cylinder-specific ignition angle results:

KFZW + dwkrz(i) + wkrdy (wkrdy is derived dynamically from module KRDY, included in module ZUE)

There are two types of control action:

1. Output ignition angle = KFZW + dwkrz(i) + wkrdy --> B_zwkraa = 1 --> knock control algorithm remains unchanged.

2. Output ignition angle < KFZW + dwkrz(i) + wkrdy --> B_zwkraa = 0 --> advancing algorithm of wkr(i) is frozen and knock control adaptation is disabled. (due to exhaust gas reasons, Stability Program operation, idle control, etc.)

In module ZUE the bit B zwkra is formed synchronously to the ignition angle output and it is then stored in the corresponding position in bit array zwkrafld. E.g. B_zwkraa is then determined from zwkrafld as follows: SW cylinder counter


(zzylkr)

5

4

3

2

1

0

B_zwkra

1

1

0

1

0

0

zwkrafld = 25 + 24 + 22 = 52


B_zwkraa (zzylkr = 3) = 0 (= false)

Please note: Signs of the ignition angle (in degrees crankshaft (°KW)) according to mathematical convention.

KFZW > 0 (with TDC as the point of reference, ignition "before" DTC means mathematically positive angles KFZW) dwkrz(i) £ 0 ("retard" timing with regard to the basis ignition angle means mathematically negative dwkrz(i))


Retarding of the ignition angle without adaptation (WKRBER)

If B_kr and !B_kra are set the knock control operates as follows:

If a knocking combustion (B_kl) is detected in module KRKE then the ignition angle of the corresponding cylinder i is adjusted by retarding it by an amount KRFKN per knock event. If the engine is in the Knock Control-steady-state operation, is adjusted by retarding it by an amount KRFKLN per knock event. This cylinder-individual retarding is added independently of load and engine speed in the RAM area wkr(i).

For engine smoothness reasons and in order to avoid spurious misfire detections, the retarding is limited in each calculation to a range around the mean value wkrm of the latest given SY_ZYLZA retardings wkr(i), given by wkrm plus/minus a freely selectable threshold. This threshold DWKRMSN is a characteristic line over the engine speed.

Additionally the retarding is limited in wkr(i) towards retard to KRMXN and towards advance to 0°.

wkr is a RAM-area in which a RAM-cell is reserved for each cylinder.


If the “Knock Control active” operating range of the engine is left (!B kr) then the latest present retarding remains stored in wkr(i) until the “Knock Control active” range is entered again. The same applies for wkrm.

In the “Knock Control not-active” range of the engine zero is passed on to module ZUE as adjustment value dwkrz(i).

If the ignition is switched off, the retardings in wkr(i) are set equal to zero.


Advancing of the ignition angle (WKRBER & FRUEHVERST)

The retardings from wkr(i) are cancelled on a cylinder-specific basis if B_kr is set and if a cylinder-specific advancing counter zkrvf(i) has reached zero.

During each knock event B_kl, the cylinder-specific counter zkrvf(i) is populated with the value KRVFN. Each non-knocking combustion in cylinder i for which in addition B zwkraa = 1 applies (i.e. the given ignition angle was limited by Knock Control) decrements zkrvf(i) by 1. When zkrvf(i) = 0 is reached, the retarding in wkr(i) assigned to the corresponding cylinder is decremented by one quantization step and the counter is again populated with KRVFN.

During each timing towards advance, the wkr(i) are limited to the mean value wkrm of the latest given retarding SY_ZYLZA minus a freely selectable threshold DWKRMSN or to the value zero.

If the “Knock Control active” operating range of the engine is left (!B_kr) the latest available counter values remain stored in zkrvf(i) until the “Knock Control active” range is entered again.

If the ignition is switched off, the counter values inzkrvf(i) are set equal to zero.

If changed engine operating conditions result in a reduced tendency to knock, a quicker advancing of the wkr(i) is performed until the first knock event occurs after the beginning of this quick advancing. In this case, the counters zkrvf(i) are started when KRVFSN < KRVFN. The condition for the start of the quick advancing is either the transition from reading adaptation values ​​wkra(i) to wkr(i) or the termination of a dynamic phase or a negative load range shift.

There should be no quick advance during dynamic operation (B_krldya / B_krndy = 1).


Knock Control Steady-State Mode

In Knock Control steady-state mode, the ignition angle per knock event is retarded by the value KRFKLN or KRFKN. So that the knock frequency at different retards is not too high, the Knock Control steady-state mode advance adjustment speed adjusted by KRLVFKN.

The Knock Control steady-state operation is indicated by B_krstatb. This bit is set if |drl| < DRLKRSTMX and |ngfil| < NGKRSTMX for TVKRSTAT seconds.

Retarding of the ignition angle with adaptation (KR ADAP)

B_kra = B_kr & (tmot > TMKRA) --> Adaptation active

B_krafrz = B_kra & ((rl < lkraw) || (tmot < TMKRAS) || (nmot < NKRAMIN) || (nmot > NKRAMX) || B_asr || B_nmax || B_vmax) --> Learning the adaptation values ​​is prohibited

The adaptation ensures that also for strongly map-dependent varying retardings the knock frequency does not increase in case of quick changes of the map ranges. For this purpose, when adaptation is active, the current retards under certain conditions are written in a load-speed-dependent adaptation map (see Storage) or overwritten with the values ​​stored in the map (see Read). Read access to the adaptation map is only enabled when the engine temperature is stable and when there is a significant knock control demand (i.e. TMKRA >= TMKR), whereas the knock control must be activated even at low knock control demands (worst case conditions). Write accesses to the adaptation map are enabled until the second temperature threshold (TMKRAS ³ TMKRA) and the second load threshold (LKRAN >= LKRN) are exceeded. This prevents, on the one hand, spurious adaptation due to retardings during warm-up and on the other hand, a learning of the adaptation value to 0 at lower loads.

A RAM cell is reserved in the adaptation map wkra for each load- and speed range per cylinder. The load and speed limits are removed for administration labels (KRAL1-3N or KRAN1-4). The values ​​stored there will be used as the limiting values in case of increasing load or speed.

In case of decreasing load or engine speed, an adjustable hysteresis (KRALH, KRANH) is subtracted from these values.

The current load range is stored in stkrlx, the speed range in stkrnx.

When the ignition is switched off all values remain stored in wkra. If the supply voltage of the ECU is disconnected the values are lost. After the supply voltage of the ECU has been reconnected all values are set to 0.

DIAGRAM

For the indexing of the wkra(i) - RAM-cells the following specification is used in the SW: i = zzylkr + (8 x stkrnx) + (40 x stkrlx zzylkr) = 0...7, so at the maximum, 8 cylinders can be represented.

stkrnx = 0...4, 5 engine speed ranges

stkrlx = 0...3, 4 load ranges (value of 0 is notwithstanding the ASCET-Model!)

The wkra of the current adaptation range can be obtained from the RAM cells wkraa_i, i = 0 ... SY_ZYLZA-1


Adaptation - Learning Conditions:

The following conditions update the adaptation map:

1. During each knock event, the ignition angle retard wkr of the cylinder in which the knock event occurred, is increased by an offset KRDWKLA then stored in the current load-speed range of the adaptation map when this sum (wkr + KRDWKLA) is later than the value stored in wkra.

2. If the current retard wkr(i) is at least KRDWA earlier than the last value stored in the adaptation map and advance adjustment counter zkrvf (i) = 0, the ignition angle retard is changed to KRDWSA towards advance in the adaptation map.

3. If the current retard wkr(i) = 0 and the advance adjustment counter zkrvf (i) = 0, wkra (i) is changed by KRDWSA towards advance.

The adaptation of the characteristic map is only performed during steady-state operation and during not active safety retarding (B krdws=0). When idle control is active, the steady-state adaptation is also blocked, because the control is via the average wkrm retardation.

In order to avoid the unjustified adaptation of large amounts of retardation, further writing to the adaptation map (combined into B_krafrz) is prohibited under the following conditions:

- tmot < TMKRAS error identifiers due to extraneous noise during warm-up.

- nmot > NKRAMAX error identifiers due to extraneous noise from the dump valve.

- nmot < NKRAMIN error identifiers due to extraneous noise from the drivetrain.

- B_asr = 1 transient engine conditions via fast ignition angle-intervention, possibly error identifiers.

- B_nmax = 1 ditto

- B_vmax = 1 ditto

Writing is also prohibited when

- rl < LKRAN


Adaptation – Read Conditions

During active adaptation the retarding of all cylinders wkr(i) is overwritten by the values from wkra(i) if one of the following conditions is fulfilled:

1. Transition from !B_kra to B_kra

2. Load range changes with dynamic response (B_krl/ndyn = 1)

3. Engine speed changes with dynamic response (B_krl/ndyn = 1)

4. Entering or exiting idle control

During overwriting of wkr(i) with wkra(i), ignition angle jumps towards advance can happen (e.g adaptation has not yet settled in all adaptation ranges) which may give rise to undesirable results (judder, knock). For this reason, early ignition angle changes will be limited via overwriting KRDWAA. KRDWAA = 0 means that ignition angle jumps towards advance will be prevented. KRDWAA = KRMXN means that ignition angle jumps towards advance within the scope of the maximum Knock Control range are permitted.


Knock Control in the case of Active Dynamic Response (KRRA, KR_ADAP, BBKR)

In case of active dynamic response (B_krldy, B_krldya, B_krndy, see module KRDY) the further adaptation of the steady-state values wkra(i) is blocked. A change of the adaptation ranges leads to an updating of wkr(i) with the values adjusted in wkra(i).

Each knocking combustion (B_kl), like so far, leads to a retarding by KRFKN and is therefore added to the cylinder-individual retarding in wkr(i).

In addition to B_krldya, an adaptive dynamic derivative action wkrdy (see module KRDY) is added. For the fastest possible inclusion of this derivative action for dynamic response detection, an auxiliary bit B_wkrdyw set in module KRDY triggers the corresponding updating of all dwkrz_i included in wkrdy in the next KR-time frame. This algorithm is not shown in the ASCET images.


Knock Control during Active Idle Control (KRRA)

When idle control is active (B_llr = 1) cylinder-specific knock detection and control of the retardings wkr(i) still occurs. However, at ignition, the average retardation wkrm is output (dwkrz(i) = wkrm for all i).

In this way, additional idle disturbance via Knock Control-ignition angle intervention is avoided. During activation or deactivation of idle control respectively, the adaptation map is read.


Knock Control Above NKRMAX (BBKR, WKRBER)

Errors can frequently occur at high speeds due to noise (e.g. valve lift). Therefore, in order to avoid unduly large amounts of retarding, there is a speed threshold, NKRMAX, above which the de facto knock control is disabled! Instead, wkr(i) is permanently overwritten with the adapted values ​​of the current adaptation range wkra(i) + an offset. This offset (krfkw - KRDWKLA) is implemented so that a margin from krfkw to the knock limit in this adaptation range is maintained. However, the prerequisites for this are a nearly constant knock limit within the respective adaptation areas and the presence of a current adaptation value.

Please apply this function with the utmost care!


Optional Leading Cylinder (LZ)

The leading cylinder function is enabled:

- On exceeding a cylinder-specific speed threshold KRNLZ[i], above which the cylinder has poor knock detection, this cylinder is led by the cylinder with a good knock detection.

- For systems with two knock sensors, if an error has been detected for the knock sensors. (The one knock sensor associated cylinder are hereafter referred to as a group.) The cylinders of the group concerned are then led by the cylinders of the group having a good working knock sensor. On exceeding KRNLZ [i], the safety retardation will be activated for all of the cylinders. This mitigation measure will be turned off via the codeword CWKRNLR. If an error is detected, a sensor immediately activates the security retardation.


Leading Cylinder Function when Engine Speed > KRNLZ, Without Knock Sensor Error

The corresponding leading and led cylinders are selected via the elements LZFUER_0 to _k (k = SY_ZYLZA - 1), of the blocks of constants ​​LZFUER. The leading cylinder (LZ) is indicated by set bits in the bytes to LZFUER_0 _k.


The elements i = 0 to k of the constants LZFUER ​​are selected via the cylinder block counter zzylkr in Knock Control, i.e. LZFUER_i belongs to zzylkr = i the cylinder counter counts the combustion within an AS. The connection between zzylkr and physical cylinder is given by the firing sequence. Accordingly, the bits 0-7 of LZFUER_i refer to zzylkr indexed combustion.


During activation of the lead cylinder function in this case, the contents of LZFUER is copied into the RAM-array LZIST (loop from i = 0 ... SY_ZYLZA-1 on a 100 ms time frame). Thus LZIST will contain the most current association between leading and led cylinders.

For example:

6 cylinder engine with firing sequence zzylkr = 0 1 2 3 4 5

Physical cylinders: 1 4 3 6 2 5

Block of constants LZFUER

Led cyl. Bit 7 6 5 4 3 2 1 0 <-- (leading cylinder)

LZFUER_0 0 0 0 0 0 0 0 0 -- > 00 -- > physical cylinder 1 will not be led, i.e. separate knock detection

LZFUER_1 0 0 0 0 1 0 0 0 -- > 08 -- > physical cylinder 4 will be led by cylinder 6

LZFUER_2 0 0 0 0 1 0 0 1 -- > 09 -- > physical cylinder 3 will be led by phys. cylinder 6 or 1 (late selection)

LZFUER_3 0 0 0 0 0 0 0 0 -- > 00 -- > physical cylinder 6 will not be led, i.e. separate knock detection

LZFUER_4 0 0 0 0 1 0 0 0 -- > 08 -- > physical cylinder 2 will be led by cylinder 6

LZFUER_5 0 0 0 0 1 0 0 0 -- > 08 -- > physical cylinder 5 will be led by cylinder 6

A led cylinder may not be defined as a lead cylinder for itself, i.e. the bit i in LZFUER_i must be "0"


In the lead cylinder function, the following active measures are taken:

1. The knock detection will continue unchanged

2. The knock control and adaptation of the leading cylinder continues unchanged

3. For a led cylinder i, the retardation of the latest i assigned to leading cylinders j plus a cylinder-specific offset WKRLZOF_i is used as a late adjustment: wkr_i is overwritten in the background program with wkr_j + WKRLZOF_i. The adaptation continues unchanged. The adapted (and possibly incorrect) values ​​for led cylinders arising because of 6 are not output.

If the code word CWKRLZFK = 1, the retard for the led cylinder is determined according to the following minimum selection:

wkr_i = MIN (wkr_i,

wkr_j) + WKRLZOF_i

4. Detected knock for the led cylinders has no effect: the retardation per knock is set to zero for the cylinder.

If the code word CWKRLZFK = 1, wkr_i will be retarded according to krfkw in the led cylinders and also the cylinders in which knock is detected, regardless of the leading cylinder function.

5. An independent advance for led cylinder is suppressed: the step width of the counter zkrvf_i for the led cylinder i is set continuously in the background program KRVFN.

If the code word CWKRLZFK = 1, the step width counter zkrvf_i is not overwritten for the led cylinder i.

Thus, an advance of wkr_i independent of the leading cylinder is possible. But because this results in an earlier ignition angle than with the leading cylinder, wkr_i will be overwritten with the ignition angle-adjustment of the leading cylinder. Thus, the earliest possible ignition angle for the led cylinder is given by the leading cylinder’s ignition angle + offset.

6. When reading from the adaptation maps, ignition angle changes towards advance are limited to 0° crank angle, rather than KRDWAA.

Leading Cylinder Function With Knock Sensor Error and Engine Speed < KRNLZ

If the knock sensor in group 2 is off (B_kseb2 = 1), then the cylinder of group 2 is led by group 1 according to the measures described in points 1 to 6 above. Instead of the individual cylinder offsets WKRLZOF_i, a global offset, WKRLZOFEKS is applied to the led cylinder. In this case, the content of LZB1 is copied into the RAM array LZIST (see above).

If the knock sensor in group 1 from (B_kseb1 = 1), then the cylinder of group 1 is led by group 2 according to the measures described in points 1 to 6 above. Instead of the individual cylinder offsets WKRLZOF_i, a global offset, WKRLZOFEKS is applied to the led cylinder. In this case, the content of LZB2 is copied into the RAM array LZIST (see above).

If both knock sensors are off (B_kseb1 = 1 & B_kseb2 = 1), the safety retardation is activated (B_krdws = 1).

Through the elements LZBi_0 to LZBi_k (k = SY_ZYLZA - 1) of the constant blocks LZBi (i = 1,2) the corresponding leading and led cylinders are selected.

The leading cylinder (LZ) is indicated by set bits in the bytes LZBi_0 to LZBi_k.

The elements n = 0 to k of the constant block are selected ​​by the cylinder counter zzylkr in the Knock Control function, i.e. LZBi_n is zzylkr = n. The cylinder counter counts the firing within an AS. The connection between zzylkr and the physical cylinder is given by the firing sequence. Accordingly, the bits 0-7 of LZBi_n refer to zzylkr by indexed combustion

For example:

6 cylinder engine with firing sequence zzylkr = 0 1 2 3 4 5

Physical cylinders: 1 4 3 6 2 5

Constant block LZB1

Led cyl. Bit 7 6 5 4 3 2 1 0 <-- leading cylinder

LZB1_0 0 0 0 0 0 0 0 0 = 0

LZB1_1 0 0 0 1 0 1 0 1 = 21 -- > physical cylinder 4 is led by the cylinders of group 1

LZB1_2 0 0 0 0 0 0 0 0 = 0

LZB1_3 0 0 0 1 0 1 0 1 = 21 -- > physical cylinder 6 is led by the cylinders of group 1

LZB1_4 0 0 0 0 0 0 0 0 = 0

LZB1_5 0 0 0 1 0 1 0 1 = 21 -- > physical cylinder 5 is led by the cylinders of group 1

Constant block LZB2

Led cyl. Bit 7 6 5 4 3 2 1 0 <-- leading cylinder

LZB2_0 0 0 1 0 1 0 1 0 = 42 -- > physical cylinder 1 is led by the cylinders of group 2

LZB2_1 0 0 0 0 0 0 0 0 = 0

LZB2_2 0 0 1 0 1 0 1 0 = 42 -- > physical cylinder 3 is led by the cylinders of group 2

LZB2_3 0 0 0 0 0 0 0 0 = 0

LZB2_4 0 0 1 0 1 0 1 0 = 42 -- > physical cylinder is led by the cylinders of group 2

LZB2_5 0 0 0 0 0 0 0 0 = 0

A led cylinder may not be defined as a lead cylinder for itself, i.e. the bit i in LZBi_n must be "0"

Safety Retardation During Active Knock Control (KRRA)

The knock control system hardware (sensors and signal processing IC CC195) is continuously monitored using the diagnostic functions DKRNT, DKRTP and DKRS. When errors are detected, the corresponding error flags E_ * are set, resulting in setting B_krdws to trigger the safety retardation. Resetting of B_krdws after detection of error healing and hence the withdrawal of the safety retardation may only happen with "knock control not active" (to prevent torque jumps).

Other system errors that lead to triggering of the safety retardation are:

- Lack of synchronization (B_synph = 0)

For systems with two or more knock sensors (KSZA > 1), in the absence of general synchronization safety retardation will be switched on.


For systems with only one knock sensor (KSZA = 1) and without active leading cylinder function, knock detection in the absence of synchronization will be performed with the most sensitive knock detection threshold (B_krnl = 1 --> emergency knock detection – see also module KRKE), the knock control system continues unchanged.

The operation of the leading cylinder function sets the synchronization of the system (B_synph = 1) mandatory in advance. It follows that in absence of synchronization and active leading cylinder function in safety retardation (B_krdws = 1) it must be switched, regardless of how many knock sensors the system has.

In the absence of synchronization, an emergency operation of the engine by using dual ignition per SW (mirroring the ignition --> Half firing interval) can occur. In the case of an odd number of cylinders, the required sychronisation between the Knock Control measurement windows and combustion is no longer necessarily given. It must, even for systems with a knock sensor, be switched to safety retardation. A value of > 1 is therefore input to KSZA.

- Emergency tachometer (B_nldg = 1)

During speed-sensor emergency operation, the measurement window cannot be output with the required accuracy. Therefore security retardation is activated. To prevent unnecessary setting of safety flags B_krdws after an ECU reset, the setting of c_inisyn is blocked for 3 seconds. If the Knock Control safety flag, B krdws, is set (see modules DKRS, DKRNT and DKRTP), dwkrz(i) and wkrma are overwritten by KRDWS if the knock control is active.

wkra(i), wkr(i) and wkrm are not updated as long as B krdws is set.

If B krdws is again reset dwkrz(i) is overwritten by wkr(i), wkrma by wkrm.

Application Notes

Cylinder-specific and load/engine speed range-dependent values are marked by (i) in the description corresponding to their realization in the ECU-code, e.g. wkr(i). The corresponding RAM-cell which can be read via VS100 is indicated in the ASCET-image by i, e.g. wkr i.

The cylinder counter zzylkr generated in module GGKS serves as control variable for the index i of the cylinder-individual RAM-cells (wkr(i), dwkrz(i), zkrvf(i), with the exception of wkra(i), see above).

Knock Control can be switched off via the label TMKR:

TMKR > tmot --> !B_kr

For the application the following typical values are suggested:

KRFKN -3 °crank is a value for the retarding of the ignition angle. Experience shows that it is a sufficient value to safely run the engine at the knock limit with stabilized adaptation.

KRMXN -12 °crank is a value which is sufficient for most applications. When fixing this characteristic line it must be noted though that the engine can be operated absolutely knock-free with the programmed value under worst-case conditions (i.e. engine speed, ambient temperature and fuel with lowest octane number).

In the process attention must be paid to the maximum permitted exhaust gas temperature.

KRVFN approx. 4 sec/°KW advancing is a typical value. The control speed of Knock Control during quasi-steady-state engine running results from this characteristic line in connection with KRFKN. The aim here is to determine a time constant which is larger than the thermal time constant of the engine so as to avoid a thermal strain.

When adjusting KRVFN it must be taken into consideration that the thermal strain of the engine increases with increasing engine speed so that a larger period should be chosen for higher engine speeds.

KRVFN = 1 Inc. * n / (120 * x) with 1 Inc. in °KW n in rpm x in °KW/sec - "speed" for the advance adjustment

KRVFSN to be adjusted dependent of KRDWKLA in order to enable a quick advancing of the adaptation map values in case of changed operating conditions without provoking an increased knock frequency.

KRDWKLA = -3 °KW: approx

1 sec/°KW advancing or approx. 1/4 x KRVFN

KRDWKLA = 0 °KW: approx

2 sec/°KW advancing or approx. 1/2 x KRVFN

TMKR approx. 40°C is the value during which on many engines knocking combustions can already occur

TMKRA: Below an engine temperature threshold TMKRA it is not useful to update wkra since experience has shown that within this operating range the knock tendency of the engine is very low. If adaptation would be permitted the necessary values learned in the normal operating range would be lost which means that the knock frequency is again increased when this operating range is reached again. Usually this engine temperature threshold lies at TMKRA = 80°C

LKRN approx. 30% rl is a typical value. The lowest load threshold during which knocking combustions can occur is stored in this characteristic line.

LKRAN can be parameterized with values​​ > LKRN, so the adaptation will only happen when there is a significant Knock Control demand; LKRAN is ineffective when parameterized with values ​​<= LKRN

KRDWKLA 0 °KW <= |KRDWKLA| <= |KRFKN|

KRDWA |KRDWA| >= |KRDWKLA|

KRDWSA 0 °KW < |KRDWSA| und |KRDWSA| <= |KRDWA| - |KRDWKLA|

The following sets of parameters can be recommended:


KRDWKLA/°KW

KRDWA/°KW

KRDWSA/°KW

0

2.25

2.25

--> Adaptation up to the knock limit

-1.5

3.0

1.5

--> Adaptation up to the knock limit + a safety margin of 1.5 °crank

-3.0

4.5

1.5

--> Adaptation up to the knock limit + a safety margin of 3 °crank


KRWKRAIN = 0 °crank ... KRMXN, when interpretation of the ignition angle-KF close to the knock limit a value < 0°crank is recommended.

KRDWAA = 0; ignition angle jumps towards advance via reading of the adaptation values are prevented.

KRDWAA = min(KRMXN); ignition angle jumps towards advance are permitted within the scope of the maximum knock control range.

0 > KRDWAA > min(KRMXN) ignition angle jumps towards advance are limited to KRDWAA.

DWKRMSN approx. -3 °KW is a typical value to maintain the engine smoothness and to avoid spurious misfire detection; if the values get smaller the cylinder-individual character of the knock control is increasingly lost.

KRDWSN around -12 °crank, knock must be avoided under worst case conditions.

KRALH in order to avoid a judder at the range limits, a hysteresis was introduced for decreasing load. Typical value for KRALH = 3%

KRANH in order to avoid a judder at the range limits, a hysteresis was introduced for decreasing engine speed. Typical value for KRANH = 120 rpm.

NKRAMIN equal to the speed, up to which error flags by mechanical noise and vibration arise from the drive train. If the function is not required then set NKRAMIN = 0.

NKRAMAX equal to the speed above which there can be error flags (e.g., valve lift) which particularly applies when NKRAMAX > KRAN4 so actually in the upper speed range, values ​​can be adapted, otherwise there is considerable risk of freezing the Knock Control by overwriting with NKRMAX. If the function is not required then set NKRAMAX to the maximum value.

NKRMAX equal to the speed above which there can be error flags (e.g., valve lift) which particularly applies when NKRMAX > KRAN4 and NKRMAX >= NKRAMAX so actually in the upper speed range, values ​​can be adapted, otherwise there is considerable risk of freezing the Knock Control by overwriting with NKRMAX. If the function is not required then set NKRMAX to the maximum value.

CWKRNLR = 1 additional mitigation measure for systems with two knock sensors with knock sensor error is active. CWKRNLR = 0 ... is not active

Particular attention when determining the ignition angle maps requires knowledge of the area in which an enrichment function (lambda <1) is active since the knock limit will shift because of the enrichment.

To ensure the stabilty of Knock Control is not jeopardized, the ignition angle structure and the enrichment function must be adjusted so that a uniform margin to the knock limit is maintained (<3° crank) across the entire operating range of the engine.

The existence of some values/RAMs is determined by the representation in ASCET (block hierarchy, course of control). They are not realized in the SW resp. they cannot be measured definitely by means of VS100 due to their special realization:

- B wkral cannot be measured definitely.

- B krvf is not realized.

- zkrvf(i)=0 cannot be measured, this state can only be detected indirectly via the performed RESET of the counter from zkrvf(i) = 1 to zkrvf(i) = KRVF(S)N.

- zzylkral is not realized.


Distinguishing between wkrm/wkrma

wkrm represents the mean value of the each time SY_ZYLZA latest calculated wkr(i) (possibly incl. mean value vswzm) while wkrma represents the mean value of the dwkrz(i) (without wkrdy) which was passed on to the ignition during the SY ZYLZA latest combustions.


Adaptation characteristic map wkra

When choosing the map values a compromise has to be achieved between the possibly varying knock tendency of the engine at different load and engine speed ranges and the time by which the characteristic map is updated during normal driving.

If the adaptation map wkra is chosen to be too large (i.e. many relative load-engine speed-ranges) a longer period will be needed in order to update all ranges.

Thus in case of changed operating conditions which lead to a larger knock tendency it is inevitable that the knock frequency increases.

Generally a characteristic map with three load and five engine speed ranges is sufficient for wkra. In this map a RAM-cell is provided for each load/ engine speed range per cylinder.

(Example 4-cylinder-engine: 3 x 5 x 4 = 60 RAM-cells for wkra)

For the indexing of the wkra(i) - RAM-cells the following specification is used in the SW:

i = zzylkr + 8 x stkrnx + 40 x stkrlx (zzylkr = 0...7, so at the max. 8 cylinders can be represented).

The number of adaptation ranges can be varied according to special customer requirements but at the maximum to 4 x 8 load/engine speed ranges (change of above-mentioned indexing may possibly be necessary).


Cylinder-individual ignition angle timing with VS20

By means of VS20 a cylinder-individual additional timing vszw(i) can be performed (see also modules VS and VERST) so that the following applies:

dwkrz(i) = wkr(i) + wkrdy + vszwkr(i) if B_kr & !B_krdws


Label

Timing Range

Quantization

Initialization/neutral value

vszwkr_1

see module VS_VERST

0.75° crank

0° crank

Vszwkr_8

see module VS_VERST


i = 0 ... SY ZYLZA - 1

Attention:

1. No automatic limitation of vszwkr(i) is performed - please pay attention to engine and catalyst protection during the timing! 2. The earliest possible ignition angle determined by the Knock Control is under all circumstances, i.e. it is possible that the minimum permitted ignition angle may be undershot (due to temperature reasons see modules ZUE and ZWMIN). Please pay attention to engine and catalyst protection!


Abbreviations

CWKRLZFK

Code word: knock detection is not switched off for led cylinders

CWKRNLR

Code word: limp home in case of 1 out of 2 knock sensors fails

CWKRRA

Code word for the function KRRA

DRLKRSTMX

Maximum drl in Knock Control steady-state operation

DWKRMSN

Delta ignition angle Knock Control margin from mean retarding

KRAL1N

load range for Knock Control adaptation maps 1

KRAL2N

load range for Knock Control adaptation maps 2

KRAL3N

load range for adaptation Knock Control maps 3

KRALH

Load hysteresis for Knock Control adaptation maps

KRAN1

speed range for Knock Control adaptation maps, sample range 1

KRAN2

speed range for Knock Control adaptation maps, sample range 2

KRAN3

speed range for Knock Control adaptation maps, sample range 3

KRAN4

speed range for Knock Control adaptation maps, sample range 4

KRANH

Engine speed hysteresis for Knock Control adaptation maps

KRDWA

knock control difference current ignition angle to adaptation map

KRDWAA

Permissible ignition angle jump towards advance when reading adaptation values

KRDWKLA

The SV-learning value for KR adaptation after knocking detected

KRDWSA

The FV-learning value for KR adation when wkra-wkr > KRDWA

KRDWSN

knock control delta angle safety

KRFKLN

Retard per knock event at a slow advance

KRFKN

retard step knock occurrence

KRLMDY

Read if change of load range: always or only if dynamic active

KRMXN

maximum retard adjustment

KRNLZAR

cylinder individual speed limit for lead by leading cylinder

KRNMDY

Read if change of speed range: always or only if dynamic active

KRVFN

number of firings/cyl. or time for ignition advancing

KRVFSN

number of firings/cyl. or delay-time during fast ignition advancing of the Knock Control

KSZA

Knock sensor number

LKRAGRN

Load threshold knock control with Exhaust Gas Recirculation

LKRAN

Load threshold knock control adaptation

LKRN

load-signal threshold knock control

LZB1

Lead cylinder assignment: Bank 1 leads to Bank 2 with error KS 2

LZB2

Lead cylinder assignment: Bank 2 leads to Bank 1 with error KS 2

LZFUER

Lead cylinder assignment

NGKRSTMX

maximum speed gradient in the Knock Control steady-state operation

NKRAMAX

Upper engine speed limit for freezing Knock Control adaptation

NKRAMIN

Lower engine speed limit for freezing Knock Control adaptation

NKRF

Engine speed threshold for Knock Control release

NKRMAX

Upper engine speed limit for freezing Knock Control adaptation

SENZZYL0

SNM16KRUB

Data point distribution engine speed, 16 data points

SY_ZYLZA

System constant: number of cylinders

TMKR

Engine-temperature threshold to enable Knock Control

TMKRA

Engine temperature threshold for adaptive Knock Control

TMKRAS

Temperature threshold for releasing write access to the adaptation map

TVKRSTAT

Knock Control delay time steady-state operation

WKRLZOF

Constant bloack: ignition retard offset for leed cylinder

WKRLZOFEKS

Ignition retard offset for led cylinders in case of knock sensor error

B_ADRKRA

Condition flag: Knock Control adaptation values reset errors in memory

B_AGR

Condition flag: Exhaust Gas Recirculation

B ASR

Condition flag: ASR active

B_KL

Condition flag: knock detected

B_KR

Condition flag for knock control active

B_KRA

condition for active Knock Control adaptation

B_KRAFRZ

Condition flag: Knock Control adaptation is frozen

B_KRDWS

Condition flag: knock control safety ignition retarding

B_KRFDKS

Condition flag: enable knock sensor diagnosis

B_KRFRZ

Condition flag: Knock Control adaptation is frozen

B_KRLDY

Condition flag: load dynamics for knock detection active

B_KRLDYA

Condition flag: load dynamics retard and dynamics adaptation active

B_KRLDYN

Condition flag: load dynamics for steady-state adaptation active

B_KRLZ

Condition flag: knock control lead-cylinder function active

B_KRNDY

Condition flag: speed dynamics for knock detection active

B_KRNDYN

Condition flag: speed dynamics for steady-state adaptation is active

B_KRNL

Condition flag: emergency operation of knock detection for emergency operation of phase sensor

B_KRNLR

Condition flag: emergency knock control for V6 or V8 with two knock sensors and error in one knock sensor

B_KRSTATB

Condition flag: steady-state Knock Control operation

B_KRVF

Condition flag: adjustment of Knock Control ignition timing to a less retarded value

B_KRWA

Condition flag: Knock Control at stop

B_KSEB1

Condition flag: KS-error Bank 1

B_KSEB2

Condition flag: KS-error Bank 2

B_LLR

Condition flag: idle control

B_NLDG

Condition flag: limp-home function speed sensor

B_NMAX

Condition flag: speed limit active

B_PWF

Condition flag: power fail

B_STEND

Condition flag: end of start

B_SYNPH

Condition flag: synchronization phase

B_TMKR

Condition flag: engine temperature (tmot) for knock control achieved

B_VMAX

Condition flag: VMAX control active

B_WKRAL

Condition flag: to read wkr from knock control adaptation map

B_ZWKRAA

Condition flag: ignition angle of the Knock Control is given

B_ZWKRUM

Condition flag: fast ignition advance Knock Control

DFP_KRNT

internal failure path number: knck control zero test

DFP_KROF

internal failure path number: knock control offset

DFP_KRTP

internal failure path number: knock control test pulse

DFP_KS1

internal failure path number: knock sensor 1

DFP_KS2

internal failure path number: knock sensor 2

DFP_KS3

internal failure path number: kncok sensor 3

DFP_KS4

internal failure path number: knock sensor 4

DRL_W

Change in cylinder fill

DWKR

cylinder-specific ignition-timing retardation

DWKRMSW

current value for mean value limitation of the retarding

DWKRZ

cyl.-spec. ignition-timing retardation with retardation for dynamics

E_KRNT

error flag: knock control zero test

E_KROF

Errorflag: knock control offset

E_KRTP

error flag: knock control test pulse

E_KS1

error flag: knock sensor 1

E_KS1H

auxiliary error flag KS1

E_KS2

error flag: knock sensor 2

E_KS2H

auxiliary error flag KS2

E_KS3

error flag: knock sensor 3

E_KS3H

auxiliary errorflag KS3

E_KS4

error flag: knock sensor 4

E_KS4H

auxiliary error flag KS4

KRAL1W

current value load adaptation range 1

KRAL2W

current value load adaptation range 2

KRAL3W

current value load adaptation range 3

KRDWSW

momentan characteristic-value for safety retard

KRFKW

current value of KRFKN

KRLZN

Cylinder-specific speed threshold of lead cylinder function exceeded

KRMXW

current value for retard limitation of the retarding

KRVFSW

initialization value for quick advancing

KRVFW

initialization value for normal advancing

LKRAW

Current value of the load threshold knock control-adaptation

LKRW

Current value of the load threshold knock control

LZIST

Array: instantaneous assignment of leading and led cylinders

NGFIL_W

Filtered speed gradient

NMOT

Engine speed

RL

Relative air charge

STKRAX

Index for Knock Control adaptation map

STKRLX

Load range adaptation map Knock Control

STKRNX

Speed range adaptation map Knock Control

TMOT

Engine temperature

TPNT_AKTIV

Activation of Knock Control functions

VSZWKR

Cylinder-specific adjustment of ignition angle by VS2x

VSZWM

Average value of adjustment ignition angle with VS2x

WKR

Cylinder-specific ignition retarding value knock control

WKRA

Adaptation map of wkr, speed- and load-dependent

WKRAA

Monitor for the wkra of the current adaptation ranges, wkra_0, _1…

WKRATST

wkra updated in real time

WKRM

Average value of individual ignition retarting by knocking

WKRMA

Average value of ignition retarding by KC, generally(limpe home with safety)

WKR_TST

cylinder-individual ignition angle retarding, druming

ZKRVF

counter determines the frequency of the cylinder-individual ignition angle adv


ZWKRAFLD

bit pattern of the cylinder-individually stored B-zwkra

ZZYLKR

cylinder counter Knock Control

Personal tools