Maps - 2D Formatted Maps     ML3.1 & Later


Home
Definitions
ML1.1 & M1.1-not the same?
Hex Numbers
AFM Types
AFM ML1-Flow Meter Table
AFM ML1- Specification         Early Porsche 944
AFM ML3-Transfer Function   Standized 1984
AFM Refurbishing-How to....
Checksum Correction-Part 1
Checksum Correction-Part 2
Checksum Correction-Simple
DME - ML1.2 Photos
DME - ML3.1 Photos
DME - Four DMEs in One...       ML3.1 Map Sets
DME - Rigged for Prototyping
DME - Finding ECU Numbers
DME - Firmware Numbers
FQS - Fuel Quality Switch
Ignition Advance
Lambda Inside
Maps - 2D Formatted Maps     ML3.1 & Later
Maps - 3D Formatted Maps     ML3.1 & Later
Maps - Map Address Table
Maps - MapFinder
ML1.2 Memory-Porsche 944
Motronic Split-ROM Memory
ML3.1 Memory-Porsche 944
ML3.1 Memory-Porsche 911
Rev Limiter- Types 1 & 3
Rev Limiter- Type 2
RPM - Engine RPMs
email us

What are maps? Maps are lookup tables. Maps are preloaded responses to engine conditions.  An engine parameter like engine "RPM" is measured [or calculated] by the Motronic ECU.  A map is used to determine (lookup) the correct "FUEL" level.  In this page we are looking at the 2D Map.

A map is not just tabulated data but a complex data structure, see below. Here is an example of a simple 2D (two dimensional) map. It is from a Porsche 911 and it is for Fuel at Wide Open Throttle. Fuel level vs. engine rpm is stored in this map. The map consists of 20 bytes of data highlighted in Orange. Axis break points are in  Green.

Example #1 - Porsche 911- Wide-Open-Throttle Fuel Map (FWOT)

3E 14 0A 08 25 28 05 0E 03 07 04 01 01 01 01 01 01 01 01 01 03 60  
7A 79 7D 7F 8D 8D 7C 7D 7E 7F 80 82 84 85 87 88 89 8A 8B 87

Red Axis-Type designator (IRAM memory address with current values).  3E in this example is engine RPMs
Blue Size - 14h or 20
Green 20 data values - for this example it is engine RPM Axis values 
Orange 20 data values - for this example it is fuel levels

Example #2 - Porsche 911 - Idle Fuel Map (FNOT) - How Axis Break-Points are Determined
Porsche 911 Fuel Map at Idle  -  Map Address 14EDh  -  We are using a smaller map for this example

3E 0A 07 03 08 18 03 05 05 05 05 B5 6D 6A 6A 6A 6A 6A 6A 6A 6A 6A

Column A below is the row numbers 1 to 22
Column B is the raw Hex code
Column C is the converted data
Column D is the conversion formulas

A B C

D

 Descriptions

row 1 3Eh  First digit - describes the map type  -  IRAM (or Descriptor)
row 2 0Ah  Second digit - Hexadecimal "A" - this is 10 decimal. 10 RPM values and 10 Fuel levels.
row 3 07h 400 <---  C4 - [Hex2Dec(B3)] x 40 Rows 3 through 12, there are 10 engine RPM values

The base number, row 12, is decremented by each of the previous rows 11 through row 3. Working up.

Each hex number (converted to decimal) is multiplied by 40.  Then it is subtracted from the row below it. 

The base number, row 12, is created by subtracting hex number from 256 then multiplied by 40 .

row 4 03h 680 <---  C5 - [Hex2Dec(B4)] x 40
row 5 08h 800 <---  C6 - [Hex2Dec(B5)] x 40
row 6 18h 1120 <---  C7 - [Hex2Dec(B6)] x 40
row 7 03h 2080 <--   C8 - [Hex2Dec(B7)] x 40
row 8 05h 2200 <--   C9 - [Hex2Dec(B8)] x 40
row 9 05h 2400 <--  C10 - [Hex2Dec(B9)] x 40
row 10 05h 2600 <--  C11 - Hex2Dec(B10)] x 40
row 11 05h 2800 <--  C12 - [Hex2Dec(B11)] x 40
row 12 B5h 3000 <--  [256 - Hex2Dec(B12)] x 40 The base number - Maximum engine RPM of map
row 13 6Dh 109 <-- Hex2Dec(B13) Rows 13 through 22, there are 10 Fuel levels, Range in values from 106 to 109.

Notes 
Hex2Dec

 

 2007 FR Wilk 

row 14 6Ah 106 <-- Hex2Dec(B14)
row 15 6Ah 106 <-- Hex2Dec(B15)
row 16 6Ah 106 <-- Hex2Dec(B16)
row 17 6Ah 106 <-- Hex2Dec(B17)
row 18 6Ah 106 <-- Hex2Dec(B18)
row 19 6Ah 106 <-- Hex2Dec(B19)
row 20 6Ah 106 <-- Hex2Dec(B20)
row 21 6Ah 106 <-- Hex2Dec(B21)
row 22 6Ah 106 <-- Hex2Dec(B22)

Download file for these examples at: 0261200082_1267355236_90FE_Porsche_911_ML3.1.bin


  Sponsored by