Applies To The Following Mazda Vehicles:
- 2006-2007 Mazdaspeed6, Mazda 6 MPS, Mazdaspeed Atenza
- 2007-2013 Mazdaspeed3, Mazda 3 MPS, Mazdaspeed Axela
- 2007-2012 Mazda CX-7
Over the years, I've answered quite a few questions on how exactly the Mazda MZR DISI 2.3l Turbo load targeting logic works. So, I thought I'd take some time to put together a clear diagram showing the load targeting logic. For those used to simpler but less consistent boost targeting, this may be helpful when converting to a load based tune.
The process starts with the accelerator pedal position (APP) input. APP and the current gear are the only input that the driver controls. The ECU looks at RPM, current gear, boost air temperature (BAT), and barometer (Baro) and does table lookups to find load limits for each input. It then compares all of the limits against the requested load from the APP requested load lookup table and returns the lowest value of them all.
Next, the ECU applies load reduction if necessary to prevent overboosting when shifting up or down. The inputs for this lookup are current RPM, previous RPM, and current gear. The output of this lookup is a multiplier value. The multiplier is applied to the initial requested load output from the previous step resulting in a new requested load value.
Next, the ECU looks at the current injector duty cycle (IDC), operating load, and mass airflow sensor (MAF) volts. If any of these values are above allowed limits, the ECU reduces the requested load until they are below the limit. The output of this process is the requested load that is sent to the boost control solenoid duty cycle (BCS DC) calculation code.
That same requested load value is then sent to an air density compensation calculation. This calculation looks at inlet air temperature (IAT) and baro to adjust the requested load for the drive by wire (DBW) throttle table lookup.
These various compensation calculations after the initial requested load lookup explain why you sometimes see BCS DC and DBW values in your logs that are different from what you expect based on the APP input.
The diagram below should help: