Originally Posted by richyvrlimited
No CMP is required for wasted spark?!? If it was your old MS1 and trigger wheel setup would never have run
Did you read what I wrote? I said that CMP *IS* required for wasted-spark, even on an MS1. (It's also used to sequence the injectors, even when run in two-channel batch fire mode.)
It sounds like the OP is homing in on the problem, so this thread is kind of solved. But for everyone's general reference, a quick primer on how wheel decoding works in general:
For Crank-only (or single-channel Cam only), you have several basic options:
You can run a crank wheel with an even number of teeth, with one or more teeth missing. This gives the ECU enough information to know when the #1 and #4 pistons are physically at TDC, which can then be used to drive wasted-spark ignition and two-channel batch injection. It can't run full sequential, because it can't distinguish between #1 TDC and #4 TDC.
You can run a cam wheel with an even number of teeth, with one or more missing teeth. Because the cam rotates at 1/2 crank speed, that missing tooth is enough to tell the ECU precisely where #1 TDC is, and this, you can run full sequential. (Note that this configuration is extremely uncommon.)
If you have only a single wheel with no missing teeth, be it on the crank or the cam, then you can only run single-channel, meaning you will need a mechanical distributor. This, in fact, was the original operating mode of the Megasquirt way back in the beginning, as the points inside the distributor were re-purposed to act as the "wheel".
With the NA Miata's CAS, the CKP signal does have an even number of teeth, but since it only has one tooth per ignition event, you can't just cut one of them off and call it a missing-tooth wheel. There needs to be at least twice as many teeth as ignition events in order to do that, since every event must correspond to a physical tooth.
The CAS's CKP line could, in theory, be used all by itself if you could also figure out how to get a distributor to run in parallel with it, but that's kind of silly.
Thus, in order to use the CAS to drive a wasted-spark ignition, we require both the CMP and CKP outputs. CKP provides the actual firing-event reference, while CMP provides information about engine-phase.
The CMP line actually supplies enough information to run fully sequential, since even though it has two pulses per cam revolution, one of them is longer than the other. The longer one fully overlaps a CKP pulse, whereas the shorter one overlaps only one edge of a CKP pulse.
The MS1 is not capable of figuring this out, since it can only "see" one edge of the pulses- it cannot detect their actual state in real time. (This is not a software limitation- it's a physical limitation of the actual CPU itself. The IRQ input is the only one capable of providing sufficient temporal resolution to deal with primary trigger inputs, and that pin is able to act only on falling edges.)
So to the MS1, the CMP signal just looks like one pulse per crank revolution, which is functionally equivalent to a missing tooth crankwheel.
The MS2 and 3, by comparison, are capable of reading the realtime state of all input pins, so it can figure out the difference between the two CMP pulses, and use this to set absolute engine phase thus supporting full sequential operation.