VW EA888 Combustion Modes (Configuring MPI)
Introduction
Combustion modes are used by the VAG simos ECU’s is used to give the OEM calibrates the ability to assign a given set of operating conditions a value that can be used to specify a set type of output parameters, trigger different functions, the value that is signed can be given priorities and limits for application which allows the OEM calibrators to use separate modules (like cat heating, scavenging, stop\start) and give them a set ignition and fueling type from a single central function.
It appears to primarily focused on what Types of injection are being used (MPI, MPI & DI, stratified DI etc) but it will also control other items like ignition, cam fuel pressure and other setpoints like this. As EcuTek Tuners we are mostly concerned with controlling the use of the Port Injectors.
Our current understanding maps out to have the following in normal operating modes it uses
the Operation Point (OPP) to select a standard combustion mode slot (there are 49 slots total, 0-48),
then a translation of the slot to a defined combustion mode is performed (there are 39 modes total 0-38),
the priorities and inhibits applied to each combustion mode then applied.
Fall back combustion and transition modes etc are applied if he mode targeted can't be achieved
After which the inhibit disables are applied and the final combustion mode target is decided.
the maps are defined in the Combustion Mode Manager Tree
Factory Behavior
Simos 18.1 EU6c have 39 combustion modes (CMB) that are available during different operating modes of the engine performance envelope.
To further understand what CMB modes are seen during normal running, a drive of a development vehicle was captured from a cold start to various loads monitoring “Present CMB Mode”.
27 (Cold start - 3 high pressure stratified (S) until 45 deg C coolant) -> 16 (Cat heating for more than a minute secs suction direct injection(SDI) and S) -> 0 (SDI at light loads until 45 deg C) -> 2 (SDI + S till 4000 rpm high load -> 0 (SDI at high load).
Warms starts were observed to be 26 (two high pressure stratified), followed by no cat heating or warming after, if the engine coolant temp was greater than 45 deg C. During periods of acceleration from sub 2000 rpm with the turbo spooling, engine can enter into a scavenging mode 4 or 6
This is shown in the Ecutek EU6c calibration for MPI supplementary operation, leaves all light load CMB functions, cat heating and starting the same as OE, but from ~90 Nm, replaces mode 2 and 0 with a new mode 9 i.e. MPI + SDI.
Combustion Mode descriptions
the list of combustion modes (this is not the slot but what the slot is assigned to)
No. | Comb Mode | Description |
0 | OPP_1 | Multiple injection operating point (1. pulse) |
1 | OPP_2 | Multiple injection operating point (2. pulse) |
2 | OPP_2_S_1 | Multiple injection operating point (2. pulse stratified injection) |
3 | OPP_3_HOMS_S | Multiple injection operating point (2. pulse hom-stratified and 3.pulse stratified injection) |
4 | SCAV_OPP_1 | Multiple injection operating point for scavenging (1 pulse) |
5 | SCAV_OPP_2 | Multiple injection operating point (2. pulse) |
6 | SCAV_OPP_2_S_1 | Multiple injection operating point for scavenging (2. pulse stratified injection) |
7 | SCAV_OPP_3_HOMS_S | Multiple injection operating point for scavenging (2. pulse hom-stratified and 3.puls stratified |
8 | OPP_MPI_1 | MPI single injection operating point |
9 | OPP_MPI_2 | Mixed operation injection operating point (MPI/HOM) |
10 | OPP_MPI_2_S | Mixed operation injection operating point (MPI/Stratified Injection) |
11 | OPP_MPI_3 | Mixed operation injection operating point (MPI/HOM/HOM) |
12 | OPP_MPI_3_S_1 | Mixed operation injection operating point (MPI/HOM/Stratified Injection) |
13 | OPP_MPI_4_S_2 | Mixed operation injection operating point (MPI/HOM/Stratified Injection/Stratified Injection) |
14 | CH_1 | Multiple injection for catalyst heating (1. pulse) |
15 | CH_2 | Multiple injection for catalyst heating (2. pulse) |
16 | CH_2_S_1 | Multiple injection for catalyst heating (2. pulse stratified injection) |
17 | CH_3_S_2 | Multiple injection for catalyst heating (2. and 3. pulse stratified injection) |
18 | CH_MPI_1 | MPI single injection for catalyst heating |
19 | CH_MPI_2_S | Mixed operation injection for catalyst heating (MPI/Stratified Injection) |
20 | CH_SA_2_S_1 | For catalyst heating with secondary air (2. pulse stratified injection) |
21 | CH_SA_3_S_1 | Mixed catalyst heating with secondary air (3rd pulse stratified injection) |
22 | CH_SA_MPI_2 | Mixed catalyst heating with secondary air (MPI/HOM) |
23 | PF_2_S_1 | Multiple injection for Particulate Filter Regeneration (2. pulse stratified injection) |
24 | PF_3_S_1 | Multiple injection for Particulate Filter Regeneration (2. and 3. pulse stratified injection) |
25 | ST_H_1_S | Single stratified injection by high pressure start |
26 | ST_H_2_S | Multiple stratified injection by high pressure start (2. pulse) |
27 | ST_H_3_S | Multiple stratified injection by high pressure start (3. pulse) |
28 | ST_H_3_S_2 | Multiple HOM/S/S injection by high pressure start |
29 | ST_H_4_MPI_S_2 | Multiple injection by high pressure start with Mixed operation (MPI/HOM/S/S) |
30 | ST_L_1 | Single injection homogeneous by low pressure start |
31 | ST_L_1_MPI | MPI single injection by low pressure start |
32 | ST_L_2_MPI | Mixed operation injection by low pressure start (MPI/HOM) |
33 | ST_L_1_H | Single injection homogeneous by low pressure start with high pressure request |
34 | STST_H_1_S | Single stratified injection by high pressure start for StopStart |
35 | STST_H_2_S | Double stratified injection by high pressure start for StopStart |
36 | STST_INTR_H_1_S | Single stratified injection by high pressure start for StopStart Change of Mind |
37 | STST_PREP_INTR_H_1_S | Single stratified injection by high pressure start for preparation of a potential StopStart Change of |
38 | RAMP_MPL_TRAN | Transition between modes / pulses |
There are 31 different inhibit disable flags which have the below description
Inhibit Disable Code | Inhibit Disable Description |
TI_MIN_MPI_HPDI | Index for predicted TI_MIN inhibition in case of inhibition of MPI injector pulse by operation in HPDI mode |
TI_MIN_HPDI_MPI | Index for predicted TI_MIN inhibition in case of inhibition of 1 HPDI injector pulse by operation in MPI mode |
AST | Index for setting or clearing a combustion mode over a time or cycle counter after start threshold |
FUP | Index for setting or clearing a combustion mode via fuel pressure |
SCAV | Index to inhibit combustion mode for scavenging (used also as bitfield position index in LF_CMB_MOD_INH) |
TI_MIN_HPDI_1_PLS | Index for TI_MIN inhibition in case of inhibition of 1 HPDI injector pulse |
TI_MIN_HPDI_2_PLS | Index for TI_MIN inhibition in case of inhibition of 2 HPDI injector pulses |
TI_MIN_HPDI_3_PLS | Index for TI_MIN inhibition in case of inhibition of 3 HPDI injector pulses |
KNK_MPI | Index inhibitor for MPI knock threshold |
ER_BAL | Combustion mode inhibit index requested by cylinder balancing |
MPI_INJ_LIM | Index for combustion mode inhibition in case of MPI fuel injection phase |
N_2_VB_INJ | Index for setting or clearing a combustion mode via engine speed and battery voltage hysteresis by double injection |
N_3_VB_INJ | Index for setting or clearing a combustion mode via engine speed and battery voltage hysteresis by triple injection |
MPI_INJ_ERR | Index for combustion mode inhibition in case of MPI injector failure |
DI_INJ_ERR | Index for combustion mode inhibition in case of DI injector failure |
MPI_STAT_SCAV | Index for MPI combustion mode inhibition depending on scavenged mass air flow through the cylinder |
MPI_LAMB_AD | Index for MPI combustion mode inhibition for lambda adaptation |
MPI_WUP_CST | Index for MPI combustion mode inhibition for warm up / cold start |
MPI_INJ_PURGE | Index for combustion mode inhibition in case of MPI injector purge |
MPI_FUSL | Index for setting or clearing a MPI combustion mode due to Fuel Supply Control / limp home modes, Component adaptations (FUSL). |
HPDI_INJ_LIM | Index for setting or clearing a combustion mode by limitation of injection due to injection range violation |
MIS_MPI | For MPI by misfire detection on HPDI injector |
MIS_HPDI | Index for setting or clearing a HPDI combustion mode due to misfire |
MPI_FUP_EFP | Index for setting or clearing a combustion mode via fuel pressure EFP |
MPI_FL | Index for setting or clearing a combustion mode in full load |
GEOL_DI | For HPDI by/during garage end of line test |
GEOL_MPI | For MPI by/during garage end of line test |
HPDI_AST_TRAN_DLY | Index for setting or clearing a combustion mode by passing a number of cycles after start to suppress the transition delay to MPI |
MPI_AFT_PUC | Index for inhibit MPI mode after pull fuel cutoff (PUC) |
HPDI_FQ | Index for setting or clearing a combustion mode in case of high FAC_FQ level (bad fuel) |
HPDI_CRCV | Index for setting or clearing a combustion mode for crank-case ventilation |
Combustion Mode Priority
Combustion mode slots are given value for combustion mode priority assignment. The priority with which a request will be realised can be set via this array. This calibration can be also used to define the so named ’fallback scenario’ which means that more than one request will be called once with different priority factors.
The default request OPP_1 will get always the minimum priority i.e. C_NR_CMB_MOD_PRI_REQ [0] = 1.
Calibrating the Combustion modes
Combustion modes are primarily used to enable Port injection at high load regions or in cars that do not natively have port injection enabled (most US cars). The combustion desired to use for Port injection and homogenous DI injection at the same time is
9 | OPP_MPI_2 | Mixed operation injection operating point (MPI/HOM) |
The OEM OPP maps calibration in EU cars is set up to call for the following modes when the thresholds are exceeded
Operating Point Map | Activation Thresholds | Slot | Combustion Mode allocated |
1 | Used Full Time (all torques and all RPM) | 0 | 0 |
2 | High Torque up to 4000 RPM | 2 | 2 |
3 | High Torque up to 2600 RPM | 3 | 3 |
4 | 330Nm Torque up to 2500 RPM | 6 | 6 |
5 | Low Torque 3600RPM | 9 | 8 |
6 | Low torque 0rpm | 12 | 10 |
The strategy for EU cars call for the following modes
CMB No. | Comb. Mode alloc. Code | Description |
0 | OPP_1 | Multiple injection operating point (1. pulse) |
2 | OPP_2_S_1 | Multiple injection operating point (2. puls stratified injection) |
3 | OPP_3_HOMS_S | Multiple injection operating point (2. puls hom-stratified and 3.puls stratified injection) |
6 | SCAV_OPP_2_S_1 | Multiple injection operating point for scavenging (2. puls stratified injection) |
8 | OPP_MPI_1 | MPI single injection operating point |
10 | OPP_MPI_2_S | Mixed operation injection operating point (MPI/Stratified DI Inj.) |
To set up Port injection to run at high Load on a car that does not natively have Port injection you should. Configure the operating points torque of and RPM thresholds of OPP point 6 to be active under the torque and RPM that is desired, in the EcuTek Dev car, the RPM and torque setpoints were set to enable OPP6 full time from 4000RPM using the min and max torque thresholds.
and the combustion mode slot reassigned to combustion mode slot 11
which is mapped (translated) to combustion mode 9 using the actual mode for slot map.
9 | OPP_MPI_2 | Mixed operation injection operating point (MPI/HOM) |
The OEM inhibit maps are set so that each mode cannot be inhibited in the disable bit for slot 11. to ensure that all injection modes can be used these have all been disabled.
Inhibit Disables
the split factor must also be set up so that the MPI actually needs to be active, the split maps for the OPP_MPI_2 we set to deliver 100% DI until high load high RPM as the PI system is stock in this car.
For cars without MPI natively the combustion mode standard number of pulses needs to be increase as it does not have the extra pulse available from the MPI system as standard.
The input axis for this map can be related to the following modes, the output of the map is limited to a max 4 even if a higher value is set.
0 | OPP_1 | DI single injection (HOM) |
1 | OPP_2 | DI double injection (HOM/HOM) |
2 | OPP_2_S_1 | DI double injection (HOM/S) |
3 | OPP_3_HOMS_S | DI triple injection (HOM/HOMS/S) |
4 | SCAV_OPP_1 | Combustion mode index multiple injection operating point for scavenging (1 pulse) |
5 | SCAV_OPP_2 | Combustion mode index multiple injection operating point for scavenging (2. pulse) |
6 | SCAV_OPP_2_S_1 | Combustion mode index multiple injection operating point for scavenging (2. puls stratified injection) |
7 | SCAV_OPP_3_HOMS_S | Combustion mode index multiple injection operating point for scavenging (2. puls hom-stratified and 3.puls stratified injection) |
8 | IS_OPP_1 | DI single injection (HOM) for idle |
9 | OPP_MPI_1 | MPI pulse |
10 | OPP_MPI_1_FLB | MPI pulse fall back mode |
11 | OPP_MPI_2 | MPI plus DI single injection pulse (MPI/HOM) |
12 | OPP_MPI_2_S | MPI plus DI single injection pulse (MPI/S) |
13 | OPP_MPI_3 | MPI plus DI double injection pulse (MPI/HOM/HOM) |
14 | OPP_MPI_3_S_1 | MPI plus DI double injection pulse (MPI/HOM/S) |
15 | OPP_MPI_4_S_2 | MPI plus DI triple injection pulse (MPI/HOM/S/S) |
If a US Non MPI car is using a Low Side fuel pressure sensor this will need to be configured properly as well. If an OEM sensor is used the scaling should be set like this
Reference example file
There is an example DIff file here with the settings to enable MPI on a car without it natively installed. Please use as an example setting only.
If you have any Questions please contact Support@ecutek.com