Controlling the sequential injection.
Posted: Tue Mar 24, 2009 12:37 am
A quick review of the MegaSquirt sequencer shows an additional 9S12X processor just to handle the sequencing with some sort of multiplexed arrangement. Has anyone given any consideration to how to handle this functionality?
I will throw out an idea: Programmable timers, something like the CTS9513 or the common 82C54.
I was thinking of dedicating one timing channel to each injector and then another master timer channel to control the timing for each cam shaft revolution.
I.e. A V8 would use 3 82C54 timers. Program the period of each timer with the length of time the injector it controls should be open. Program the master timer channel to fire at 1/8th of the camshaft rotation period. The TACH signal would start the master timer. Feed the output of the master timer into a simple 8 channel sequencer (simple FlipFlops chained together). When the RPM changes the CPU would have to update the period for each of the 9 timers.
This would of course allow the injection time to be customized for each injector on an individual basis. I.e. 8 VE tables or 1 VE table with offsets for each injector. It would also make injector opening and closing overlap a non issue as each timer channel would finish its open cycle before the new value is on it's next cycle.
What I am thinking is building the sequencer controller board with room for 5 82C54's. Only install the number each implementation would actually need. This would handle a 14 cylinder engine with individual timing for each injector. Oh yeah, and not eat up any of the CPU I/O's.
I see the operating temperature range on the 82C54 is -40°C ~ 85°C. Is this sufficient? The 9513 is a 5 channel timer which works very similarly to the 82C54 but doesn't seem to have near the availability. I happen to have an ISA 82C54 I/O board and a PCI 9513 I/O board I used for controlling a couple of big IGBT's in a H bar arrangement with a variable frequency around 20Khz with variable power cycles (on times) for an induction heater. The circuit was almost identical to the one I described above. This is why I am familiar with this design.
Did I explain myself understandably on this at all?
I will throw out an idea: Programmable timers, something like the CTS9513 or the common 82C54.
I was thinking of dedicating one timing channel to each injector and then another master timer channel to control the timing for each cam shaft revolution.
I.e. A V8 would use 3 82C54 timers. Program the period of each timer with the length of time the injector it controls should be open. Program the master timer channel to fire at 1/8th of the camshaft rotation period. The TACH signal would start the master timer. Feed the output of the master timer into a simple 8 channel sequencer (simple FlipFlops chained together). When the RPM changes the CPU would have to update the period for each of the 9 timers.
This would of course allow the injection time to be customized for each injector on an individual basis. I.e. 8 VE tables or 1 VE table with offsets for each injector. It would also make injector opening and closing overlap a non issue as each timer channel would finish its open cycle before the new value is on it's next cycle.
What I am thinking is building the sequencer controller board with room for 5 82C54's. Only install the number each implementation would actually need. This would handle a 14 cylinder engine with individual timing for each injector. Oh yeah, and not eat up any of the CPU I/O's.
I see the operating temperature range on the 82C54 is -40°C ~ 85°C. Is this sufficient? The 9513 is a 5 channel timer which works very similarly to the 82C54 but doesn't seem to have near the availability. I happen to have an ISA 82C54 I/O board and a PCI 9513 I/O board I used for controlling a couple of big IGBT's in a H bar arrangement with a variable frequency around 20Khz with variable power cycles (on times) for an induction heater. The circuit was almost identical to the one I described above. This is why I am familiar with this design.
Did I explain myself understandably on this at all?