SIMK43 Airflow and Load Model

From OpenGK

This document describes the airflow and engine-load model implemented in the Siemens SIMK43 ca663056 calibration, which should also apply on all other G4GC CVVT calibrations.

It documents how the ECU measures incoming air using the hot-film MAF sensor, independently calculates airflow using the intake-manifold model, determines cylinder air charge, supervises the measured and modeled airflow paths, and integrates the resulting load value into the torque, ignition and fueling systems.

Index

1. General Architecture

The SIMK43 airflow system contains two parallel representations of engine airflow:

  • Measured airflow derived from the physical hot-film MAF sensor.
  • Modeled airflow calculated from engine speed, manifold conditions, valve overlap, temperature and ambient pressure.

These paths ultimately describe the same physical quantity: the mass of fresh air entering the engine.

The MAF sensor measures air travelling through the intake tract, while the combustion system ultimately requires an estimate of the amount of fresh air entering an individual cylinder.

The overall architecture is:

                     AIR ENTERING ENGINE
                            |
             +--------------+--------------+
             |                             |
             v                             v
       HFM / MAF SENSOR           INTAKE MANIFOLD MODEL
             |                             |
             v                             v
      Sensor linearization         RPM / pressure / VVT
             |                     temperature / ambient
             v                             |
      Measured airflow                     v
          [kg/h]                  Modeled engine airflow
             |                          [kg/h]
             |                             |
             v                             v
      Convert using RPM             Convert using RPM
             |                             |
             v                             v
     Measured cylinder             Modeled cylinder
          air charge                    air charge
          [mg/stk]                    [mg/stk]
             |                             |
             +--------------+--------------+
                            |
                            v
                  AIRFLOW SUPERVISION
                            |
                            v
                  FINAL CYLINDER LOAD
                         [mg/stk]
                            |
          +-----------------+-----------------+
          |                 |                 |
          v                 v                 v
       IGNITION           FUELING           TORQUE
                                             |
                                     actual load -> torque
                                             |
                                     torque request -> load

SIMK43 should therefore not be regarded simply as a MAF-based ECU.

It is more accurately described as a model-based cylinder-charge control system using the MAF sensor as its primary airflow measurement.

2. Airflow and Load Units

Siemens uses the term MAF for several related quantities. The engineering unit must therefore always be considered when interpreting a calibration or internal calculation.

MAF sensor signal

  • Unit: V or internal ADC representation
  • Meaning: electrical output of the MAF sensor.

Engine airflow

  • Unit: kg/h
  • Meaning: total fresh-air mass flowing through the complete engine intake.

Cylinder air charge

  • Unit: mg/stk
  • Meaning: fresh-air mass entering one cylinder during one intake event.

Torque

  • Unit: Nm
  • Meaning: indicated or effective engine torque.

The two principal airflow domains are:

MAF_KGH

and:

MAF_CYL

They describe the same airflow from two different perspectives.

MAF_KGH measured in kg/h represents the total airflow of the complete engine.

MAF_CYL measured in mg/stk represents the mass of fresh air entering one cylinder during one intake event.

Most combustion-related calibration maps operate in the cylinder-charge domain.

3. Measured Airflow Path

3.1 MAF Sensor Characteristic

The primary MAF characteristic in ca663056 is:

ID_MAF_TAB

Address:

0x11B4E

This table converts the electrical MAF sensor representation into total engine mass airflow.

Its output is expressed in kg/h.

Functionally:

MAF electrical signal
        |
        v
   ID_MAF_TAB
      0x11B4E
        |
        v
Engine airflow
     [kg/h]

The ca663056 disassembly directly references address 0x11B4E during initialization of the MAF conversion path, confirming that the table is actively used for MAF conversion.

The sensor characteristic can therefore be represented as:

MAF_RAW = ID_MAF_TAB(V_MAF)

This is the stage responsible for converting the physical MAF sensor signal into an engineering airflow quantity.

4. MAF Acquisition and Signal Conditioning

The ECU does not use a single instantaneous MAF sample directly as engine load.

The ca663056 disassembly shows that MAF measurements are accumulated over repeated acquisition periods and subsequently divided by the number of samples.

The measurement path therefore performs averaging before the airflow value is used elsewhere.

Conceptually:

MAF_AVG = Average(MAF_RAW)

The averaged airflow then passes through an operating-point-dependent correction.

The relevant calibration is:

IP_MAF_KGH_MES_FAC

Address:

0x193EC

SAM defines the function as:

IP_MAF_KGH_MES_FAC = f(N, TPS_SEG)

where:

  • N = engine speed
  • TPS_SEG = throttle operating region

The output of this map is a dimensionless correction factor.

The corrected measured airflow can therefore be represented as:

MAF_MES_COR = MAF_AVG x F_MAF(N, TPS)

The resulting quantity remains in:

kg/h

and represents the ECU's corrected physical measurement of total engine airflow.

5. Conversion from Engine Airflow to Cylinder Air Charge

The combustion model itself does not primarily operate in kg/h.

After corrected measured airflow has been obtained, the ECU converts total engine airflow into cylinder air charge using engine speed.

For a four-cylinder, four-stroke engine:

Intake events per hour = (RPM / 2) x 4 x 60

Therefore:

MAF_CYL [mg/stk] =
MAF_KGH [kg/h] x 1,000,000
--------------------------------
(RPM / 2) x 4 x 60

For a four-cylinder engine this simplifies to:

MAF_CYL [mg/stk] = 8333.333 x MAF_KGH [kg/h] / RPM

Example:

400 kg/h at 3000 rpm

MAF_CYL = 1111 mg/stk

At twice the engine speed:

400 kg/h at 6000 rpm

MAF_CYL = 556 mg/stk

The same total engine airflow therefore represents a different cylinder load depending on engine speed.

This distinction is fundamental to the SIMK43 load model.

6. Definition of Engine Load

For the remainder of the combustion-control system, the principal load quantity is cylinder air charge.

Conceptually:

LOAD = MAF_CYL

with units:

mg/stk

The basic conversion chain is:

MAF signal
    |
    v
Engine airflow
   [kg/h]
    |
    v
RPM conversion
    |
    v
Cylinder charge
   [mg/stk]
    |
    v
Engine load

This cylinder-charge quantity is used as the load coordinate by many ignition, fueling and torque-model functions.

7. Independent Intake-Manifold and Cylinder-Filling Model

In parallel with the physical MAF measurement, SIMK43 independently calculates airflow using a model of the intake system and the engine's cylinder-filling characteristics.

The core cylinder-flow model consists of two calibrations.

7.1 IP_EFF_VOL_OFS

Address:

0x1245E

Definition:

IP_EFF_VOL_OFS [kg/h] = f(N, VO)

where:

  • N = engine speed
  • VO = valve overlap

This calibration provides the base airflow offset of the cylinder-filling model.

7.2 IP_EFF_VOL_SLOP

Address:

0x1252A

Definition:

IP_EFF_VOL_SLOP [kg/(h*hPa)] = f(N, VO)

This calibration provides the pressure-dependent slope of the cylinder-filling model.

Together, the two maps describe the relationship between effective manifold pressure and cylinder airflow.

8. Offset and Slope Representation of Cylinder Filling

SIMK43 does not represent cylinder filling using one conventional percentage-VE table.

Instead, airflow is represented approximately as a linear relationship between an effective pressure quantity and airflow.

The basic relationship is:

MAF = S x P - O

where:

O = effective airflow offset
S = effective airflow slope
P = pressure-domain model input
O = IP_EFF_VOL_OFS(N, VO)

and:

S = IP_EFF_VOL_SLOP(N, VO)

The subtraction is performed using an unsigned saturating subtraction.

Therefore the complete relationship is more accurately represented as:

MAF = max(0, S x P - O)

This is important because the offset is not an airflow quantity added to the calculated airflow.

It is subtracted from the pressure-dependent term.

The units remain consistent:

[kg/(h*hPa)] x [hPa] - [kg/h]
=
[kg/h]

The ca663056 executable uses this same slope-minus-offset relationship at several locations in the manifold model.

However, the pressure-domain input is not always the same quantity.

Two important examples are:

MAF_MODEL_BASE =
max(0, EFF_VOL_SLOP x MAP - EFF_VOL_OFS)

and:

MAF_FOR_LOAD =
max(0, EFF_VOL_SLOP x MAP_MODEL_DELTA - EFF_VOL_OFS)

The second equation is particularly important because it is the airflow quantity from which the normal manifold-model cylinder-load value is calculated.

The effective pressure term should therefore not automatically be interpreted as raw manifold pressure in every part of the model.


9. Effect of Valve Overlap

Both base airflow coefficients depend on valve overlap.

O = f(N, VO)

S = f(N, VO)

The model is therefore explicitly aware of camshaft timing.

Changing valve overlap changes the predicted relationship between manifold pressure and cylinder airflow.

Conceptually:

Valve timing
     |
     v
Valve overlap
     |
     v
IP_EFF_VOL_OFS
IP_EFF_VOL_SLOP
     |
     v
Cylinder-filling characteristic
     |
     v
Calculated airflow

VVT therefore forms part of the physical air model rather than being treated only as an independent actuator.

10. Temperature Correction of Cylinder Filling

Cylinder filling changes with intake air temperature and engine thermal state.

The principal temperature-dependent corrections are:

IP_EFF_TIA_FAC

Address:

0x15539

Definition:

F_TIA = f(N, MAF)

This represents the effect of intake-air temperature on the cylinder-filling model.

IP_EFF_TCO_FAC

Address:

0x154F9

Definition:

F_TCO = f(N, MAF)

This represents the effect of coolant temperature on the cylinder-filling model.

The ECU combines the temperature influences into a common correction quantity.

The resulting correction is filtered before it is applied to the cylinder-flow model.

The relevant filtering calibration is:

IP_CRLC_EFF_VOL_COR

Address:

0x154ED

Definition:

CRLC_VE = f(N)

The resulting thermal correction can therefore be represented conceptually as a low pass filter:

F_THERM = LPF[f(TIA, TCO, N, LOAD)]

The filtered result is:

EFF_VOL_TEMP_FAC

Conceptually:

Engine speed
     +
Operating load
     +
TIA
     +
TCO
     |
     v
Thermal correction calculation
     |
     v
EFF_VOL_TEMP_FAC_RAW
     |
     v
IP_CRLC_EFF_VOL_COR
     |
     v
EFF_VOL_TEMP_FAC

The filtered thermal factor is applied to the cylinder-flow slope.

The offset does not pass through the same thermal multiplication path..

11. Ambient-Pressure Compensation

The base cylinder-flow characteristic is also corrected according to ambient pressure.

The relevant calibrations are:

IP_EFF_VOL_OFS_AMP

Address:

0x1251E

Definition:

F_OFS_AMP = f(AMP_AD)

and:

IP_EFF_VOL_SLOP_AMP

Address:

0x125EA

Definition:

F_SLOP_AMP = f(AMP_AD)

Both outputs are dimensionless correction factors.

AMP_AD represents the ECU's adapted ambient-pressure state.

The ambient-pressure corrections modify both the offset and slope of the cylinder-flow characteristic.

12. Corrected Cylinder-Flow Coefficients

The complete cylinder-flow coefficients can be represented as follows.

The base offset is:

O_0 = IP_EFF_VOL_OFS(N, VO)

The base slope is:

S_0 = IP_EFF_VOL_SLOP(N, VO)

The effective offset is:

O_EFF = O_0 x F_OFS_AMP

The effective slope is:

S_EFF = S_0 x F_THERM x F_SLOP_AMP

The corresponding runtime variables are:

O_EFF = EFF_VOL_OFS
        RAM 0xF8CE

S_EFF = EFF_VOL_SLOP
        RAM 0xF8D0

The disassembly shows the slope being corrected by the filtered thermal correction and then by the ambient-pressure correction.

The offset is separately corrected by its own ambient-pressure factor.

The final modeled airflow equation is:

MAF_MDL_KGH = O_EFF + S_EFF x P_EFF

This is the central cylinder-filling relationship of the SIMK43 airflow model.

13. Manifold Filling and Pressure-Ratio Model

The cylinder-flow equation is only one part of a larger dynamic intake-manifold model.

The model maintains several internal representations of airflow and manifold pressure.

One basic airflow calculation is:

MAF_MODEL_BASE =
max(0, MAP x EFF_VOL_SLOP - EFF_VOL_OFS)

The resulting airflow is stored as:

MAF_MODEL_BASE
RAM 0xCC36

It is also converted into a corresponding base cylinder-load quantity:

LOAD_MODEL_BASE
RAM 0xCC38

The manifold model additionally contains pressure-ratio-dependent airflow functions.

These include:

ID_MAF_FAC_OFS

ID_MAF_FAC_OFS = f(PQ_ESTIM)

and:

ID_MAF_FAC_SLOP

ID_MAF_FAC_SLOP = f(PQ_ESTIM)

where PQ and PQ_ESTIM represent pressure-ratio states used by the intake model.

Another coefficient is:

IP_MAF_MDL_CON_1

which provides a temperature-dependent manifold-model coefficient.

The executable combines these quantities with the dynamic manifold state to calculate:

MAF_MODELED_RAW
RAM 0xCC34

This quantity is subsequently filtered to form:

MAF_MODELED
RAM 0xCC88

The model also predicts the evolution of manifold pressure.

Important runtime quantities include:

MAP_MODEL_PRED
MAP_MODEL_ESTIMATE
MAP_MODEL_LIMITED
MAP_MODEL_DELTA

The final pressure difference used by the normal modeled-load calculation is formed as:

MAP_MODEL_DELTA =
MAP_MODEL_LIMITED
-
MAP_MODEL_ESTIMATE

with:

MAP_MODEL_DELTA
RAM 0xCC68

The modeled-load airflow calculation then uses this pressure-domain difference:

MAF_FOR_LOAD =
max(0, EFF_VOL_SLOP x MAP_MODEL_DELTA - EFF_VOL_OFS)

The important consequence is that the normal modeled cylinder load is not calculated directly from raw MAP.

It is calculated from a pressure state produced by the dynamic manifold model.

The overall structure is therefore closer to:

RPM / VVT / temperature / ambient pressure
                     |
                     v
          EFF_VOL_SLOP / OFS
                     |
          +----------+----------+
          |                     |
          v                     v
   Base airflow model      Manifold dynamics
          |                     |
          |               MAP_MODEL_PRED
          |                     |
          |               MAP_MODEL_ESTIMATE
          |                     |
          |               MAP_MODEL_LIMITED
          |                     |
          |                     v
          |              MAP_MODEL_DELTA
          |                     |
          +----------+----------+
                     |
                     v
               MAF_FOR_LOAD
                     |
                     v
              LOAD_VE_MODEL

This also explains why changing IP_EFF_VOL_SLOP or IP_EFF_VOL_OFS does not necessarily produce a directly proportional change in LOAD_VE_MODEL.

The coefficients influence both the airflow calculation and the internal dynamic manifold state from which MAP_MODEL_DELTA is produced.

14. Intake-System Pressure Loss

The intake model also accounts for pressure loss between the outside atmosphere and the pressure available upstream of the throttle.

SAM defines:

IP_AMP_DEC

as:

DELTA_P_INTAKE = f(MAF_THR)

As airflow increases, the pressure loss through the intake tract also increases.

Conceptually:

P_UPSTREAM = AMP_AD - DELTA_P_INTAKE

This upstream pressure participates in the throttle pressure-ratio and manifold-filling calculations.

The model therefore does not assume that atmospheric pressure is always fully available at the throttle inlet.

15. Modeled Airflow to Modeled Cylinder Charge

An important distinction exists between the ECU's modeled airflow and its modeled cylinder-load calculation.

These are related quantities but they are not the same calculation.

15.1 Modeled Airflow

The manifold model first calculates:

MAF_MODELED_RAW
RAM 0xCC34

This value is passed through the modeled-airflow filter.

The resulting quantity is:

MAF_MODELED
RAM 0xCC88

MAF_MODELED is one of the two candidates used by the airflow source selector.

The other candidate is the measured MAF signal.

15.2 Load-Model Airflow

The normal modeled cylinder-load path independently calculates:

MAF_FOR_LOAD =
max(
    0,
    EFF_VOL_SLOP x MAP_MODEL_DELTA
    -
    EFF_VOL_OFS
)

The result is stored as:

MAF_FOR_LOAD
RAM 0xCC32

This airflow is then converted using engine speed into:

LOAD_VE_MODEL
RAM 0xCC7C

For the four-cylinder engine, the engineering relationship is approximately:

LOAD_VE_MODEL [mg/stk] =
8333.333
x MAF_FOR_LOAD [kg/h]
/
RPM

Therefore:

MAF_MODELED

is not simply converted directly into:

LOAD_VE_MODEL

They are separate outputs of the same manifold-model system.

This distinction is fundamental to understanding the later source-selection logic.

16. MAF Pulsation Supervision

The physical MAF signal can become unreliable when intake-flow pulsation or reverse-flow effects become sufficiently large.

SIMK43 therefore contains a dedicated MAF-pulsation supervision system.

One of the principal calibrations is:

IP_MAF_PULS_MAX

Address:

0x12F50

Definition:

MAF_PULS_MAX = f(N)

The measured-MAF routine records the maximum and minimum raw MAF values over the sampling interval.

The spread is calculated as:

MAF_RAW_SPREAD =
MAF_RAW_MAX
-
MAF_RAW_MIN

The spread is then converted into the cylinder-charge domain using engine speed.

The result is stored as:

MAF_PULSATION_AMPLITUDE

The pulsation state is represented by:

FD24.9

When the pulsation state is active, the physical MAF is no longer accepted by the normal airflow-source selector.

Conceptually:

MAF samples
    |
    v
Maximum / minimum spread
    |
    v
Convert spread to mg/stk
    |
    v
Compare with
IP_MAF_PULS_MAX
    |
    v
Debounce / hysteresis
    |
    v
FD24.9
MAF pulsation active

The pulsation state therefore participates directly in airflow-source selection and is not merely a diagnostic indication.


17. Measured-Airflow and Modeled-Airflow Arbitration

SIMK43 contains an explicit source-selection stage between measured and modeled airflow.

The principal source-selection state is:

FD44.8

The executable sets FD44.8 only when the measured MAF is considered suitable for use.

The selection logic can be represented as:

If MAF diagnostic fault is active:
    FD44.8 = 0

Else if MAF pulsation is active:
    FD44.8 = 0

Else if additional MAF/model fallback
qualification is active:
    FD44.8 = 0

Else:
    FD44.8 = 1

The selected airflow is then:

If FD44.8 = 1:

    MAF_SELECTED = MAF_MES


If FD44.8 = 0:

    MAF_SELECTED = MAF_MODELED

The runtime variables are:

MAF_MES
RAM 0xCC26

MAF_SELECTED
RAM 0xCC5C

MAF_MODELED
RAM 0xCC88

The airflow architecture can therefore be represented as:

Measured MAF
MAF_MES
    |
    |
    +-----------+
                |
                v
           FD44.8 selector
                |
                v
          MAF_SELECTED
                ^
                |
    +-----------+
    |
Modeled MAF
MAF_MODELED

However, this airflow-source selector does not by itself determine the final cylinder-load source.

The ECU contains a second and separate arbitration stage for LOAD_FINAL.


18. Final Cylinder-Load Determination

The final cylinder-load logic is more complex than a direct conversion of MAF_SELECTED.

SIMK43 maintains several simultaneous cylinder-load representations.

Important runtime values are:

LOAD_DIRECT
RAM 0xCC2A

LOAD_FINAL
RAM 0xCC30

LOAD_VE_MODEL
RAM 0xCC7C

LOAD_ALT
RAM 0xCC7E

18.1 Direct Measured-MAF Load

The measured-MAF routine converts MAF_MES directly into cylinder charge.

Conceptually:

LOAD_DIRECT =
8333.333
x MAF_MES
/
RPM

LOAD_DIRECT therefore represents the direct cylinder-load equivalent of the physical MAF measurement.

18.2 Alternate Load

Under normal conditions, LOAD_ALT is filtered toward LOAD_DIRECT.

Conceptually:

LOAD_ALT =
Filter(
    previous LOAD_ALT,
    LOAD_DIRECT
)

LOAD_ALT therefore normally follows the measured-MAF-derived cylinder load while providing additional smoothing.

Under some fallback/model states, LOAD_ALT can instead be reconstructed from the manifold model.

LOAD_ALT should consequently be regarded as an alternate working load state rather than as a simple duplicate of LOAD_DIRECT.

18.3 Normal Modeled-Load Candidate

The normal manifold-model branch calculates:

MAF_FOR_LOAD =
max(
    0,
    EFF_VOL_SLOP x MAP_MODEL_DELTA
    -
    EFF_VOL_OFS
)

and then:

LOAD_VE_MODEL =
8333.333
x MAF_FOR_LOAD
/
RPM

18.4 Final Normal-Path Source Selector

After LOAD_VE_MODEL has been calculated, the ECU executes another source-selection stage.

A calibration byte is located at:

0x1045A

Stock ca663056 value:

1

The current reverse-engineering descriptive name is:

C_LOAD_FORCE_VE_MODEL

The official Siemens calibration name has not yet been confirmed.

The executable logic is:

If 0x1045A != 0:

    LOAD_FINAL = LOAD_VE_MODEL


Else:

    If FD44.8 = 1:

        LOAD_FINAL =
        LOAD_ALT x LOAD_ALT_SCALE

    Else:

        LOAD_FINAL = LOAD_VE_MODEL

This means that the stock value:

0x1045A = 1

forces the normal final-load path to use LOAD_VE_MODEL.

This occurs independently of the earlier MAF source selector.

Consequently the following state is completely valid in the stock software:

FD44.8 = 1

MAF_SELECTED = MAF_MES

but:

LOAD_FINAL = LOAD_VE_MODEL

Measured MAF selection therefore does not imply measured-MAF-derived final load.

The ECU contains two distinct decisions:

Decision 1:

Which airflow source is selected?

MAF_MES
or
MAF_MODELED


Decision 2:

Which cylinder-load representation
becomes LOAD_FINAL?

LOAD_ALT
or
LOAD_VE_MODEL
or
diagnostic fallback load

This distinction is one of the most important characteristics of the SIMK43 airflow architecture.

18.5 LOAD_ALT_SCALE

When 0x1045A is zero and the measured MAF is accepted, the normal branch does not copy LOAD_ALT directly.

It applies:

LOAD_FINAL =
LOAD_ALT x LOAD_ALT_SCALE

LOAD_ALT_SCALE is calculated dynamically by the manifold model.

It should therefore not automatically be assumed to equal 1.0.

This scaling allows the alternate measured-air-derived load state to remain coordinated with the dynamic manifold model.

18.6 Alternate and Fallback Load Branches

Additional diagnostic and plausibility states can bypass the normal 0x1045A branch.

Under one alternate branch, when the hard MAF signal diagnostic is not active, the ECU performs:

MAF_FOR_LOAD = MAF_MES

LOAD_FINAL = LOAD_ALT

This branch therefore uses the alternate load directly without passing through the normal LOAD_VE_MODEL / 0x1045A arbitration.

The complete final-load logic is consequently state-dependent.

The 0x1045A selector describes the normal modeled-load branch but is not the only possible route to LOAD_FINAL.

18.7 MAF Signal Diagnostic

The ECU contains a separate electrical/range diagnostic for the physical MAF signal.

The principal calibrated thresholds identified in ca663056 are:

CAL_MAF_SIGNAL_RANGE_HIGH_THRESHOLD
0x105CC

CAL_MAF_SIGNAL_RANGE_LOW_THRESHOLD
0x105D4

The ECU compares MAF_MES against these limits under qualified operating conditions.

The low-airflow check is additionally restricted to a calibrated engine-speed operating window.

After diagnostic qualification and debounce, the ECU produces:

MAF_SIGNAL_RANGE_DIAG_ACTIVE

which causes:

FD46.5 = 1

FD46.5 therefore represents an active MAF signal diagnostic fault.

The airflow source-selection routine also responds to this state by clearing FD44.8.

Conceptually:

MAF signal outside valid range
          |
          v
Diagnostic qualification
          |
          v
MAF_SIGNAL_RANGE_DIAG_ACTIVE
          |
          v
FD46.5 = 1
          |
          +----------------------+
          |                      |
          v                      v
FD44.8 cleared            Fallback load logic

18.8 IP_MAF_TPS_DIAG Failsafe Airflow

SIMK43 contains a dedicated calibrated airflow table for the MAF diagnostic fallback path.

The Siemens calibration name is:

IP_MAF_TPS_DIAG

Address:

0x130DC

RPM axis:

0x10D1F

SAM describes this calibration as:

Limp home mass air flow in kg/h
in case of MAF and TPS failure

In the ca663056 executable, the table is used in the hard MAF-fault fallback branch to produce MAF_FOR_LOAD.

The resulting airflow is converted directly into LOAD_FINAL using engine speed.

Conceptually:

MAF diagnostic fallback state
          |
          v
IP_MAF_TPS_DIAG(N)
          |
          v
MAF_FOR_LOAD
          |
          v
RPM conversion
          |
          v
LOAD_FINAL

The ca663056 calibration contains the following breakpoints and airflow values:

RPM       MAF fallback

512        9 kg/h
800       13 kg/h
1504      15 kg/h
2016      20 kg/h
3008      27 kg/h
4992      30 kg/h

IP_MAF_TPS_DIAG is therefore a replacement-airflow calibration.

It is not the threshold used to determine whether the MAF sensor is faulty.

The MAF fault decision is made by the separate signal-range diagnostic described above.


19. Reference Torque Model

The principal forward relationship between cylinder charge and torque is:

IP_TQI_REF

Address:

0x14D68

Definition:

TQI_REF = f(N, MAF_CYL)

where:

  • MAF_CYL is cylinder fresh-air charge in mg/stk.
  • TQI_REF is reference indicated torque in Nm.

The function therefore represents:

Cylinder air charge
      [mg/stk]
          |
          v
     IP_TQI_REF
          |
          v
Reference indicated torque
          [Nm]

This map describes the torque the engine is expected to produce from a given amount of cylinder fresh air.

The load quantity ultimately presented to the surrounding combustion and torque functions is based on LOAD_FINAL.


20. Torque Loss Model

Indicated torque is not identical to torque available at the crankshaft.

SIMK43 separately models friction and pumping losses.

The principal calibration is:

IP_TQFR

Address:

0x14AE0

Definition:

TQFR = f(N, MAF_CYL)

This represents base friction and pumping losses as a function of engine speed and cylinder load.

Conceptually:

TQ_EFFECTIVE =
TQI
-
TQ_FRICTION
-
TQ_PUMPING
-
TQ_ACCESSORY
-
other losses

The torque system therefore combines the calculated indicated combustion torque with independently calculated engine losses.


21. Inverse Torque-to-Air Model

SIMK43 also contains the inverse relationship between torque and cylinder air charge.

The relevant calibration is:

IP_MAF_SP

Address:

0x12F5C

Definition:

MAF_SP = f(N, TQI_SP)

The output is:

mg/stk

This calibration converts desired indicated torque into the cylinder air charge required to produce that torque.

The two principal torque/air relationships are therefore:

Forward model

MAF_CYL -> TQI

through:

IP_TQI_REF

and:

Inverse model

TQI_SP -> MAF_CYL_SP

through:

IP_MAF_SP

Together, these functions form the central air-to-torque and torque-to-air relationship of SIMK43.


22. Air-Charge Control Objective

Once the torque system has calculated a desired cylinder charge:

MAF_CYL_SP

it can be compared with the estimated actual cylinder charge represented by the ECU's working load state.

Conceptually:

E_AIR =
MAF_CYL_SP
-
MAF_CYL_ACT

The air-path controller can then act on the available air-control actuators, mainly the idle-air actuator because the main throttle is mechanically cable operated.

This illustrates why the SIMK43 torque-control structure is fundamentally based around cylinder air charge rather than throttle angle alone.


23. IVVT Airflow Prediction

SIMK43 contains an additional airflow estimator associated with the IVVT system.

One relevant calibration is:

IP_MAF_IVVT_1

Address:

0x193A4

SAM definition:

IP_MAF_IVVT_1 [mg/TDC]
=
f(N_32, TPS)

SAM describes this map as:

Calculated value for mass air flow
when no TPS error is present

The associated calibration family includes:

  • IP_MAF_IVVT_2 - calculated airflow used when a TPS error exists.
  • IP_MAF_TPS_FAC - throttle-position weighting used by the IVVT airflow calculation.
  • IP_MAF_ADD_ISAPWM - calculated additional airflow through the idle-air actuator.
  • IP_MAF_FAC_TIA - intake-air-temperature correction for the IVVT airflow calculation.

The ca663056 disassembly confirms a direct reference to:

IP_MAF_IVVT_1
0x193A4

A second one-dimensional lookup immediately following this table is located at:

0x193E4

Its position, size and lookup form are consistent with the Siemens IP_MAF_IVVT_2 calibration.

The executable reference to IP_MAF_IVVT_1 occurs in the knock-reference calculation.

The calculated value is combined with the knock-reference operating-point factor before the final knock-reference factor is filtered.

Therefore this IVVT airflow estimator is not the source used directly to write:

MAF_FOR_LOAD

or:

LOAD_FINAL

during the main airflow/load calculation.

The IVVT estimator should therefore be distinguished from both:

Main manifold / cylinder-filling model:

IP_EFF_VOL_OFS
IP_EFF_VOL_SLOP

and:

MAF diagnostic fallback:

IP_MAF_TPS_DIAG

The three systems serve different purposes.

Conceptually:

IP_EFF_VOL_OFS / SLOP
        |
        v
Main manifold and
cylinder-load model


IP_MAF_IVVT_1 / 2
        |
        v
Auxiliary IVVT airflow estimate
used by IVVT-related /
knock-reference calculations


IP_MAF_TPS_DIAG
        |
        v
Diagnostic substitute airflow
for MAF fallback


24. End-to-End Functional Sequence

24.1 Measured-Air Path

MAF electrical signal
        |
        v
Sensor conversion
        |
        v
Repeated sampling
        |
        v
MAF_RAW_AVG
        |
        v
Measured-airflow scaling
        |
        v
MAF_MES
kg/h
        |
        +--------------------------+
        |                          |
        v                          v
LOAD_DIRECT                   MAF source
mg/stk                        supervision
                                   |
                                   v
                             MAF_SELECTED

24.2 Modeled-Air Path

RPM
Valve overlap
Ambient pressure
TIA
TCO
Throttle / manifold state
        |
        v
IP_EFF_VOL_OFS
IP_EFF_VOL_SLOP
        |
        v
Temperature correction
        |
        v
Ambient correction
        |
        v
EFF_VOL_OFS
EFF_VOL_SLOP
        |
        +--------------------------+
        |                          |
        v                          v
Static / dynamic             Dynamic manifold
airflow model                pressure observer
        |                          |
        v                          v
MAF_MODELED_RAW             MAP_MODEL_DELTA
        |                          |
        v                          v
Filtering                  EFF_VOL slope/offset
        |                          |
        v                          v
MAF_MODELED                 MAF_FOR_LOAD
                                   |
                                   v
                              RPM conversion
                                   |
                                   v
                             LOAD_VE_MODEL

24.3 Airflow and Load Arbitration

The two arbitration stages are separate.

AIRFLOW SOURCE SELECTION

MAF_MES ------------------+
                          |
                          v
                       FD44.8
                          |
                          v
                    MAF_SELECTED
                          ^
                          |
MAF_MODELED --------------+

The final load is selected separately:

LOAD_DIRECT
    |
    v
LOAD_ALT -----------------------------+
                                       |
                                       |
LOAD_VE_MODEL -------------------------+----+
                                            |
                                            v
                              Final load-source logic
                                            |
                               0x1045A / status bits
                                            |
                                            v
                                       LOAD_FINAL

A measured MAF can therefore be selected while the final cylinder load still comes from the manifold model.


25. Complete Mathematical Model

25.1 Measured Airflow

MAF_RAW_AVG =
Average(MAF samples)

The averaged signal is converted using the ECU's runtime MAF conversion scale:

MAF_MES =
Scale(
    MAF_RAW_AVG,
    MAF_CONVERSION_SCALE
)

25.2 Direct Measured Cylinder Charge

LOAD_DIRECT =
8333.333
x MAF_MES
/
RPM

25.3 Base Cylinder-Flow Coefficients

O_0 =
IP_EFF_VOL_OFS(N, VO)

S_0 =
IP_EFF_VOL_SLOP(N, VO)

25.4 Corrected Cylinder-Flow Coefficients

O_EFF =
O_0
x F_OFS_AMP
S_EFF =
S_0
x F_THERM
x F_SLOP_AMP

where:

O_EFF = EFF_VOL_OFS

S_EFF = EFF_VOL_SLOP

25.5 Base Modeled Airflow

MAF_MODEL_BASE =
max(
    0,
    MAP x S_EFF
    -
    O_EFF
)

25.6 Dynamic Pressure State

MAP_MODEL_DELTA =
MAP_MODEL_LIMITED
-
MAP_MODEL_ESTIMATE

25.7 Modeled Load Airflow

MAF_FOR_LOAD =
max(
    0,
    MAP_MODEL_DELTA x S_EFF
    -
    O_EFF
)

25.8 Modeled Cylinder Load

LOAD_VE_MODEL =
8333.333
x MAF_FOR_LOAD
/
RPM

25.9 Selected Engine Airflow

If FD44.8 = 1:

    MAF_SELECTED = MAF_MES


Else:

    MAF_SELECTED = MAF_MODELED

25.10 Normal Final-Load Selection

If C_LOAD_FORCE_VE_MODEL != 0:

    LOAD_FINAL =
    LOAD_VE_MODEL


Else if FD44.8 = 1:

    LOAD_FINAL =
    LOAD_ALT
    x LOAD_ALT_SCALE


Else:

    LOAD_FINAL =
    LOAD_VE_MODEL

The stock ca663056 calibration uses:

C_LOAD_FORCE_VE_MODEL = 1

at:

0x1045A

25.11 MAF Diagnostic Substitute Airflow

In the appropriate diagnostic fallback state:

MAF_FAILSAFE =
IP_MAF_TPS_DIAG(N)

followed by:

LOAD_FINAL =
8333.333
x MAF_FAILSAFE
/
RPM

25.12 Forward Torque Model

TQI_REF =
IP_TQI_REF(
    RPM,
    LOAD_FINAL
)

25.13 Inverse Torque Model

MAF_CYL_SP =
IP_MAF_SP(
    RPM,
    TQI_SP
)


26. Functional Interpretation

The SIMK43 airflow architecture can be divided into five principal functional layers.

1. Measurement

The physical MAF signal is sampled, averaged and converted into measured total engine airflow.

The same measured airflow is directly converted into LOAD_DIRECT.

2. Physical Manifold Model

An independent dynamic intake-manifold model predicts airflow and manifold state using engine speed, valve overlap, pressure, temperature, ambient conditions and intake-system behaviour.

3. Airflow Source Arbitration

The ECU chooses between:

MAF_MES

and:

MAF_MODELED

to produce:

MAF_SELECTED

4. Cylinder-Load Arbitration

The ECU independently maintains and arbitrates between:

LOAD_DIRECT
LOAD_ALT
LOAD_VE_MODEL
diagnostic fallback load

to produce:

LOAD_FINAL

The stock ca663056 calibration explicitly permits the selected MAF to remain the physical sensor value while LOAD_FINAL is forced to the manifold-model-derived LOAD_VE_MODEL.

5. Torque Coordination

The ECU converts final cylinder air charge into estimated torque and requested torque back into required cylinder air charge.

The resulting architecture is therefore not simply:

MAF sensor
    |
    v
Engine load

Instead it is:

             MEASURED AIRFLOW
                    |
                    +----------------+
                    |                |
                    v                v
              LOAD_DIRECT       MAF source
                    |           arbitration
                    |                |
                    v                v
                LOAD_ALT       MAF_SELECTED
                    |
                    |
                    +---------------------------+
                                                |
                                                v
                                      FINAL LOAD ARBITRATION
                                                |
                                                v
                                           LOAD_FINAL
                                                ^
                                                |
                    +---------------------------+
                    |
                    v
          MANIFOLD / CYLINDER MODEL
                    |
                    +----------------+
                    |                |
                    v                v
              MAF_MODELED      LOAD_VE_MODEL

Physical airflow measurement and the independent manifold model therefore remain parallel throughout a significant part of the ECU.

The selected airflow source and the selected cylinder-load source are related, but they are not identical decisions.

This separation explains how the ECU can use the physical MAF sensor as the accepted airflow source while still using the modeled cylinder-filling value as the authoritative final engine load.