Fuel Injector Delay Writeup

Explaining the FN1315 Table

Injector timing is the delay before each injector output is fired.  The delay is taken from TDC of the reference PIP signal  for each  injector output.  The units for injector timing are absolute engine crank degrees.  The range is clipped between 0 and 716 degrees ATDC with 4 degrees resolution. Only the off-edge of the injector pulse can be timed. The injector delay is used only to start a fuel pulse.  

Once started, pulsewidth accuracy has top priority. When the fuel system is not in sync (SYNFLG = 0), the injector timing is coincident with the relevant PIP signal.  The  injector outputs are fired in sequence after receiving the rising edge of the reference PIP signals. Actual timing will be the result of the random link between signature PIP (cylinder #1) and #1 injector output.

During the first synchronized fueling event, the rolling  average  filter  for  INJDLY  is  initialized  to  350. This action eliminates the excessive length of time it used to take to filter INJDLY from its initial value of 0 to its desired timing. When the fuel system is in sync (SYNFLG = 1), injector timing is based on the calculation defined within this strategy module.


   NOTES:

   1.  The final value of injector delay is limited to a range of greater than or equal to 0, and less than 720, engine crank angle
   degrees.  Intermediate calculations and results are maintained in an unlimited fashion.

   2.  The user must set DEGPIP to match their engine. DEGPIP is the number of engine crank  degrees  per  PIP  interval.   (90  for
   8-cylinder, 120 for 6-cylinder, 180 for 4-cylinder).  


EXAMPLE - Injector Timing

   INJDLY = 400 DEGREES


 



If you had access to the ECU, the equation would resemble this:

/* The following calculates the desired injector delay in percent of PIP periods or "betas".  If the injector delay plus the PIP
   offset  from  TDC  is  greater than 716 degrees, then the requested delay will be past TDC and 720 can be subtracted to give the
   same delivered timing.  INJDLY can only be calculated in 4 degree steps).  */

   IF ( UNCONDITIONALLY )
   THEN                                  injdly_offset_tmp = injdly + PIP_UP_DBTDC ;
   END_IF


   IF ( injdly_offset_tmp < 720 )
   THEN
                                   injdly_beta = injdly_offset_tmp / DEGPIP;
   ELSE
                                   injdly_beta = (injdly_offset_tmp - 720) / DEGPIP;