Basano
Full Member
Karma: +90/-3
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 FDEF6) The S4wiki is invaluable to getting started and explains the fundamentals very well (like load ). 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 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
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 LDRXNIf 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 (%) | 500 | 700 | 800 | 1000 | 1240 | 1520 | 2000 | 2520 | 3000 | 3520 | 4000 | 4520 | 5000 | 5520 | 6000 | 6520 | 4.0009 | 11.4375 | 10.9453 | 10.7109 | 10.2188 | 9.7031 | 9.3047 | 8.8828 | 8.6250 | 8.5313 | 8.5078 | 8.5313 | 8.5078 | 8.4375 | 8.2734 | 8.0625 | 7.8281 | 5.9998 | 15.7266 | 15.2813 | 15.0703 | 14.6250 | 14.1094 | 13.6875 | 13.1719 | 12.8438 | 12.6563 | 12.5859 | 12.5625 | 12.4922 | 12.3516 | 12.1406 | 11.9063 | 11.6250 | 8.0002 | 19.9922 | 19.6172 | 19.4297 | 18.9844 | 18.5391 | 18.0703 | 17.4844 | 17.0391 | 16.8047 | 16.6875 | 16.5938 | 16.4531 | 16.2891 | 16.0313 | 15.7500 | 15.4219 | 13.9999 | 32.7188 | 32.6016 | 32.5547 | 32.3672 | 31.8281 | 31.1719 | 30.3047 | 29.6719 | 29.2500 | 28.9219 | 28.6641 | 28.3594 | 28.0313 | 27.6563 | 27.2813 | 26.8359 | 19.9997 | 45.4219 | 45.3047 | 45.2344 | 45.0469 | 44.6953 | 44.1094 | 43.1484 | 42.3516 | 41.7656 | 41.2031 | 40.7109 | 40.2188 | 39.7500 | 39.2578 | 38.7891 | 38.2500 | 30.0003 | 66.6563 | 66.3750 | 66.2344 | 66.0000 | 65.8594 | 65.3203 | 64.3359 | 63.3984 | 62.5313 | 61.4531 | 60.5391 | 59.7422 | 59.1563 | 58.6172 | 58.1016 | 57.5391 | 39.9994 | 88.1250 | 87.5391 | 87.2578 | 86.7422 | 86.2969 | 86.0156 | 85.1016 | 83.8359 | 82.5703 | 81.2578 | 80.1797 | 79.3359 | 78.7969 | 78.3047 | 77.9063 | 77.5313 | 50.0000 | 109.9922 | 109.4766 | 109.1953 | 108.7031 | 108.1406 | 107.5781 | 106.2891 | 104.4609 | 102.7969 | 101.3672 | 100.3359 | 99.5859 | 99.2109 | 99.0469 | 99.0703 | 99.3281 | 60.0006 | 132.3516 | 131.9766 | 131.8125 | 131.4375 | 130.9688 | 130.3125 | 128.8828 | 126.7500 | 124.6875 | 122.9531 | 121.7578 | 121.0313 | 120.8672 | 121.1719 | 121.8047 | 122.8359 | 69.9997 | 154.9453 | 154.7344 | 154.6172 | 154.3594 | 154.0313 | 153.5625 | 152.5078 | 150.6328 | 148.3828 | 146.1797 | 144.6563 | 143.6953 | 143.5781 | 144.1641 | 145.3594 | 147.1875 | 80.0003 | 177.6797 | 177.5859 | 177.5391 | 177.4219 | 177.2344 | 176.9297 | 176.0391 | 174.4688 | 172.3594 | 170.0859 | 168.3281 | 167.1563 | 166.9453 | 167.5547 | 168.7500 | 170.4375 | 90.0009 | 200.3203 | 200.3672 | 200.3906 | 200.4141 | 200.4141 | 200.2969 | 199.7109 | 198.4219 | 196.5234 | 194.1797 | 192.2109 | 190.8281 | 190.4531 | 191.0391 | 192.1875 | 193.6172 |
The last row is WOT and has plenty of demand (> 190%) LDRXN - maximum specified load RPM vs Load (%) | 1000 | 1500 | 1750 | 1850 | 2000 | 2250 | 2500 | 3000 | 3500 | 4000 | 4500 | 5000 | 5500 | 6000 | 6600 | 6800 | | 100.0078 | 118.0078 | 125.0156 | 130.0078 | 140.0156 | 172.0078 | 172.0078 | 172.0078 | 172.0078 | 172.0078 | 175.0078 | 175.0078 | 175.0078 | 168.0000 | 158.0156 | 100.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) | 2000 | 3000 | 4000 | 5000 | 5520 | 6000 | 6600 | 6760 | -20.25 | 2.4063 | 2.4063 | 2.3750 | 2.3125 | 2.2188 | 2.0781 | 1.9219 | 1.7656 | 0.00 | 2.4063 | 2.4063 | 2.3750 | 2.3125 | 2.2188 | 2.0781 | 1.9219 | 1.7656 | 20.25 | 2.4063 | 2.4063 | 2.3750 | 2.3125 | 2.2188 | 2.0781 | 1.9219 | 1.7656 | 40.50 | 2.3594 | 2.3594 | 2.3438 | 2.2656 | 2.1719 | 2.0313 | 1.9219 | 1.7344 | 50.25 | 2.3281 | 2.3125 | 2.3125 | 2.2031 | 2.1094 | 2.0000 | 1.9063 | 1.7188 | 60.00 | 2.2813 | 2.2656 | 2.2656 | 2.1719 | 2.0781 | 1.9688 | 1.8750 | 1.6875 | 70.50 | 2.2344 | 2.2031 | 2.2031 | 2.1406 | 2.0469 | 1.9375 | 1.7969 | 1.6563 | 120.00 | 2.2188 | 2.1563 | 2.0938 | 2.0156 | 1.9219 | 1.7969 | 1.6406 | 1.4844 |
|
|
|
Logged
|
|
|
|
Basano
Full Member
Karma: +90/-3
Offline
Posts: 192
|
|
« Reply #2 on: February 14, 2014, 10:06:44 AM »
|
|
|
I also took some VCDS logs from the car Timestamp | Engine Speed | Intake Air Mass | Lambda Sensor - Current Value | Sender 2 for - Acc. Pedal Pos. | Throttle Drive - Angle Sensor 1 | Median - injection timing | Current - Fuel Pressure | Engine Load - (specified) | Engine Load - (actual Value) | Boost Pressure - (specified) | Boost Pressure - (actual) | Rail Pressure - (actual) | 1835.3 | 2800 | 23.75 | 1 | 17.6 | 10.2 | 1.02 | 4.12 | 171.4 | 30.1 | 590 | 1020 | 67.67 | 1835.74 | 2840 | 37.69 | 0.98 | 24.3 | 14.5 | 1.53 | 4.13 | 171.4 | 42.1 | 820 | 1050 | 77.12 | 1836.16 | 2840 | 59.03 | 0.99 | 32.2 | 20 | 2.04 | 4.16 | 171.4 | 63.9 | 1040 | 1140 | 87.81 | 1836.6 | 2880 | 92.53 | 1 | 96.5 | 70.2 | 3.57 | 4.16 | 171.4 | 114.3 | 2040 | 1390 | 95.62 | 1837.03 | 2960 | 109.97 | 0.97 | 99.6 | 99.2 | 4.84 | 4.16 | 171.4 | 155.6 | 2030 | 1840 | 100.56 | 1837.45 | 3040 | 113.17 | 0.93 | 99.6 | 98.8 | 5.61 | 4.12 | 171.4 | 169.2 | 2020 | 1960 | 106.76 | 1837.89 | 3120 | 117.28 | 0.89 | 99.6 | 98.8 | 5.87 | 4.15 | 171.4 | 172.2 | 2010 | 1980 | 109.69 | 1838.33 | 3200 | 122.19 | 0.88 | 99.6 | 98.8 | 5.87 | 4.17 | 171.4 | 174.4 | 1990 | 2000 | 109.67 | 1838.75 | 3280 | 122.75 | 0.89 | 99.6 | 98.8 | 5.87 | 4.19 | 171.4 | 173.7 | 1980 | 1990 | 109.22 | 1839.19 | 3400 | 125.28 | 0.88 | 99.6 | 98.8 | 5.87 | 4.2 | 171.4 | 171.4 | 1970 | 1960 | 110.11 | 1839.62 | 3480 | 126.75 | 0.88 | 99.6 | 98.8 | 5.87 | 4.2 | 171.4 | 169.2 | 1960 | 1930 | 109.99 | 1840.06 | 3560 | 129.5 | 0.89 | 99.6 | 98.8 | 5.61 | 4.19 | 171.4 | 166.9 | 1950 | 1910 | 109.16 | 1840.5 | 3640 | 130.58 | 0.88 | 99.6 | 98.8 | 5.61 | 4.18 | 171.4 | 166.9 | 1950 | 1920 | 109.52 | 1840.92 | 3720 | 131.58 | 0.88 | 99.6 | 98.8 | 5.61 | 4.17 | 171.4 | 165.4 | 1950 | 1900 | 109.67 | 1841.35 | 3800 | 137.67 | 0.89 | 99.6 | 98.8 | 5.61 | 4.17 | 171.4 | 164.7 | 1950 | 1910 | 110.44 | 1841.79 | 3880 | 140.31 | 0.9 | 99.6 | 98.8 | 5.61 | 4.12 | 171.4 | 168.4 | 1960 | 1930 | 111.08 | 1842.22 | 4000 | 144.33 | 0.89 | 99.6 | 98.8 | 5.61 | 4.11 | 171.4 | 168.4 | 1960 | 1950 | 109.1 | 1842.66 | 4080 | 147.06 | 0.89 | 99.6 | 98.8 | 5.87 | 4.04 | 171.4 | 169.2 | 1980 | 1960 | 110.06 | 1843.1 | 4080 | 72 | 0.88 | 99.6 | 98.8 | 5.87 | 4.08 | 172.2 | 168.4 | 1160 | 1780 | 109.3 | 1843.52 | 4080 | 8.14 | 0.91 | 0 | 10.2 | 0.77 | 4.4 | 172.2 | 19.5 | 280 | 1320 | 88.34 | 1843.96 | 4080 | 12.97 | 0.92 | 0 | 8.6 | 0.51 | 4.6 | 172.2 | 16.5 | 280 | 1120 | 87.31 | 1844.4 | 4040 | 13.89 | 0.99 | 0 | 9.4 | 0.51 | 4.36 | 171.4 | 16.5 | 280 | 1060 | 85.61 | 1844.83 | 4000 | 13.97 | 1.99 | 0 | 9.4 | 0 | 4.15 | 171.4 | 16.5 | 280 | 1040 | 85.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
|
|
|
Logged
|
|
|
|
vdubnation
Turboman
Global Moderator
Sr. Member
Karma: +49/-2
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
|
|
« 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
|
|
|
|
nyet
|
|
« 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
|
|
|
|
oldcarguy85
Full Member
Karma: +15/-1
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
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
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 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 | | | | 1CC9A0 | KFMIRL | LDRLMX | | | | 1CECE8 | KFLDHBN | | 1CED4A | LDRXN | | 1CED8C | LDRXN | | 1CEDCE | LDRXN | | 1CEE10 | LDRXNZK | | 1CEE52 | LDRXNZK | | 1CEE94 | LDRXNZK | MDFUE | | | | 1CC9A0 | KFMIRL | MDPED | | | | 1CBBD4 | KFPED_0_A | | 1CBD54 | KFPED_1_A | | 1CBED4 | KFPEDL_0_A | | 1CC054 | KFPEDL_1_A | | 1CC1D4 | KFPEDL_2_A | | 1CC354 | KFPEDR |
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
|
|
|
Logged
|
|
|
|
Basano
Full Member
Karma: +90/-3
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
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
|
|
« 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
|
|
|
|
nyet
|
|
« Reply #12 on: February 17, 2014, 07:02:25 PM »
|
|
|
|
|
« Last Edit: February 17, 2014, 07:04:35 PM by nyet »
|
Logged
|
|
|
|
dream3R
|
|
« 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
|
|
« Last Edit: September 11, 2015, 12:35:02 PM by dream3R »
|
Logged
|
|
|
|
dream3R
|
|
« 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
|
|
|
|
|