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


Back to main page

rmorgan.park301@ntlworld.com