ECU PICS TO ACCOMPANY
SEPTEMBER 2004 MAGAZINE
Lifting the Lid on the AW11 ECU Part 4
This article expands on part 3 and shows the actual maps for the MR2’s
fuelling, and what they mean. As the fuel mapping is more straightforward on the
mk1a (89661-17030) I will concentrate on this ECU. I will cover the mk1b
89661-17140 ECU later.
Mk1a Density Maps
As described back in part 3 the first map that gets consulted by the ECU is
the coarse ‘density’ map. This is a simple 2D graph of MAP sensor vs fuel duty.
There is one map for below 3200rpm and one for above. This map should be a
straight line according to the Universal Gas Law outlined back in part 3. As you
can see from the graph below it IS (nearly) a straight line! The bump in the
line close to maximum MAP sensor levels would cause a slight degree of over
fuelling at high load, probably on purpose to protect the engine. The density
map shown is for engine speeds above 3200rpm. The map for below 3200rpm is
pretty much the same…
Map1
Following this is a fine density correction map (not shown) that provides
finer resolution for the mapping. As the coarse map is a straight line with
interpolation between points, the fine map seems unnecessary (perhaps I’m
missing something here?). Once these maps have been consulted the ECU has a
16bit initial value for the fuelling. It then needs to add correction factors
due to various sensor inputs to achieve the final 16bit value for the fuelling.
The Need for Speed…
As outlined in part 3 the ECU first needs to correct the above 16bit value
with respect to engine speed. This is because the cylinder filling vs map sensor
is not constant with engine speed. Again, there are two maps for this, one for
when above 3200rpm and one when below.
This map is a little more interesting! Ignore the actual scaling given for
the mixture correction, just look at the shape. You will see what I mean when
you see the overall fuelling curves below.
In theory it should show the change in cylinder filling as the rpm changes.
This is best at peak torque (5000rpm on the MR2) so this is where the engine
should require the most fuel per revolution. As you can see, the ECU continues
to add even MORE fuel for engine speeds above 5000rpm. An over rich fuel mixture
doesn’t really degrade the power unless the mixture is really rich so this is a
good way to cool and protect the engine at high engine speed (at the expense of
economy). The ‘zero line’ relates to a zero correction factor which indicates
that the engine speed correction factor is zero at around 5200rpm (so maybe the
>3200rpm density map was originally created with the engine spinning at
5200rpm?)
Note the mini peak at around 4000rpm and the little dip just after this. I
have no idea why this is there but I do recall that most torque curves I have
seen for the 4AGE engine show a similar response with a dip at around 4500rpm.
This must be a characteristic of this engine!
The combination of the mapping shown so far provides the main steer for the
fuel calculation for the ECU. However, as mentioned in part 3 there are more
correction maps to follow! At high load AND high rpm the ECU consults an extra
rpm correction map. On the mk1a this has mapping points at 1800, 2600, 3000,
6200, 6450, 6650 and >6650 rpm.
Map2
This odd looking map is shown above. This provides tighter control of the
fuelling when driving the car really hard. As you can see it actually reduces
the fuelling above 6400rpm. You can also see how crude this correction map is as
it does not interpolate between map points which leads to the ‘staircase’
effect.
Just to complicate things, at high rpm and very high load AND high throttle
the ECU switches in an auxilliary correction factor. According to the ROM code
this kicks in at 6300rpm and richens the fuelling curve by a fixed offset. This
seems to counter the lean off effect above!
Hot Air
After all this there is a correction 2D map for air temperature. This is a
fairly dull straight line as expected from the Gas Law so I have not included it
here. Cooler air is denser so the correction factor richens the mixture as the
temperature drops, and vice-versa.
Virtual AW11 ECU?
It is very difficult to visualise how all these 2D maps combine to provide
the overall fuelling for the mk1a. To overcome this I carefully rewrote all the
ECU ROM assembly code for the fuelling (complete with all the above maps) across
to Intel 8086 assembly code so I could emulate the ECU fuelling program on a PC.
The PC CPU therefore runs the same routines as the ECU and emulates it exactly.
This took a while to do but it provides an insight into the overall (final) ECU
fuelling for MAP sensor vs rpm. It also has inputs for throttle and air
temperature and assumes a fully warm engine. See the graph below which shows the
PC emulator output.
Map3
This shows how the 16bit fuelling increases with increasing engine load
whilst at high throttle.
The bottom curve is for minimum load and the top is maximum load. At lower
throttle settings the whole set of curves fall. I have not included the lower
throttle emulation graphing.
The top 3 curves show where the high load (crude) correction map kicks in and
you can see the fuelling change above 6000rpm. At 6300rpm the auxilliary
correction factor can clearly be seen to suddenly ‘lift’ the curve. I guess the
question is ‘why bother with this funny fuel mapping above 6000rpm?’ Perhaps
that sudden dip down and step up of fuel at around 6100-6400rpm serves some
important purpose. To me it hardly seems worthwhile!
Theory vs Practice
With my ECU datalogger (described in part 1) I am able to test drive the MR2
and datalog the final 16bit fuelling over time. I fitted a mk1a 89661-17030 ECU
to my t(rusty) ‘test’ mk1b, F61 LCH and in the graph below you can see the
results of me flooring the throttle at low rpm and letting the car rev through
to 7200rpm in second gear. This causes max engine load and in theory the
datalogged EFI trace (the top trace) should look similar to the top trace on my
emulator output. As you can see, it’s pretty close! Also note the sub 10mpg fuel
economy (bottom trace) when at full throttle in second gear. Trackdayers take
special note!!
Map4
The datalogged fuel curve is not quite as steep as the top emulator curve,
but this is explained by the fact the MAP sensor can be seen to gradually tail
off on the (real) datalogged results which tends to gradually mute the gradient
of the fuel curve. This gradual pressure drop with increasing rpm could be due
to the hideous mk1b air intake plumbing! However the general EFI curve shape is
correct, with the mini peak at 4000rpm and the ‘odd’ fuelling at above 6000rpm.
It’s good to see theory and practice agree and it proves I’m not just making
this all up…
Notice also how the rpm trace sags a bit at around 6300rpm. This shows that
the car loses acceleration at this point. It seems to pick up again once the
fuel leans off above 6600rpm. I would guess the overfuelling at 6300rpm is
robbing the engine of power. (remember though, this is a mk1a ECU run in a mk1b)
At the left end the EFI trace can be seen to briefly go off the scale at around
2400rpm. This is due to the ECU’s response to my flooring the throttle suddenly.
It briefly enriches the fuelling with a narrow spurt of fuel to improve throttle
response. More about this in a later article! Once this settles the EFI trace
follows the same shape as the emulator.
The datalogged ignition timing trace can be seen as well. Note that the
datalogged timing includes the TVIS ignition advance correction factor above
4350rpm.
For comparison, the graph shown below is the ‘max load’ ignition timing curve
held in the ECU ROM for the mk1a as seen in part 2 (there are 8 load curves in
all which create the overall 3D ignition map). This graph below includes the
correction factor for the timing when the TVIS kicks in. As you can see, this
graph agrees with the IGN TRACE on the datalogger graph! Remember, the timing is
shown as the 8bit value of advance, and NOT in degrees BTDC.
map5
With all these graphs to squeeze in, that’s probably enough info for this
part. In the next part I’ll cover the 89661-17140 ECU in a similar fashion. If
you think the mk1a fuelling looks odd, just wait till you see the mk1b! There
are lots of other things to cover as well (as hinted at in part 3) but these
will have to wait for a later article. Cheers!
Jeremy Ross
Members
wanting back issues of the club magazines carrying Jeremy's articles should
contact the editor