Pages: [1] 2 3 ... 26
Author Topic: MED 9.1 basics  (Read 313440 times)
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« on: February 14, 2014, 10:02:30 AM »

Hi guys,

I wanted to check if I understood some basic principles (and they are pretty basic LOL). To begin with, I don’t have an ME7 background and my learnings are pretty much restricted to what we drive at home – 2.0 TFSI (hence my interest in MED9.1). I stress this is basic stuff and has been covered before in huge detail. I found it pretty fascinating though and wanted to get it down in one convenient place that I can come back to.

1)   I began by installing the WinOLS demo version from EVC.
2)   I read out the stock 2048kb flash from the ECU of the car via ODB.
3)   MED9.1 definitions files can be found here and here in the ECU Definition Files section.
4)   Now the definition files are not a perfect match to my flash, so it’s a manual process of aligning my own flash to a similar, already defined flash and transferring the maps over. Easier said than done especially if you’ve never seen it before, but this contribution helped me.
5)   Bosch VAG MED9.1 FDEF
6)   The S4wiki is invaluable to getting started and explains the fundamentals very well (like load Smiley). I also found this write-up on the Audi TT 1.8T Bosch Motronic ME7.x again helped me with the basics. A lot of effort in both.
7)   The MED9.1 threads here and here in the tuning section contain a huge amount of info. Every time I go through them I spot something new.

A big thank you to all of you who created those original posts! That's how new people like me can get started Grin

Question. Here’s the locations of the maps in my stock binary, as far as I can make out. Did I get the locations correct? They are very similar to the locations Rarak posted up at the start of his MED9.1 thread.

« Last Edit: February 14, 2014, 10:04:32 AM by Basano » Logged
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #1 on: February 14, 2014, 10:05:02 AM »

Lots of theory, let's put it into practice!

From the S4wiki:

ME7.1 doesn't really have a "boost" table. It does everything based on "specified load".

First, make sure the 100% torque request (rtlsol) row requests enough load:
KFMIRL - specified load

Specified load/boost will never exceed these limits:
LDRXN - maximum specified load
KFLDHBN - maximum requested pressure ratio

Specifically, on a full throttle pull, your boost profile will follow LDRXN


If I did get the location of those maps correct then here’s what they contain in my flash:

KFMIRL - specified load

RPM vs Requested Torque (%)5007008001000124015202000252030003520400045205000552060006520
4.000911.437510.945310.710910.21889.70319.30478.88288.62508.53138.50788.53138.50788.43758.27348.06257.8281
5.999815.726615.281315.070314.625014.109413.687513.171912.843812.656312.585912.562512.492212.351612.140611.906311.6250
8.000219.992219.617219.429718.984418.539118.070317.484417.039116.804716.687516.593816.453116.289116.031315.750015.4219
13.999932.718832.601632.554732.367231.828131.171930.304729.671929.250028.921928.664128.359428.031327.656327.281326.8359
19.999745.421945.304745.234445.046944.695344.109443.148442.351641.765641.203140.710940.218839.750039.257838.789138.2500
30.000366.656366.375066.234466.000065.859465.320364.335963.398462.531361.453160.539159.742259.156358.617258.101657.5391
39.999488.125087.539187.257886.742286.296986.015685.101683.835982.570381.257880.179779.335978.796978.304777.906377.5313
50.0000109.9922109.4766109.1953108.7031108.1406107.5781106.2891104.4609102.7969101.3672100.335999.585999.210999.046999.070399.3281
60.0006132.3516131.9766131.8125131.4375130.9688130.3125128.8828126.7500124.6875122.9531121.7578121.0313120.8672121.1719121.8047122.8359
69.9997154.9453154.7344154.6172154.3594154.0313153.5625152.5078150.6328148.3828146.1797144.6563143.6953143.5781144.1641145.3594147.1875
80.0003177.6797177.5859177.5391177.4219177.2344176.9297176.0391174.4688172.3594170.0859168.3281167.1563166.9453167.5547168.7500170.4375
90.0009200.3203200.3672200.3906200.4141200.4141200.2969199.7109198.4219196.5234194.1797192.2109190.8281190.4531191.0391192.1875193.6172

The last row is WOT and has plenty of demand (> 190%)

LDRXN - maximum specified load

RPM vs Load (%)1000150017501850200022502500300035004000450050005500600066006800
100.0078118.0078125.0156130.0078140.0156172.0078172.0078172.0078172.0078172.0078175.0078175.0078175.0078168.0000158.0156100.0078

Maximum allowed load here is going to be 172% to 175%. Even if I request 200%, I'll just get 175%.

KFLDHBN - maximum requested pressure ratio

RPM vs Temperature (°C)20003000400050005520600066006760
-20.252.40632.40632.37502.31252.21882.07811.92191.7656
0.002.40632.40632.37502.31252.21882.07811.92191.7656
20.252.40632.40632.37502.31252.21882.07811.92191.7656
40.502.35942.35942.34382.26562.17192.03131.92191.7344
50.252.32812.31252.31252.20312.10942.00001.90631.7188
60.002.28132.26562.26562.17192.07811.96881.87501.6875
70.502.23442.20312.20312.14062.04691.93751.79691.6563
120.002.21882.15632.09382.01561.92191.79691.64061.4844
Logged
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #2 on: February 14, 2014, 10:06:44 AM »

I also took some VCDS logs from the car

TimestampEngine SpeedIntake Air MassLambda Sensor - Current ValueSender 2 for - Acc. Pedal Pos.Throttle Drive - Angle Sensor 1Median - injection timingCurrent - Fuel PressureEngine Load - (specified)Engine Load - (actual Value)Boost Pressure - (specified)Boost Pressure - (actual)Rail Pressure - (actual)
1835.3280023.75117.610.21.024.12171.430.1590102067.67
1835.74284037.690.9824.314.51.534.13171.442.1820105077.12
1836.16284059.030.9932.2202.044.16171.463.91040114087.81
1836.6288092.53196.570.23.574.16171.4114.32040139095.62
1837.032960109.970.9799.699.24.844.16171.4155.620301840100.56
1837.453040113.170.9399.698.85.614.12171.4169.220201960106.76
1837.893120117.280.8999.698.85.874.15171.4172.220101980109.69
1838.333200122.190.8899.698.85.874.17171.4174.419902000109.67
1838.753280122.750.8999.698.85.874.19171.4173.719801990109.22
1839.193400125.280.8899.698.85.874.2171.4171.419701960110.11
1839.623480126.750.8899.698.85.874.2171.4169.219601930109.99
1840.063560129.50.8999.698.85.614.19171.4166.919501910109.16
1840.53640130.580.8899.698.85.614.18171.4166.919501920109.52
1840.923720131.580.8899.698.85.614.17171.4165.419501900109.67
1841.353800137.670.8999.698.85.614.17171.4164.719501910110.44
1841.793880140.310.999.698.85.614.12171.4168.419601930111.08
1842.224000144.330.8999.698.85.614.11171.4168.419601950109.1
1842.664080147.060.8999.698.85.874.04171.4169.219801960110.06
1843.14080720.8899.698.85.874.08172.2168.411601780109.3
1843.5240808.140.91010.20.774.4172.219.5280132088.34
1843.96408012.970.9208.60.514.6172.216.5280112087.31
1844.4404013.890.9909.40.514.36171.416.5280106085.61
1844.83400013.971.9909.404.15171.416.5280104085.05

Putting it all together, I can see that when I put my foot down at WOT the actual engine load increases until it reaches the specified engine load LDRXN and it’s then capped at around 172% (specified engine load), exactly as predicted by the maps!

I said it was basic stuff, but it was nice to actually see it happening Grin

Logged
vdubnation
Turboman
Global Moderator
Sr. Member
*****

Karma: +49/-2
Offline Offline

Posts: 433


« Reply #3 on: February 14, 2014, 12:50:05 PM »

What did you use to read out the Ecu via OBD ? MPPS right ?
Logged
prj
Hero Member
*****

Karma: +1060/-467
Offline Offline

Posts: 5967


« Reply #4 on: February 14, 2014, 04:25:55 PM »

Read the FDEF.
Or if you want to know the full truth, disassemble the code when uncertain.

My advice is - forget all the digested down information on forums, wikis and other things.
They are just the way someone sees things, and you seem like a smart enough guy to just follow reference documentation and make your own mind about how things work, there should mostly be no need to read anyone else's interpretation of things.

Of course knowing German does help.
Logged

PM's will not be answered, so don't even try.
Log your car properly.
nyet
Administrator
Hero Member
*****

Karma: +605/-168
Offline Offline

Posts: 12243


WWW
« Reply #5 on: February 14, 2014, 04:40:05 PM »

Read the FDEF.
Or if you want to know the full truth, disassemble the code when uncertain.

My advice is - forget all the digested down information on forums, wikis and other things.
They are just the way someone sees things, and you seem like a smart enough guy to just follow reference documentation and make your own mind about how things work, there should mostly be no need to read anyone else's interpretation of things.

Of course knowing German does help.

Figuring things out is easy. Writing how you understand things in a way that others can read and understand is hard.

The latter talent is rare. I would say... almost non-existent.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
oldcarguy85
Full Member
***

Karma: +15/-1
Offline Offline

Posts: 247


« Reply #6 on: February 15, 2014, 10:10:41 AM »

hey man!  Nice post!  What is your offset for KFLDHBN?  I'm working on GOLF R ecu and I've found LDRXN (x6), LDRXNZK (x6), LAMFA (x3), KFMIRL but i can't seem to find KFLDHBN.  Looks like our engines are similar since our LDRXN values/etc. are almost identical.  I'd like to try to match up your KFLDHBN values in my flash.

Thanks!
Jordan
Logged
oldcarguy85
Full Member
***

Karma: +15/-1
Offline Offline

Posts: 247


« Reply #7 on: February 15, 2014, 10:20:01 AM »

nevermind! just took the extra 2 minutes and did the math on the values you posted lol.  Found it!
Logged
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #8 on: February 17, 2014, 03:12:51 AM »

What did you use to read out the Ecu via OBD ? MPPS right ?

Correct. Clone version 13.02

Read the FDEF.
Or if you want to know the full truth, disassemble the code when uncertain.

My advice is - forget all the digested down information on forums, wikis and other things.
They are just the way someone sees things, and you seem like a smart enough guy to just follow reference documentation and make your own mind about how things work, there should mostly be no need to read anyone else's interpretation of things.

Of course knowing German does help.

Thank guys. LOL, I only just understood what load means Cheesy so it will be a while before I try any disassembling! The only way I really learn something is if I try and figure it out for myself. I think that’s the same for most people. Honestly though, the wiki helps a lot.

hey man!  Nice post!  What is your offset for KFLDHBN?  I'm working on GOLF R ecu and I've found LDRXN (x6), LDRXNZK (x6), LAMFA (x3), KFMIRL but i can't seem to find KFLDHBN.  Looks like our engines are similar since our LDRXN values/etc. are almost identical.  I'd like to try to match up your KFLDHBN values in my flash.

Thanks!
Jordan

Glad you liked it! Here’s what I’ve got so far.

I couldn’t find KFMIRLS though. Is it possible that both KFMIRL and KFMIRLS could refer to the same eeprom address?

KOMRH
1CC9A0KFMIRL
LDRLMX
1CECE8KFLDHBN
1CED4ALDRXN
1CED8CLDRXN
1CEDCELDRXN
1CEE10LDRXNZK
1CEE52LDRXNZK
1CEE94LDRXNZK
MDFUE
1CC9A0KFMIRL
MDPED
1CBBD4KFPED_0_A
1CBD54KFPED_1_A
1CBED4KFPEDL_0_A
1CC054KFPEDL_1_A
1CC1D4KFPEDL_2_A
1CC354KFPEDR

Also, what definition file are you using to track down your maps? Is it one of the ones posted here? If you have another one, would you mind sharing it Grin

 
Logged
Basano
Full Member
***

Karma: +90/-3
Offline Offline

Posts: 192


« Reply #9 on: February 17, 2014, 03:30:56 AM »

Very basic question, sorry.

Where does the scaling value come from when you look at maps in WinOLS?

The picture shows what I mean.



For example, I know the rpm ranges from 0 to 6000 and the load ranges from 0 to 200%. But all that the map contains are some hex values that are multiplied/scaled by a factor to represent these real world values? Where does that scaling value in WinOLS come from? Is it also in the hex or maybe in the FDEF or only in WinOLS?

I'm asking because if I'm comparing my flash versus a defined flash in WinOLS, I'm really reliant on that defined bin. My scaling could be different, but how could I check?

Thanks
« Last Edit: February 17, 2014, 03:32:32 AM by Basano » Logged
oldcarguy85
Full Member
***

Karma: +15/-1
Offline Offline

Posts: 247


« Reply #10 on: February 17, 2014, 05:40:32 AM »

I'm using the 8P0907115 definition posted in one of the two threads you posted. 

I also can't find KFMIRLS.  Honestly i haven't even googled stratified injection mode yet, but i don't think our engines support it, so they might not have KFMIRLS.  i THINK i found KFMIOPS though, so IDK. Seems KFMIRLS X-axis is different slightly from KFMIRL but Y-axis is the same.  I just can't locate with either.

The scaling is only contained in the definition AFAIK but doesn't change from engine to engine (AFAIK).  You have to rely on your reference definition to have the correct scaling.

Logged
dream3R
Hero Member
*****

Karma: +18/-8
Offline Offline

Posts: 1194


« Reply #11 on: February 17, 2014, 04:36:00 PM »

I'm currently mulling over factors also..

I though maybe it was y=mx+b style equation but was unable to arrive at the same answers when I looked.
Logged



How to work out values from an A2L Smiley

http://nefariousmotorsports.com/forum/index.php?topic=5525.msg52371#msg52371


Starting Rev's http://nefariousmotorsports.com/forum/index.php?topic=5397.msg51169#msg51169

noobs read this before asking http://nefariousmotorsports.com/forum/index.php?topic=9014.0title=


ORGORIGINAL 05 5120 creator for Volvo
ORIGINAL Datalogger (Freeware) Author
ORGINAL finder of the 'extra' torque' limits
I don't have ME7.01 A2L I just use ID
nyet
Administrator
Hero Member
*****

Karma: +605/-168
Offline Offline

Posts: 12243


WWW
« Reply #12 on: February 17, 2014, 07:02:25 PM »

Hint: Most are multiples of 1/256 or 1/65536

also:

http://nefariousmotorsports.com/forum/index.php?topic=3392.msg52332#msg52332
« Last Edit: February 17, 2014, 07:04:35 PM by nyet » Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
dream3R
Hero Member
*****

Karma: +18/-8
Offline Offline

Posts: 1194


« Reply #13 on: February 18, 2014, 07:13:10 AM »


That's kind of what I was getting at so FF or FFFF are the max values etc.

BUT there is a few odd factors that get me confused when I find them, for example:

(ME9 style maps here but ME7 file with DECOS and ME9 style functions)

DSVDGRAD (DSLGRAD in most other ME7 files) is part of %GGPVD and all factors that I've found in A2L's point to a factor of 0.015625.  Also in all ME7 files that I've seen, value of this map in decimal is 540.00.  It doesn't make sense for this to be to be any greater number as it's a factor for calculating v-out to pvdr_w so 4.87v * 540 = 2629.8 for example.  These calculations fall into the realm of the Bosch datasheets that I see for all of the 2500 sensors, including mine.

Now I have disassembled my file and am 100% certain that I have the correct location, if I use the factor of 0.015625 the map value for DSVDGRAD is incorrect and comes to 651.23xxx, obviously the easy method is to back calculate the factor as we know the value should be 540.  But I just can't understand WHY LOL, it's doing my head in...It can't be anything to-do with tick speed as it's not timing/tick based, it's just a factor.  So the max value must be different for some bizzare reason.

So 0.015625 * 65536 = 1024 (max value)

Here is the maths on how to work out factors from the A2L BTW:

(VAG MED9 A2L)

    DSVDGRAD
    "Gradient für Drucksensor vor Drosselklappe"
    VALUE
    0x1C4A14
    KwUw
    1023.984 (Total swing of value)
    dgrad_uw_q0p015 (COMPU_METHOD) - can be shared etc.
    0.00 (min value)
    1023.984 (max value)

 y=mx+b equation:- (0 - 1023.984) = 1023.984 /  (0 - 65536) = 65536 (WORD) + 0 (no offset) = 0.015624755859375

So y = 0.015624755859375 = factor of DSVDGRAD for MED9/ME7 IF the min and max values are as above and the map is a WORD.


Major old edit.......... I was right, but didn't realise sensor was different Smiley


« Last Edit: September 11, 2015, 12:35:02 PM by dream3R » Logged



How to work out values from an A2L Smiley

http://nefariousmotorsports.com/forum/index.php?topic=5525.msg52371#msg52371


Starting Rev's http://nefariousmotorsports.com/forum/index.php?topic=5397.msg51169#msg51169

noobs read this before asking http://nefariousmotorsports.com/forum/index.php?topic=9014.0title=


ORGORIGINAL 05 5120 creator for Volvo
ORIGINAL Datalogger (Freeware) Author
ORGINAL finder of the 'extra' torque' limits
I don't have ME7.01 A2L I just use ID
dream3R
Hero Member
*****

Karma: +18/-8
Offline Offline

Posts: 1194


« Reply #14 on: February 18, 2014, 07:19:54 AM »

Sorry, I meant to attach the ASM picture but forgot.  I can't see any error (pvdr_w is definitely correct).

Logged



How to work out values from an A2L Smiley

http://nefariousmotorsports.com/forum/index.php?topic=5525.msg52371#msg52371


Starting Rev's http://nefariousmotorsports.com/forum/index.php?topic=5397.msg51169#msg51169

noobs read this before asking http://nefariousmotorsports.com/forum/index.php?topic=9014.0title=


ORGORIGINAL 05 5120 creator for Volvo
ORIGINAL Datalogger (Freeware) Author
ORGINAL finder of the 'extra' torque' limits
I don't have ME7.01 A2L I just use ID
Pages: [1] 2 3 ... 26
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.068 seconds with 17 queries. (Pretty URLs adds 0.001s, 0q)