Hello,
I`ve opened this topic to be a guide/reference for those who have this ECU fitted on their cars.
Topics that I would like to cover in this topic are (not only me, anyone who have info can post it here):
1. Axis / factors.
2. Map types (8bit, 16bit LoHi, 16bit HiLo).
3. Map order (if it`s there an standard order like KRKTE after FKKVS).
4. Fueling maps.
5. Turbo maps.
6. Ignition maps.
7. Limiters.
8. Checksum regions (how much they are, how to calculate on modified file without any external tool).
9. What maps should be edited for a basic tune (without changing any engine component).
1. Axis / factors:Any two dimensional map (actually 3D) ia represented by X, Y and Z dimensions.
X and Y are the Axis and Z is value at a specified X & Y value.
Some maps has axis just before map start, and looks like: 0006 0012 0011 0012 .... 0016 0001 0002 .... 0012
First is X axis, second is Y axis, then first 6 bits are X axis values without factor applyed, after this, we have 12 bits that represents Y axis values.
Each kind of axis (rpm, load, etc) has a predefined factor.
Ex:
Lambda: 0.007813
Rpm: 40.00000 (sometimes they have other values, like 0.75000 and 0.250000 as limiter)
Boost limiter: 0.001563
% Pedal: 0.001526
Load: 0.023438
Generally, factor 40 on rpm is applyed when rpm is the Y axis.
2. Map types:8 bit (1 byte) maps are maps that each byte represents 1 value. That number is from 0 to 255 (256 values), but it can be also -128 to 128.
16 bit maps (2 bytes) are 2 types of this kind of map:
Let`s say we have this 8 bit data:
89 AB CD EF
16 bits HiLo will be
AB89 EFCD
while 16 bits LoHi will be
89AB CDEF
16 bits maps are easy to recognize when searching from maps in 8 bit mode because most of them consit in a chain of low value high value
Decimal example:
12 250 18 143 52 99 120 255
3. To be...
4. Here`s a list of main fueling maps:LAMFA - Lambda driver request
DLAMOB - Lambda with overboost
DLAMTANS - air temperature-dependent enrichment
KFLAFWL - Offset lambda target engine
KFLAMKR - weighting factor for enrichment with ignition retard
KFLAMKRL - enrichment at ignition retard
LAMFAS - barrier driver's Lambda
GANGFAW - transition threshold for disabling drivers in the amount desired
DLAMFAW - threshold driver command via activation of enrichment
KFLF - Lambda at part load map
KFLBTS - lambda components for protection
KFFDLBTS - Delta lambda factor for component protection
KFDLBTS - lambda for component protection
DLBTS - lambda for component protection
FBSTABGM - component protection factor dependent model. Exhaust gas temperature
FBSTMOT - offset component protection function of motor temperature
TABGBTS - exhaust gas temperature threshold - Component protection
DTBTS - temperature hysteresis protection for components
TKATBTS - Kat-temperature threshold for component protection
TIKATBTS - threshold temperature in the catalytic converter components for protection
TVLBTS - delay time protection components lambda
ZLBTS - time constant lambda - component protection
ZDLBTS - time constant delta lambda - component protection
TVUB - voltage correction
KRKTE - rk translation relative fuel mass in effective injection time
CWLAMFAW- Codeword LAMFAW
FKKVS - correction factor fuel supply system
KVB - constant for consumption display
FKVA - constant conversion factor for consumption display
Maybe they`re more.
5. Turbo maps:KFMIOP - optimum engine torque map
KFMIRL - map for calculating target charge
FRLMNHO - height correction factor RLmin about
KFLDRQ1 - LDR controller parameters Q1 (Integratorbeiwert)
LDRQ0S - controller parameters Q0 LDR PID controller in stationary mode
LDRQ1ST - Q1 PID controller parameters in stationary mode (integration factor)
KFLDRQ2 - map LDR controller parameters Q2
KFLDRQ0 - control parameters LDR Q0
LDRQ0DY - LDR controller parameters Q0
LDRQ1DY - Q1 PID controller parameters in dynamic mode (integration factor)
KFLDIAPL - adaptation correction value integral component
KFRBGOF - offset for I component limiting LDRPID
KFLDIMX - map LDR I, controller limitation
KFLDIWL - I LDR correction limit during warmup
LDIATA - I-limit correction LDR Rgler PID as a function of Tan
KFLDIOPU - correction of the TV values ??by height influence
NLDIAPU - speed threshold limit for adaptation I
LDDIMXN - safety distance LDR I, controller limitation
LDDIMNN - safety distance LDR I, controller limitation negative
TLDIAPN - debounce for tracking I-positive adaptation
KFLDRL - KF for linearizing boost = f (TV)
NDLDRAPU - speed threshold for LDRA error path error path LDO and healing
KFVPDKLD - Max permissible pressure ratio DK for diagnosis LDRA
LDRXNZK - maximum charge of LDR in continuous knocking
LDRXN - maximum charge of LDR
RLKRLDA - RI threshold for slow LDR intervention (adaptation)
TLKRLDAB - slow time constant for lowering LDR
TLKRLDAU - time constant for slow LDR control
TSKRLDAB - time constant for fast LDR reduction
TSKRLDAU - time constant for fast LDR control
KFFSLDE - LDR factor for rapid intervention (reduction)
KFFLLDE - factor for slow loading pressure engagement on rlmax by KR
KFFWLLDE - weighting factor for slow loading pressure engagement on rlmax by KR
KFFLDEO - factor to boost engagement on overboost value by KR
KFTARXB - underlying map maximum charge of Tans correction factor
KFTARXZK - map maximum charge of Tan's correction factor for continuous knocking
KFTARX - map Maximum level Tans correction factor
KFLDHBN - LDR altitude limitation (maximum compressor pressure ratio)
LDPBN - LDR p-limiting case of excessive engine temperature
LDORXN - maximum charge of LDR at E_ldo (overcharge error)
UMDYLDR - dynamic switching threshold LDR
CWLDIMX - code word for application processes KFLDIMX / KFLDIOPU
KFWPLGTA - map for weighting factor base boost pressure as f (tans)
KFLDDIMNN - safety distance LDR I, controller limitation negative
KFMI_UM - map of optimal engine torque monitoring function
LDRAPP - fixed value for LDR application without coordination Md
KFLDRAPP - map for LDR application without coordination Md
KFTVLDRE - map Tastverhältnisersatzwert for LDR
LDRPBU - P controller parameter LDR back up regulator
TVLDMN - lower duty cycle limitation for LDR
TVLDMX - the upper duty cycle limitation for LDR
In my opinion, a good tuning for a stock car can be done in few steps after reading current maps:
1. Calculate how much fuel can be inserted into cylinder at high revs.
2. Calculate air that is needed to completelly burn that fuel with best torque/power
3. Calculate if current turbocharger can actually give enaugh boost at high rev to have a fair AFR.
Those was "before".
4. Increase turbo boost (KFMIOP, KFMIRL, LDRXN, LDRXNZK, KFLDRL).
4.1 increase only first 3 maps until knocking appear (you can see that on VCDS for example, when advance is retarding).
5. Increase fueling (drivers wish) until knock dissapears at all revs and increase a little bit more then repeat step 4 few times until you get turbo pressure calculated at point #3.
5.1 If at specified boost you cannot provide enaugh fueling to mantain lambda, decrease boost a little bit.
6. Increase spark advance if needed (not so sure wich is the best way, but maybe increasing until knock and then retarding in 2 degrees steps should be just fine).
If you want to run lean at some points and rich to others, edit KFLF, LAMFA, LAMFAS before step 4.
If you encounter issues with fueling, try to optimise FKKVS map.
P.S. I`m a beginner in this branch and for me is just a passion, maybe a lot of my knowledge is wrong, but as is a discussion forums, anyone can contribute.