Hardware limitations

From M232 Wiki
Jump to navigation Jump to search

RPM limit

The fast diag puts quite a bit of strain on the boost/knock processor, which is already very strained.
It is possible to modify the code, but the current implementation does not run fast enough to deliver fast logging data past 8000 rpm, even at greatly reduced sample rates. If you push it, the ECU will hard reset.
The reason is that the fast logging code runs off of the RX/TX interrupt and the RX/TX interrupt calls are not only expensive, but they get higher priority than many other calculations, thus the ECU does not have data ready at some point for the next cycle. To fix it, the byte send code needs to be injected in a few places elsewhere. This is already done in the fuel/ign processor.
With fast logging disabled the meaningful limitation on the engine revs is about 9000 rpm, after that you run into dwell issues.

Dwell time

Due to the solid-state distributor design, the fuel/ign processor outputs a pulse just like a normal distributor based system.
This means that it needs to output 5 spark events every cycle, because as the logic output goes high, the coil starts charging, and as it goes low the spark is fired.
This sets some limits on the theoretical maximum dwell time:

RPM (1/min) Dwell time (ms)
1000 24.00
2000 12.00
3000 8.00
4000 6.00
5000 4.80
6000 4.00
7000 3.43
8000 3.00
8500 2.82

Realistically the actual maximums are a little lower. For high output applications it is recommend to use the VAG TFSi coil packs.
They are fully charged between 2.5 and 3ms, they are cheap and they give a very strong spark - enough for over 700 hp on Ethanol.

ECU Speed

The boost/knock control chip runs crank-synchronous in real time.
The fuel/ign control chip injection time and ignition output runs crank-synchronous in real time.
The fuel/ign control chip main loop (map lookup) runs at 100hz or best effort.
It can keep updating 100 times per second up to about 5000 RPM, after which the final injection/ignition output calculations start to take more and more processor time and the main loop gives way.
At 8500 RPM it still runs at over 30hz. Plenty fast enough for the global low-impact calculations.

ECU precision

Ignition precision target is 0.75 degrees. Knock retard precision is 0.5 degrees.
Injection precision in the fuel/ign chip is near infinite, because it is represented using an exponent and mantissa. How precise it is in the sequential injection driver is unknown.
RPM precision is 1 trigger tooth.
Boost precision is 8 bit, meaning for a 400kpa sensor, it is roughly 1.6kpa.