Turbo control in a GM ECM

Ludis Langens ludis at netcom.com
Sat Oct 4 17:56:28 GMT 1997


I've been lurking on the list here for several months.  If I find the time,
I'll have some comments to add to the "hijacking an OEM ECM" thread.

Anyway, I'm currently figuring out the code from a GM ECM.  It is of the older
C3 generation.  This ECM has support for a turbo or supercharger.  All you
need to do is flip a bit in the EPROM, drop in new calibration tables, change
the MAP sensor, plumb up a turbo, and you can be a road terror.

I've concentrated my efforts at the newer (second) version of the code.  This
version has a few flags and variables that seemed to be meant to interface to
a calibration box.  I recently disassembled the first version of the code
(used only in 1985).  The extra variables are used by a long subroutine that
is missing in later years.  This subroutine has something to do with turbo
control.  It controls a PWM ECM output and checks an extra on/off ECM input.

Only one vehicle/engine combo ever used this ECM.  Because it was never sold
with a turbo, I can't consult factory wiring or repair manuals to see what
the output and input connect to.  What sort of electronically controlled items
might be used in a turbo setup?  During periods of no boost, the PWM output
is turned fully on.  When there is an engine fault, or when the on/off input
is grounded, the PWM output is shut off.  Otherwise, during boost, the PWM
output is varied based on the amount of boost and the throttle position.  I
haven't yet followed through all of the subroutine's logic.  It would help
if I knew what the output controlled.

The MAT sensor polling function is one place that interfaces to the turbo
subroutine.  Whenever there is or recently was turbo boost, this function
does not check the MAT sensor readings against the normal hot and cold
(shorted/open) limits.  In the newer code version, the function still has
vestiges of this logic, though it can never be triggered.  Under turbo boost,
is it reasonable to allow very hot and cold MAT readings?

A related question:  Both versions of this ECM contain an unused block of
code that has something to do with the O2 sensor.  An option bit in the EPROM
selects the "normal" code or the "special" code.  None of the calibrations
used in this ECM select the "special" version.  The "special" code is 234
lines and replaces 105 lines of the "normal" code.

One significant feature of the optional version is that it controls how fast
the O2 sensor filter responds.  Note that this vehicle/engine uses a single
wire (unheated) O2 sensor.  Would a heated sensor need special handling?
Is there something else that would require using the O2 sensor differently?

BTW, I'm not interested in hooking up my own turbo.  I just want to understand
everything that this ECM does.  Besides, a turbo is already available in the
aftermarket.

                   unsigned long BinToBCD(unsigned long i) {unsigned long t;
Ludis Langens         return i ? (t = BinToBCD(i >> 1), (t << 1) + (i & 1) + 
ludis at netcom.com                 (t + 858993459 >> 2 & 572662306) * 3) : 0;}



More information about the Diy_efi mailing list