EST observations (kinda long)
Ludis Langens
ludis at cruzers.com
Tue Feb 23 18:04:57 GMT 1999
Tedscj at aol.com wrote:
>
> You see that these are all equally spaced. The P4 document states that the
> ECM looks for the 'falling edge' to determine a reference pulse. I have read
> and heard that the difference between an HEI module and DIS module is that
> this signal is inverted. So maybe a DIS .bin looks for a 'rising edge'?
> Either way it can't be much of a problem since even an inverted signal has a
> 'falling edge'. You might just have to adjust the base timing to make up for
> the pulse displacement caused by the inversion.
The problem is that the other edge may "move around" at different RPMs.
Here is the dwell computation code from the SyTy (and turbo Sunbird)
program. All the named locations are RAM variables except for
TachInterval which comes from the hardware timing chip. Notice that all
of the constants are hard coded, none are read from the configuration
area. (Question: Are the SyTy and Sunbird distributor or DIS?)
This code fragment is invoked at 80 Hz
xD035 ...
LDX TachInterval ;Hardware register
LDAA #255 ;Dummy huge ExtraDwell
LDAB Flags2F
BITB #bigMapIncrease
BNE @0 ;Force ExtraDwell := (TachInterval / 8)
LDD OldTachInterval ;OldTachInterval - TachInterval
PSHX
TSX
SUBD (X)
PULX
ASLD ;Double difference
SUBD ExtraDwell ;Extra dwell if RPM increased
BMI @1
ADDD ExtraDwell
@0 STD ExtraDwell
@1 PSHX ;TachInterval to D
PULD
LSRD ;TachInterval / 8
LSRD
LSRD
SUBD ExtraDwell ;Limit ExtraDwell to (TachInterval / 8)
BHS @2
ADDD ExtraDwell
STD ExtraDwell
@2 PSHX ;TachInterval to D
PULD
STD OldTachInterval ;Set new OldTachInterval
LSRD ;Compute Dwell using TachInterval
SUBD #229
BHS @3
ADDD #308
BRA @5
@3 LSRD
SUBD #295
BLO @4
ADDD #382
BRA @5
@4 ADDD #1527
LSRD
LSRD
@5 STD Dwell
LDAA #120 ;Increase dwell at low volts
DIFA SensedVolts
LDAB #4
MUL
ADDD Dwell ;Combine all terms
ADDD ExtraDwell
STD Dwell
LDD TachInterval ;TachInterval - 39
SUBD #39
SUBD Dwell ;Limit Dwell to (TachInterval - 39)
BHS @6
ADDD Dwell
STD Dwell
@6 ...
This code fragment slowly reduces ExtraDwell to zero. It is executed
once per ignition event (up to 80 Hz).
xCE2F ...
LDD ExtraDwell ;ExtraDwell / 8
LSRD
LSRD
LSRD
COMA ;- (ExtraDwell / 8) - 1
COMB
ADDD ExtraDwell ;ExtraDwell - (ExtraDwell / 8) - 1
BPL @9
CLRD
@9 STD ExtraDwell ;Decay ExtraDwell to zero
--
Ludis Langens ludis (at) cruzers (dot) com
Mac, Fiero, & engine controller goodies: http://www.cruzers.com/~ludis/
More information about the Gmecm
mailing list