Even more retarded

Posea, David G, SITS dposea at att.com
Sat Nov 20 11:17:10 GMT 1999


Thanks John!!

I need to output crank signals instead of firing a coil, but the concept is
the same. This is an add-on box, not a complete controller. But based on
your input I think this will work:

find TDC
zero the timer
on timer interrupt increment high byte of timer (16 bit resolution), if
count = 36 make sure a tooth is missing. Zero timer at TDC

on input interrupt store tooth number, timer value, and last two timer
values. I would store all the tooth times, but would run out of ram. The
last two should be plenty for up to 15 degrees of retard.

main loop keeps track of output pulse count, and compares the timer to the
stored timer for that tooth. If the delay is reached, send an output. If
not, keep looping. 


I'll need an A/D converter for boost value (GM MAP sensor), and a lookup
table for the delay based on rpm, but that should be easy. It may be even
easier just to calculate the delay on the fly with a 20mhz processor. I know
I can use the pre-scaler to slow down the timer, but should I do that, or
increase the timer resolution to 24 or 32 bits?

As always, thanks for the help!!

David Posea









More information about the Diy_efi mailing list