6.6 KiB
Reverse Engineering Saab Trionic 8 Combustion Detection Module (CDM) output signals using rusEFI ECU
by Andrey Belomutskiy, 2018
- Table of contents
- Next Steps
- External links
This data would not be gathered without help from kb1gtt, stefanst, andreika, nighthunter, hankthefourth and many others.
In this report we show how detonation on 2003 Mazda Miata MX-5 could be detected by means of ion sensing using Saab 55352173 Combustion Detection Module (CDM) and H6T60271 Individual Ignition Coils
TL;DR
knock and combustion detection outputs of 55352173 are digital. Knock is reported with a series of 50us pulses, more pulses meaning more detonation. Combustion signal seems to be just a comparator giving logical true if ion sensing wire voltage is below certain level. First wide pulse on the combustion output seems to be flame front phase while second wide output seems to be showing post-flame pressure, with the middle of this pulse correlating with moment of peak cylinder pressure.
Knocking - note a lot of blue line pulses (1ms time base)
Not knocking or knocking way less - note lack of blue line low level pulses (5ms time base)
Combustion signal seem to be just a comparator
Overview
While Saab Trionic systems were using ion sense forever, only the latest eighth generation uses individual ignition coils and external CDM. Prior to T8, a highly integrated ignition cassette was used which would make repurposing it for DIY applications harder. Trionic 8 system does not have camshaft position sensor or knock sensor with combustion detection module running on ion sensing signal from ignition coil producing both phase and detonation detection.
More recently, Mazda and BMW seem to be using ion sensing approach again.
Hardware
Here are all the Saab components we will be using (only two coils pictured while four coils would be used)
Ferrari 124792 spark plug extension is used to connect original Mazda Miata spark plugs with bullet terminals removed with Saab COPs
Knock detection wire has 0.8KOhm pull-up to 5v, combustion detection signal has 5KOhm pull-up to 5v.
Detonation test scenario
2003 Mazda Miata 1.8 VVT Automatic running on rusEFI open source ECU.
Engine coolant temperature 100C, ambient temperature 4C, violent 40 degrees advance from 1500 RPM to 3500 RPM timing table.
Detonation is audible in 2000-4000 range with 50% throttle pulls from parked.
Detonation is also audible while parked, revving with brakes applied in "D" gear selector.
Detonation signals
youtube: Four signals we see on the oscilloscope
youtube: No detonation while driving - baseline
youtube: Knocking while driving
youtube: Knocking while driving zoomed in
youtube: Knocking while standing on brakes 40 degrees timing
youtube: No knocking while standing on brakes 25 degrees timing
And that's it! We have seen enough to get some code for the rusEFI firmware to start consuming this knock signal data!
Next Steps
-
Produce same outputs without CDM module
-
Try Mazda H6T61171 ignition coils - these are a bit longer and narrower, seem to fit my Miata engine.
-
analyze [raw waveforms](Misc/Saab_Trionic_8_Combustion Detection Module_on_Mazda_Miata_running_rusEFI/saab_cdm_2018_01_05_miata_rigol.zip) and detect knock based on just ion sense signal without CDM
![Coils](Misc/Saab_Trionic_8_Combustion Detection Module_on_Mazda_Miata_running_rusEFI/H6T60271_and_H6T61171.jpg)
Inside of 55352173 Saab Ionization Detection Module