OEM algorithms (DSM)
Ed Carryer
carryer at cdr.stanford.edu
Thu Nov 10 18:03:03 GMT 1994
2) In another part of the code, the ECU is trying to decide whether
or not to even run oxy feedback at all. It takes a look
at the amount of air and compares it against two tables that
are indexed by RPM. It ends up with three bands of air flow
vs. RPM (split by the two tables). In the low air band, it
will run oxy feedback. In the mid air band, it will run
oxy feedback for 20 secs before going open loop. In the high
air band, it won't run oxy feedback at all. Now, I can under-
stand what the ECU is trying to accomplish at low and high
air amounts. But I can't see what it is trying to avoid in
the mid air band. I was thinking it might be due to oxy
sensor overheating or something, but my friend tells me
they actually enjoy operating at high exhaust temps.
I can't say for certain why,
but it is probably emissions related.
The range of speed load combinations encountered
on an emission cycle is fairly well known.
(easily determined for a given vehicle/inertia class)
It involves a lot of relativly light loads with
a few excursions (the 'hills' you may hear referred to).
These excursions are short, so if you know that the
load is high enough so as to only be occuring during
one of the hills, you also now you won't be there for
very long. If you find yourself there for too long,
you know you are not running an emission test,
and can choose to optimize a bit for drivability
rather than just emissions. Hence three ranges:
1 surely to be encountered for long periods
2 only to be encountered for short periods
3 should never be encountered on an emissions test
P.S. After wading through 12k of OEM code for a few months (and this was
code written in the late 80's on an 8bit micro), I just don't
see how a handful of people in their spare time could even
come close to the complex cases handled by a manufacturer
with years of experience. I've also dumped an ECU (4k ROM) from
the early 80's that was much much simpler, and I don't even think
I'd ever think of every case covered by that simpler ECU.
It's really not all that hard to get something that will run
an engine better than a carb.
which, after all, is the alternative.
You can get probably 70-80% of the way to an oem controller
with just the info that I've seen posted here in the past
week or two (I'm fairly new to the list)
The remainder are probably things you are not incredibly
interested in:
optimum emissions
cold start from -40
reduced shift harshness
real-time diagnostics
egr control...
the list goes on and on.
so don't be discouraged by the complexity in a
production controller, you don't need most of it.
Unless you are dieing to know how *their* controller
works, you would be better off studying the info posted
here and working on your own implementation,
or adding some data aquisition circuitry to your car
and watching *what* they do, rather than trying to
figure out *how & why*, since without inside info
we'll never know why.
(the exception to this is
fishing for neat programming hacks ;)
ed
--
More information about the Diy_efi
mailing list