A spark control system and method for an engine having an intake cam phaser and/or
an exhaust cam phaser, and having engine sensors, comprises a principal calculation
module that determines a principal spark advance value based upon actual rotational
position of the cam phasers, and an output calculation module that determines an
output spark advance value based upon the principal spark advance value and spark
modifiers determined from the engine sensors. The actual rotational positions of
the cam phasers are obtained from predictive calculations or rotational position
sensors on the cam phasers. The principal calculation module includes two separately
calibrated look-up tables, indexed by the actual rotational position of the cam
phasers, whose outputs are scaled and combined to determine the principal spark
advance. The spark modifiers include temperature base, coolant, induction air temperature,
equivalence ratio, and piston slap.