Timing

From B58 Wiki

You have probably looked at a log where the DME pulled 3° of timing and though that's not too bad then seen another log with 8° of timing pull and thought that's too much. Equally, you might have noticed that the ambient temperature is 110°F and intake temp 140°F and been unsurprised to see 6° correction. Why is this and how does the DME decide what the timing should be and whether to pull 0°, 3° or 12°?

Timing Overview

It is worth trying to understand in very general terms what the DME is doing. You probably already know that, to maximize performance, timing needs to be advanced upto but not past the knock limit. At the timing retard end, there is another limit called the combustion limit. This is the maximum retard that can be employed before partial burning and misfire problems start. One final quantity is the brake optimal timing angle. This is the angle that would achieve maximum possible torque (putting aside any fuel limitations). The DME is juggling these quantities depending on its aims.

  • The combustion limit is useful for cat heating, sound tuning and antilag. Relatively little combustion energy goes into the pistons and most becomes heat, so the cat gets hot and unburnt fuel can be flushed into the exhaust.
  • The optimal timing angle is used in torque calculations and torque intervention. The optimal angle provides for a reference torque that allows the DME to figure out the torque corresponding to the current timing it is running.
  • The knock limit is the performance related number we all know and love. The DME employs a neural network approach to knock prediction, so it can estimate the probability of a knock event and use this to keep the timing safe but performant. In general, this allows the DME to avoid knock. If this fails and knock is detected, the DME will quickly drop to a very safe timing angle.

The overview of timing strategy is outlined below, with reference to the diagram:

  • Step 2. Temperature correction factors
    • The engine and intake temperature, plus two tables, KF_FDZWT_PF1 and KF_FDZWT_PF2 are sampled every second to determine a temperature correction factor.
      • Note the F for factor, the DZW for delta Zuendwinkel (timing correction) and T for temperature.
  • Step 3. Temperature correction
    • There are three temperature correction tables: KF_DZWT_PF1, KF_DZWT_PF2 and KF_DZWT_UESP_PF1. Can you guess what they are for?
    • The DME samples the engine load, rpm and the correction factors above to produce a temperature correction angle.
  • Step 4. Knock adaption delta
    • If the knock limited tables above (KF_ZW_PF1, etc) are too aggressive, this value will go up to compensate.
    • If the delta is zero, the timing might be too conservative or it might be bang on. A very small value indicates it is close to target.
    • This is all temperature, load and rpm dependent.
  • Step 5. Dynamic correction
    • There are four dynamic correction factor tables KF_FDZW_DYN1..4, which work as follows:
      • KF_FDZW_DYN1 and KF_FDZW_DYN2 are for manual transmissions
      • KF_FDZW_DYN3 and KF_FDZW_DYN4 are for autos.
      • Taking the auto case, KF_FDZW_DYN3 depends on intake temp and (? something to do with knock protection) which KF_FDZW_DYN3 depends on gear and vehicle speed.
  • Step 6. Basic corrected angle
    • The corrected, basic ignition angle is output based on: Zw_grund = Zwstat + Dzwt + Dzt_krann - Dzwdyn
  • Step 7. Possible torque intervention
    • The torque sub-system might specify a timing angle in order to reduce torque (for example, because the gearbox or traction control asks for this). This works by reference to a set of KF_ZWOPT_PF1, etc tables (not shown) which provide the torque-optimal timing and thus a reference from which the DME can determine some retard from this optimal angle to get the torque it wants.
  • Step 8. Possible knock intervention
    • The knock sub-system is predictive. It tells the DME if it thinks knock is likely.
    • The knock-limited ingition angle is output, plus the total of all corrections.
  • Step 9. Zw_out (timing angle out)
    • In addition to the basic, knock-limited angle, the torque angle and the knock intervention angle, there are other timing sub-systems, notably for startup and cat heating which are not shown, plus the DME needs to know which cylinder it is dealing with. The job of the IgnOut functions is to weigh up all these factors and provide a single, cylinder specific command to the ignition driver.

File:Ign_038_005_0-hlf.svg

Basic timing angle

Here, the DME interpolates between the normal and safe maps and then that and the blowoff map.

Temperature corrections

The idea here is to

  • calculate a timing mutiplier based on the temperature every second
  • apply this to the value read from the load and RPM correction table.
  • For shifts and liftoff, the flushing table will be used, with an interpolation to smooth transitions.
  • Because the temperatures are sampled once per second, timing logs often show a stepwise change in timing.

Knock adaptation correction

In this article, we will treat the knock adaptation as a black box and note only that it outputs another timing delta.

This parameter can be thought of as an octane correction.

Dzw_krann - knock adaptation correction

Dynamic correction

Lambda correction

Lambda corrections are zero on the gen 1. Lambda correction tables are not calibrated.


Application of timing corrections - corrected knock limited angle

With corrections in hand, the DME adds together the basic angle and the corrections, to obtain the knock-limited angle. This is the timing angle that will be used unless the knock control or torque systems intervene.


Knock control intervention

Here, the DME will discard the basic timing angle and revert to a very conservative retarded angle if knock is detected.

The maths is

DME timing intervention in case of knock

We can see from the stock KF_ZWKS table that the knock angle is retarded for loads higher than 130%.

Ignition angle for knock protection


Furthermore, the temperature-based delta applies additional negative timing (i.e. retard) of about -2° after multiplication with the factor.

KF_DZWKS - Delta ignition angle for knock correction


KF_FDZWKS - Temp-based factor

Torque intervention and optimal timing

Zw_out: final timing angle