SIMK43 Airflow and Load Model
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.
