# Adaptation Channel Explanation



## [email protected] Technik (Mar 25, 2003)

AN EXPLANATION OF ADAPTATION CHANNELS
This will be an explanation of the adaptation channels in VW/Audi ECUs,
how they can be modified, and what effect they have on engine operating
parameters.
Adaptation channels allow VW/Audi dealers to make minor tweaks to engine
operating parameters (e.g. engine idle speed adjustment). These
settings can be modified using the dealer's diagnostic equipment or
VAG-COM.
These settings are stored in a serial eeprom which means the settings
will not be lost if the ECU loses power. This is the same eeprom that
stores data that can change from time to time like diagnostic trouble
codes. This serial eeprom is different from the flash memory chip that
stores the main engine control program, and therefore changes made to
adaptation channels will not affect code checksums.

As an example, let us take a VR6 owner who is happy with the performance
of his engine but would like to have his speed limiter raised. There is
an adaptation channel that can be used to raise or lower the speed
limiter setting, and if there were a way to change this adaptation
channel then there would be no need for this owner to even buy a chip.
He would be able to continue running with bone stock ECU programming
with no worries about a dealership detecting a chip (since there is no
chip), and if he were particularly worried he would simply restore the
default factory setting before bringing the car in for service.

So, he connects to his ECU with VAG-COM, goes to adaptation channel 7,
and tries raising the speed limiter. But it doesn't work: the commands
that request the setting of new adaptation channel values have built in
limit checks and reject the new values. In this particular case, the
speed limiter related adaptation channel is effectively disabled since
the stock ECU programming limits the control range so that the only
valid value is zero (i.e. no change).

So the issue boils down to this: is it possible to change these adaptation
channels in such a manner that the original factory limits are bypassed?
There are two possible approaches. First, one can make a chip with the
preset adaptation channel limits extended to allow a larger adjustment
range. Second, one can bypass the VAG adaptation channel routines and
directly place the new adaptation channel settings into the ECU.
Changing the preset adaptation channel limits in a chip is the only
option for VAG group diesel ECUs, Magneti Marelli ECUs, and older Bosch
ECUs. These codes check the adaptation channel limits after the values
have been read out of the serial eeprom. Motronic 7 ECUs do not do this
check which opens up the second method.

Directly transferring the new adaptation channel values into the ECU
works by finding the RAM memory location where the ECU stores the
adaptation channel data and directly writing the changes to those RAM
memory locations. When the ignition key is turned off the ECU enters a
housekeeping mode where among other tasks the modified adaptation
channel data is written into the serial eeprom. This roundabout method
is required because memory writes directly to the serial eeprom are
blocked.
Interestingly, this method will not work using the VAG mode protocol.
Write access is allowed to any ECU RAM location except those locations
that store the serial eeprom data. Someone at Bosch clearly knew about
this vulnerability and took measures to close this loophole. But for
some reason this loophole was left in the KWP2000 routines.
Each ECU code stores this adaptation channel data in different RAM
locations. To make this method work with any ECU one runs through the
following steps: 1) Establish communications with the ECU using KWP2000
mode; 2) Read data directly from serial eeprom (since read access is
allowed); 3) Search for this data in the ECU's RAM; 4) Write the new
adaptation channel settings to the RAM location; 5) Cycle ignition key
to have ECU transfer the new settings into the serial eeprom.
The KWP2000 protocol is not as reliable as the VAG protocol. Some cars
will have communications problems which often can be worked around by
pulling the instrument cluster fuse (make sure VAG-COM will be able to
clear you air bag DTC light before doing this!!!).

Using the KWP2000 protocol gives one the ability to change settings in
any VAG Motronic 7 ECU regardless of whether the ECU is stock or
chipped.

------------------------------------------------------------------------
[Adaptation Channel Functions]
This lists all Bosch Motronic 7 adaptation channels with a typical
factory VAG control range and the maximum possible control range
if one were to directly write changes to the serial eeprom.
Note that Bosch Motronic 7 codes have differences in what adaptation
channels are actually implemented.

Channel 1: Additive Engine Idle Speed Offset
This channel allows one to adjust the engine idle speed in steps of 10
rev/min.
Typical VAG control range : -50 rev/min to +50 rev/min
Maximum possible control range : -1280 rev/min to +1270 rev/min
Channel 2: Tweak on fuel enrichment based on increasing loads (i.e. accel pump)
This channel adjusts a fuel enrichment term that is proportional to load
rate of change and that acts to enrich full when the engine load is
increasing. This is equivalent to an accelerator pump function
Typical VAG control range : 100% to 110%
Maximum possible control range : 0% to 200%
Channel 3: Tweak on fuel enrichment based on decreasing loads
This is very similar in function to channel 2 but adjusts a term
that works to decrease fuel when engine load is decreasing.
Typical VAG control range : 90% to 100%
Maximum possible control range : 0% to 200%
Channel 4: Tweak on Startup Fuel Enrichment
This adjusts the startup fuel enrichment term.
Typical VAG control range : 100% to 110%
Maximum possible control range : 0% to 200%
Channel 5: Tweak on Warmup Fuel Enrichment
This adjusts the warmup fuel enrichment term.
Typical VAG control range : 90% to 100%
Maximum possible control range : 0% to 200%
Channel 6: Lambda Regulation
This tweaks a lambda regulation system's narrowband oxygen sensor
cycle time in steps of 10 milliseconds.
Typical VAG control range : -100 ms to +100 ms
Maximum possible control range : -1280 ms to + 1270 ms
Channel 7: Additive Offset On Speed Limiter
This is allows one to adjust the speed limiter in steps of 1 kmh.
Typical VAG control range : 0 kmh (no adjustment allowed)
Maximum possible control range : -128 kmh to + 127 kmh
Channel 8: Secondary Fuel Tweak
This adjusts the main fuel term.
Typical VAG control range : 100% to 110%
Maximum possible control range : 0% to 200%

Channel 9: Additive offset on ignition timing angle
Allows one to shift the ignition timing angle up or down in steps of
0.75 degrees.
Typical VAG control range : No adjustment allowed
Maximum possible control range : -96 Degrees to +95.25 Degrees
Channel 10: Primary Fuel Tweak
This adjust the main fuel term.
Typical VAG control range : No adjustment allowed
Maximum possible control range : -25% to +24.8%
Channel 11: Unused
Typical VAG control range : No adjustment allowed
Maximum possible control range : -128 to +127
Channel 12: Specified Engine Load Scaling Factor (Turbocharged cars only)
This factor allows one to scale the specified engine load. The default
value comes set at the maximum value, so specified engine loads can only
be reduced with this adaptation channel.
Typical VAG control range : only 100% allowed (no adjustment allowed)
Maximum possible control range : 0% to 100%
Channel 13: Control Bits
These control bits affect engine idle control.
Typical VAG control range : limited to 2 control bits
Maximum possible control range : 8 different control bits can be set
or cleared
Channel 14: Additive Offset To Idle Torque
This channel allows one to raise the minimum torque maintained at idle.
Typical VAG control range : 0 to 31 (arbitrary units)
Maximum possible control range : 0 to 255 (arbitrary units)
-----------------------------------------------------------------------
Adaptation channels used by various Bosch Motronic 7 VW/Audi Group codes:

Channel Turbo Naturally
# Charged Aspirated FSI
---- -------- -------- ---------
1 YES YES YES
2 YES YES YES
3 YES YES YES
4 YES NO NO
5 YES NO NO
6  YES NO NO
7 YES YES YES
8 YES YES YES
9 YES YES NO
10 YES NO YES
11 NO NO NO
12 YES NO NO
13 YES YES YES
14 YES YES YES

-----------------------------
[Checking and resetting adaptation channel settings using VAG-COM]

Adaptation channel settings can be checked, tweaked according to the
preset factory limits, and reset to the factory defaults using VAG-COM.
Connect to the car's ECU by opening the "Select Control Module" screen
from the start screen, then select the "01-Engine" Module. Once
you are connected to your ECU open the "Adaptation-10" screen.
You can cycle through each adaptation channel. For each channel you will have the currently stored adaptation value read in; you can then enter a new test value and press the "Test" button to see whether the new value is acceptable to the ECU; then you can hit the “Save” button to store the new adaptation value.
If you would like to restore all adaptation channel factory defaults you can save a test value of “000” to channel zero.
The following shows the factory default adaptation channel settings:
Channel Factory
# Default
------- -------
1 128
2 128
3 128
4 128
5 128
6 128
7 128
8 128
9 128
10 128
11 128
12 255
13 0
14 0

Revo Technik


----------

