I've been reading through the funktionsrahmen to try to get a better understanding of how the MSS54 calculates the final fuel pulsewidth and I have some questions I haven't seen addressed. Maybe this is common knowledge from the M3F days but the mega thread is long lost and I can't find exact answers to this. Ultimately, I'd like to turn off enrichment for catalyst protection on my S54 swapped E30, but I don't currently have a wideband installed so I want to make sure I'm doing this safely.
I have 2 main questions:
1. How exactly are the two main fuel tables, KF_TI_N_RF and KF_TI_N_RF_VL used? I can't find any direct reference to these tables in the funktionsrahmen, but I think that may be because it is actually for an MSS60. What I did find is a reference to two correction factors used in 'steady state' operation, KF_TI_MK_N_WI and KF_TI_MK_N_WI_VL. The resulting variable, ti_mk_f_stat, from either of these tables, depending on the operating mode, is used as a scalar to the final fuel injection quantity any time the engine is in 'running' mode. Are these two tables (KF_TI_MK_N_WI and KF_TI_MK_N_WI_VL) just different names for KF_TI_N_RF and KF_TI_N_RF_VL from the publicly available XDFs? I based on the naming and their use in engine running mode, I think the answer is yes, but I want to get confirmation before proceeding.
Secondary to that, what is the general understanding of the purpose of KF_TI_N_RF and KF_TI_N_RF_VL?
KF_TI_N_RF appears to essentially be a fudge factor table used for areas where the MAF control strategy may not properly account for the amount of air trapped in the cylinder, or fuel short-circuiting into the exhaust. The 1st row of the table is quite surprising, showing a 12-30% scalar. The entire 870-1200rpm region is also surprisingly high. Is this really just a catch-all for anything not accounted for in the rest of the calculations?
KF_TI_N_RF_VL seems to be the primary full-load power enrichment cal, but again I'm looking for confirmation here because the values are a bit surprising. 20% enrichment in the mid range seems reasonable (.83 lambda), but 10% up top (.9 lambda) seems fairly lean, but is likely about LBT for these engines. Does cat protection enrichment pretty much always kick in anytime you hit high engine speeds at full load? For anyone who has logged with a wideband, what lambda or AFR do stock cars with cats run up top?
2. How is the transition from closed loop lambda = 1 operation to open loop power enrichment handled? The funktionsrahmen indicates that the 'lambda controller' is switched off if load is above a threshold KL_LA_N for a period of time from K_LA_T_TL. It also states that the lambda controller is switched off if the engine speed is greater than threshold K_LA_N_VL AND the operating state is FULL LOAD. The variable B_VL, is referenced, which I interpret to mean boolean vollast, i.e. a boolean flag that indicates full load operation. However, not all of these parameters seem to exist in the MSS54 XDFs.
KL_LA_N: Exists but is set to 1.5 for all engine speeds. RL of 1.5 isn't possible on this engine so it seems this isn't used.
K_LA_T_TL: Not in the XDF
K_LA_N_VL: Exists and is set to 120rpm
My interpretation based on these calibrated values is that the 1st method is effectively cal'd out, and K_LA_N_VL is calibrated such that open loop power enrichment will be entered at any running engine speed as long as B_VL == 1. So that raises the question, what are the conditions that set B_VL ==1? Accelerator pedal position?
I have 2 main questions:
1. How exactly are the two main fuel tables, KF_TI_N_RF and KF_TI_N_RF_VL used? I can't find any direct reference to these tables in the funktionsrahmen, but I think that may be because it is actually for an MSS60. What I did find is a reference to two correction factors used in 'steady state' operation, KF_TI_MK_N_WI and KF_TI_MK_N_WI_VL. The resulting variable, ti_mk_f_stat, from either of these tables, depending on the operating mode, is used as a scalar to the final fuel injection quantity any time the engine is in 'running' mode. Are these two tables (KF_TI_MK_N_WI and KF_TI_MK_N_WI_VL) just different names for KF_TI_N_RF and KF_TI_N_RF_VL from the publicly available XDFs? I based on the naming and their use in engine running mode, I think the answer is yes, but I want to get confirmation before proceeding.
Secondary to that, what is the general understanding of the purpose of KF_TI_N_RF and KF_TI_N_RF_VL?
KF_TI_N_RF appears to essentially be a fudge factor table used for areas where the MAF control strategy may not properly account for the amount of air trapped in the cylinder, or fuel short-circuiting into the exhaust. The 1st row of the table is quite surprising, showing a 12-30% scalar. The entire 870-1200rpm region is also surprisingly high. Is this really just a catch-all for anything not accounted for in the rest of the calculations?
KF_TI_N_RF_VL seems to be the primary full-load power enrichment cal, but again I'm looking for confirmation here because the values are a bit surprising. 20% enrichment in the mid range seems reasonable (.83 lambda), but 10% up top (.9 lambda) seems fairly lean, but is likely about LBT for these engines. Does cat protection enrichment pretty much always kick in anytime you hit high engine speeds at full load? For anyone who has logged with a wideband, what lambda or AFR do stock cars with cats run up top?
2. How is the transition from closed loop lambda = 1 operation to open loop power enrichment handled? The funktionsrahmen indicates that the 'lambda controller' is switched off if load is above a threshold KL_LA_N for a period of time from K_LA_T_TL. It also states that the lambda controller is switched off if the engine speed is greater than threshold K_LA_N_VL AND the operating state is FULL LOAD. The variable B_VL, is referenced, which I interpret to mean boolean vollast, i.e. a boolean flag that indicates full load operation. However, not all of these parameters seem to exist in the MSS54 XDFs.
KL_LA_N: Exists but is set to 1.5 for all engine speeds. RL of 1.5 isn't possible on this engine so it seems this isn't used.
K_LA_T_TL: Not in the XDF
K_LA_N_VL: Exists and is set to 120rpm
My interpretation based on these calibrated values is that the 1st method is effectively cal'd out, and K_LA_N_VL is calibrated such that open loop power enrichment will be entered at any running engine speed as long as B_VL == 1. So that raises the question, what are the conditions that set B_VL ==1? Accelerator pedal position?

Comment