Post by
deviousKA »
https://forums.nicoclub.com/deviouska-u9381.html
Sun Jun 03, 2007 10:50 pm
The ka24e ecu hardware is superior to any current megasquirt versions, and arguably, so is the code.
What you have with an OEM ecu of this caliber is a distributed network of control. Rather than have a single 8, 16, or 32 bit processor handling all CAS decoding and fuel/ignition output (core functions), the ECCS system off-loads to task oriented companion processors.
The main advantage to all of this and the reason the ECCS can effectively use such a high resolution CAS lies in interrupt timing.
A single microcontroller can easily handle the task of deciphering 720 degrees of crankshaft rotation (or 360 degrees of cam) directly, provided resolution is available in the CAS (in the case of ECCS resolution is 2 degree per signal, on 720 count, when counting both rising and falling). What the single threading micro cannot be expected to efficiently accomplish is to handle this task when there are are others competing to be completed as well, such as possible fuel/ignition output. In microcontroller terms, this is called and issue with"interrupt priority".
Alternatively, most modern aftermarket EFI measure the time (using an mcu counter) between current cam and/or crank sensor pulses, decide which count it wants to use for next operation, get signal, wait appropriate count and then perform operation. This allows for less signals to come from cam/crank sensor and and thus frees up time for other operations. These type of systems (megasquirt, AEM, etc.) cannot decipher the CAS like ECCS itself. ECCS does not assume for next signal, it performs its operation in current time.
In the ECCS system the 360 degree and the 90/sync CAS signals are fed to 2 and sometimes 3 different controllers, each having its own task within the system. The sequential operation of the fuel injector outputs is accomplished by using 2 of the controllers, one decoding the current cylinder in line, and the other using the normalized backside of the 90/1 pulse to fire an interrupt to start a counter on the 360 signal. This counter has a compare match, so as soon as the correct amount of 1 degree signals are read the controller will perform its operation.
The controller decoding the current cylinder in line does so by using the entirety of available CAS signals, not only the 90 degree sync. There are 3 distinct patterns on the CAS. Unlike aftermarket EFI, ECCS doesnt even measure this 90 degree pulse at all, it uses it to fire interrupts. These interrupts start and stop a counter on the 1 degree signal. Once this controller has decoded cylinder in line, it sends this data to the sequential fuel controller so that it knows which cylinder to output. It is constantly decoding the CAS using the same method, using the normalized backside of the pulse like I mentioned before, but it still needs to know what cylinder it is on.
This is all without even mentioning the controll processor yet, the one that actually extrapolates and sends the desired fuel injection and ignition timing values to the companion processors.
The control processor is indeed an 8 bit, a hitachi hd6303ycp , not much different than megasquirt. Its kind of neat in that it extra functions provided in the Hitachi version (in comparison to 6801 motorola counterpart) that make it comparable to the 68hc11 or the 68HC908. I use them quite a bit, especially in my output control routine. The controller does lack flash memory, but the system makes up for it with the more than adequately sized external memory.
To sum all of that up, think of the ka24e ecu hardware as everything that UMS aspires to be(distributed control), with a slightly older processor (that doesnt have to do very much), that is limited to using the nissan CAS.
I mentioned earlier that the code was arguably better than that of the megasquirt in any current versions, that is simply because we have no user guide to the ECCS system and must reverse engineer it. This would seem to make the megasquirt code better, but in reality ECCS is much more complex and refined.
Modified by deviousKA at 10:00 AM 6/4/2007