Save Password

Forgot Password?
  Home   Forums   Events Calendar   NWSTP Admins   Guestbook   FAQ   RSS   Register
Active Topics | Active Polls | Resources | Members |   | Live Chat | Avatar Legend | Search | Statistics
[ Active Members: 0 | Anonymous Members: 0 | Guests: 7 ]  [ Total: 7 ]  [ Newest Member: Boobbikst ]
Live News Events Calendar Photo Album File Lister File Library
 Northwest Syclone Typhoon Posse
 PM Inbox
Please login to check your PM's
 NWSTP Navigation
   Top Secret
 TunerPro Files
   TunerPro RT 4.13 Released
(Updated 2/23/06)
   $58 ECM Def 2/3Bar v1.3
(For TunerPro 4.x) (10/7/07)
   $58 ALDL Def 2/3Bar v1.1
(For TunerPro 4.x) (10/7/07)
 Section 11 - Electronic Spark Timing




Electronic Spark Timing Control

1.1 Introduction

The optimum spark timing output is defined in terms of its relation-ship to various input parameters, manifold pressure, RPM, coolant temperature, etc. Data tables are provided to allow calibration of the spark timing function in terms of these input parameters. This function controls the spark distributor module which in turn energizes and de-energizes the ignition coil.

There are two basic controls which are included in the electronic spark timing function. Dwell control is provided to allow sufficient energy in the ignition coil for a proper ignition system voltage output without over stressing the coil. Spark timing is then provided to control the proper crankshaft angle at which the spark plug should be ignited for optimum performance.


2.1 Modes of Operation

Two system modes of operation which are exclusive are described below:

    • Bypass Mode
    • EST Mode

These modes are determined by hardware constraints and algorithrn tests. During the bypass mode, the electronic spark timing control signal is bypassed to the distributor, this means that spark timing and dwell are controlled by the distributor. During the EST mode, the electronic spark timing control signal is a programmed function of engine speed, vacuum or manifold absolute pressure, coolant temperature. and various other sensor signals.

2.1.1 Bypass Mode

The bypass mode is intended to insure an ignition firing signal to the ignition coil within the distributor when proper ECM execution of the electronic spark timing control function cannot be guaranteed. The bypass mode overrides the EST run mode; The HEI/EST ignition module will be in the bypass mode whenever the bypass terminal is at a low voltage or open circuit. When the bypass mode is enabled by the ECM opening the bypass line, the ignition module will have complete control of on time (dwell) and ignition spark timing.

No ignition secondary voltage is generated by the sudden application of battery voltage to the ignition voltage supply line. This means that the ECM bypass control signal must remain below the ignition module threshold during power on initialization. During a crank sequence, no ignition secondary voltage is generated until the first pickup pulse falls from a value above the ignition module "on" threshold to a value below the ignition module "off" threshold. This includes the indeterminate time between key on and starting motor engagement and any noise generated by accessory switching during that time.

2.1.2 EST Mode

During the EST mode, the electronic spark timing control signal is a programmed function of engine speed, load, coolant temperature, and various other sensor signals.

The EST mode shall be enabled whenever the EST enable criteria are met (see 2.2.2). Once enabled, the ECM will cause the ignition module bypass terminal to be at a high voltage state. The ECM will then have complete control of on time (dwell) and ignition spark timing.

2.2 Mode Control

As described in the previous section, there are two modes of operation:

    • Bypass Mode
    • EST Mode

The following describes the software enable criteria for each of these modes.

2.2.1 Bypass Enable Criteria

The bypass mode shall be enabled whenever the EST mode is disabled.

2.2.2 EST Mode Enable Criteria

EST mode will become enabled by the following sequence of events:

1.ECM detects proper power requirements.

2.The engine is running as detected by an RPM exceeding calibration parameter *KRPMUP* for a period of time greater than or equal to *KERUNCTR*.

3.Malfunction code 42 is disabled or if enabled the criteria for setting malfunction code 42, when in the bypass mode, is not met. (See Diagnostics)

4.At least two reference pulses have been received since the last ECM reset.

2.2.3 EST Mode Disable Criteria

The EST mode will be disabled and the bypass mode re-enabled by any of the following:

1.A defective calibration PROM is detected by the ECM software resulting in EST being disabled and bypass mode operation a maximum of four reference pulses later.

2.The ECM detects that the ignition is off. When this occurs EST is disabled and the bypass mode is entered a maximum of four reference pulses later.

3.The ECM software determines that the time since the last reference pulse has exceeded 200 milliseconds. EST is then disabled and the bypass mode entered a maximum of four reference pulses later.

4.Software ceases to execute properly resulting in the ECM being reset and the bypass mode enabled.

5.An ECM low voltage reset or power failure.


The EST algorithm controls both ignition timing and dwell.

3.1 Dwell Control

This feature is designed to provide optimum EST signal on time (dwell) requirements. In order to build up sufficient coil primary current to generate the required secondary voltage, minimum on time (dwell) is required. To prevent excessive module dissipation at low speeds and to provide sufficient burn time at high speeds, maximum on times are also required. To meet these requirements, the software sums static dwell with dynamic dwell, compensates the sum for battery voltage level, and limits the compensated sum to guarantee a minimum burn (EST off) time.

3.1.1 Static Dwell

This portion of the dwell calculation computes the nominal dwell required by the distributor during steady state engine conditions. This three-slope straight line function is accomplished in software by computing the slope and reference period for each of the three sections defined on the curve.


1 LT 7.0 ms Static Dwell = 4.7 ms + (Ref.

Period - 7ms)/2

2 GT 7.0 ms and Static Dwell =4.7 ms + (Ref.

LT 25 ms Period - 7 ms)/16

3 GT 25 ms Static Dwell = 5.825 ms + (Ref.

Period - 25 ms)/4 6

3.1.2 Dynamic Dwell

The dynamic dwell portion of the dwell calculations computes the nominal additional dwell (added to static dwell) required to maintain the desired dwell under conditions of acceleration.

Dynamic dwell is added to static dwell when acceleration is detected via a reduction in reference period or acceleration enrichment fuel mode is active. If the acceleration enrichment criterion is met, the change in reference period test is not made. Reference Period Detected Acceleration

Every 12.5msec, the software tests for an acceleration by comparing the present reference period to the previous. If the present reference period is shorter than the previous, an acceleration is Occurring and dynamic dwell is added to the static dwell output.

The reference period acceleration test performs the following calculation:


where: REFPER (NEW) is present reference period

REFPER (OLD) is previously calculated reference period

if the result of this calculation is positive and is greater than or equal to the value of dynamic dwell, then it becomes dynamic dwell subject to the maximum restrictions of Paragraph If the result of the calculation is less than dynamic dwell, then dynamic dwell remains unchanged. Acceleration Enrichment

If acceleration enrichment fuel mode is active, dynamic dwell is set to the maximum (See Paragraph 3.1.4). Maximum Dynamic Dwell

Dynamic dwell is limited for all operating conditions to a value not to exceed (Reference Period)/8. Dynamic Dwell Recovery

The dynamic dwell parameter shall be exponentially decayed to zero every 12.5msec interval in which a new reference pulse occurs. The exponential decay shall be accomplished by subtracting (Dynamic Dwell)/8 from Dynamic Dwell.

DO1 = (DD0-(DD0/8+l) Limited to 0

where: DO1 = Present dynamic dwell

DD0 = Dynamic dwell from previous 12.5msec interval calculation

3.1.3 Voltage Compensated Dwell

This feature is designed to increase dwell time as battery voltage decreases. As battery voltage decreases, the energy available in the coil to fire the spark plugs is also decreased. By increasing dwell in the reduced voltage situation, the available firing energy can be maintained at a level sufficient to fire the spark plugs.

Dwell is voltage compensated whenever battery voltage drops below 12V via the following formula:


3.1.4 Desired Dwell Limiting

Desired dwell HEI on-time is the battery voltage compensated summation of static and dynamic dwells. To insure sufficient burn time (coil discharge time), desired dwell is limited to a maximum on-time of (Reference Period) - 600 sec.

3.1.5 Increasing Spark Advance Limitation

The ECM software insures that ECU module calculations cannot truncate dwell due to an increase in spark advance. This is accomplished by limiting any increase in spark advance to (Reference Period)/16 at each spark advance calculation intervals Spark is calculated every 12.5msec. No limiting is done in the increasing retard direction.

3.2 Spark Timing Calculations

The spark timing control calculations are performed in the following manner:

Spark timing advance calculations are the sum of the following term:

1.Coolant Advance Bias (*KCTBIAS*)

2.Manifold Air Temperature Bias (*KMATBIAS*)

3.Boost Advance Bias (*KBSTBIAS*)

4.Spark Advance Run Time-out

5.EGR Advance Bias (*KEGRBIAS*)

6.Malfunction 32 Test term (*KKEGRSPK*), if applicable.

System spark advance is calculated relative to top dead center (TDC) but must be output relative to the HEI reference signal. The difference between TDC and the reference signal is accounted for by subtracting the value *KREFANGL* is the same as the static advance angle.

Output Spark Advance (w.r.t. TDC) = System Spark Advance - *KREFANGL*

3.2.1 Main Spark Advance Table (*F1*)

The (*F1*) table is the primary lookup table for spark advance as a function of engine RPM ana manifold pressure (MAP). This three dimensional table contains a 14x17 matrix of lookup values. If the throttle is closed, the 600 RPM row of the table is forced.

When RPM exceeds 4800 (highest RPM value of table Fl), the Fl table advance is calculated by accessing the X parameter (RPM) end point at the appropriate Y parameter (MAP) value and adding to it an additional advance as follows:

Fl Value = Fl Table Value + (Measured RPM - 4800) * KADVSLHr *2

where: KADVSLHI is a calibration parameter representing degrees advance per RPM for RPM in excess of 4800.

A second calibration parameter (*KRPMXHI*) represents the maximum RPM for which an advance addition factor is calculated. If "measured RPM" exceeds *KRPMXHI* then *KRPMXHI* will be substituted for "measured RPM" in the above formulation.

The Y axis can be scaled for a 1 Atm. or 2 Atm. MAP sensor via Bit 5 of *KAFOPT3*. The X axis is *NTRPMP* units.

3.2.2 Coolant Temperature Correction Table (*F2*)

The coolant temperature correction table (*F2*) shall consist of a 15 x 5 three dimensional lookup table. The independent variables shall be coolant temperature and load. The load is manifold air temperature if bit 3 of COOLKUPS is set or manifold vacuum if bit 2 of COOLKUPS is set.

The manifold vacuum points in the P2 table shall consist of 5 values of vacuum ranging from 0 to 40 kPa in 10 kPa increments. The manifold air pressure consists of 5 values of air pressure ranging from 60 to 100 kPa in 10 kPa increments. The coolant temperature shall be NCT units limited to 152C. If coolant temperature is less than *KF2ENA* and throttle is closed, the F2 value shall be forced to *KCTBIAS*.

The constant value *KCTBIAS* shall be provided to allow the F2 coolant temperature correction values to be either positive or negative at user option. This is accomplished by subtracting *KCTBIAS* from the spark advance calculation after the value from the F2 table is added.

The user would therefore specify the F2 table values using the formula:

F2 Table Value = desired correction + *KCTBIAS*

3.2.5 Power Enrichment Advance

If the power enrichment mode is active, (see Fuel), a value from the F80 table as a function of engine RPM will be added to the spark advance calculation.

If the power enrichment mode is not active, a value of zero will be added to the spark advance calculation. ALDL Spark Control

If ALDL spark control is not active, a value of zero will be added to the spark advance calculation.

IF ALDL spark control is active, spark advance is calculated as follows:

SAPN = ALSPARK (Absolute and Advance Modification)

SAPN = ALSPARK (Absolute and Retard Modification)

SAP = SAP + ALSPARK (Delta and Advance Modification) N N-1

SAPN = SAPN-l - ALSPARK (Delta and Retard Modification)

SAP = New Spark Advance

SAP = Previous Spark Advance


ALSPARK = Desired Spark Advance

3.2.6 ESC Retard

The value calculated for knock retard is subtracted from the spark advance calculation. (See Electronic Spark Control)

3.2.7 Initial Timing

Initial timing is defined as the spark timing in engine degrees referenced to top dead center with EST system in the bypass mode. A parameter, *KREFANGL* degrees, must be set to this initial timing value. After all the advances are added together, *KREFANGL* is subtracted from the sum to reference the degrees advanced from the position of initial timing.

3.2.8 Spark Advance Run Time-out Logic

The spark advance run time-out is subtracted from spark advance calculation. The spark advance run time-out is used to ramp out the initial spark advance. The ramp value is chosen during EST disable from the "F46(coolant)* table. This value is decayed by the multiplier, *KSADM*, every *KSATM1* seconds.

3.2.9 EST Advance/Retard Limits

Two ECM calibration memory values (*KMAXADV2* and *KMAXRTD2*) define the maximum advance and minimum advance angles acceptable by the distributor. These limits are relative to the static advance or reference angle *KREFANGL*. Advance angles outside these limits may result in ignition secondary voltage being applied to the wrong cylinder (crossfire). These limits shall be defined by Delco Remy, the ignition system design responsible division, on their distributor outline drawing. The limits are applied after all of the advance tables and their biases have been summed.

*KMAXADV2* and *KMAXRTD2* can be either positive or negative relative to the reference angle.

3.2.10 Malfunction 32 Test Term

If a Malfunction 32 Test (EGR) is in progress, (DIAGMW4, bit 7 = 1), the spark advance term is decremented by *KKEGRSPK*.

3.2.11 Spark Calculation Override Power Steering Override 6

If the system detects a power steering load during a closed throttle condition, while not in diagnostics, and the coolant temperature is greater than *KPSTEMP*, the output spark advance is made equal to *KPSDAOV* before the lag correction is performed. Diagnostic Mode Override

When the system is put into the diagnostic mode the threshold is set to *KDIARPMH* (DIAGMW2 Bit 5 = 0) or *KDIARPML* (DIAGMW2 Bit 5 = 1). If the engine RPM is less than or equal to the threshold, the spark advance is made equal to *KDIAGADV* before the laq correction is performed. If the engine RPM is greater than threshold and ESC option is active the spark advance equals *KESCDADV* before the lag correction is performed.

3.2.12 Lag Correction

Lag correction is a feature designed to compensate for all mechanical and electronic time lags to which the reference signal and EST signal are subjected.

Lag correction is accomplished by subtracting *KTIMELAG* from the advance being Output after it has been converted to the time domain. Lag correction is performed after all EST calculations including application of the maximum retard limit are complete but before the application of the maximum advance limit.

3.2.13 Computation Rate

All EST calculations shall be executed within one minor loop cycle of 12.5 msec.

NWSTP Forum © 1998-2011 NWSTP Go To Top Of Page
This page spooled up in 0.04 seconds Syclone and Typhoon By GMC Powered By: Snitz Forums 2000 Version 3.4.03


This Ring Site is owned by Sportmachines. Want to join the Ring?
Skip Prev] [Prev] [Next] [Skip Next] [Random] [Next 5] [List Sites