Modifying Motronic 2.3.2 ECU hardware and software.

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts

  • prj
    replied
    Come on, it's not that difficult.

    551B:

    5x4 is the casual load cut, RPM x Baro pressure.
    If load is above this for 0x8389 time, fuel is cut and boost disabled.

    After that the 5x4 limiter is ignored and the second limiter is used instead.
    That limiter does not have a delay. If load goes above it, fuel is instantly cut. This should never happen normally, because the first limiter disabled the N75. So if this limiter is being hit, it means we have serious issues with boost control going on, thus fuel is instantly cut to prevent damage to the engine.

    There, now move on to more productive things

    Leave a comment:


  • kymi
    replied
    Just look closer and check the diag for 0x16F.

    Leave a comment:


  • -ice-
    replied
    The 5x4 Map ist the one which needs to be tuned. In the stock bin these 4 lines (displayed in 3D) are flat.
    Remarkable is also that in the 551aa file the 5x4 Map does not exist and is only 5x1. So the RS2 bin can do something, which the old 551aa ecus are not able to do.


    But what it actually does... Results are compared with load(3f) so it will limit something.

    Leave a comment:


  • kymi
    replied
    I mean that after the map access the result is cjne'd to ram_3f in both of those cases I mentioned. You have two situations doing about the same thing, only the data and axis (and 2d/3d) is different. Why the other table is using only rpm and has the values it has, and other table is 3d with different values?

    0xACFD has the same ram_2e axis xram 0x16F, fed just before the map access.

    If you have access to tuned binaries, check out the map ACD0.

    Leave a comment:


  • -ice-
    replied
    The carry bit is used to compare it with load. Next map used is 0xACFD (Also with this Ram 2e Axis)

    The procedure is called in this background routine, where also the MAF linearization is called.

    What do you mean?

    Bye

    Leave a comment:


  • kymi
    replied
    Ok, I was a few steps after your spot.

    In rs2 551c xram 0x16B.1 bit is used to check should we run 0xACD0 (5x4) or 0xACF1 (5x1) map. Look at the maps and routines run after the map lookup, it'll explain.

    Leave a comment:


  • kymi
    replied
    rs2 551c feeds the temporary 2e with xram 0x16F for this map read. You're on the spot.

    Leave a comment:


  • -ice-
    replied
    Next correction

    What has been 5x1 in 551aa seems to be 5x4 in RS2 551b & c.

    In the 551aa file the last bits of RAM_2e are used to switch the maps. In this case Map 0x8cb8 and Map 0x8cc4.

    I guess this two maps are load limiters or something like that. Second map perhaps for an emergency condition.

    So RAM_2E in this case is used bitwise to select something, it's not a variable like rpm, load etc. That's what I think at the moment.
    Last edited by -ice-; 6 December 2014, 20:22.

    Leave a comment:


  • kymi
    replied
    rs2 551c, 0xACD0 should be at least pretty straight forward with axles and what it does.

    Leave a comment:


  • -ice-
    replied
    Correction: The address 0x8cb8 for the 551aa file is wrong. It seems 551aa doesn't have this 5x4 Map.

    Bye

    Leave a comment:


  • kymi
    replied
    The axis shuld be 0x16F (xram) and it serves a purpose (look in the diag-routines).
    Last edited by kymi; 6 December 2014, 19:37.

    Leave a comment:


  • -ice-
    replied
    Hi,

    The map i'm looking at is 0x8cb8 (551aa), 0x8ccc(rs2 551b) or 0xacdo(rs2 551c)

    0x2e is fed with the accumulator, which is loaded with the xram address 0x6b before. And xram 0x6b is filled from another location also with RAM_2e. Have to trace it back...

    Might have something to do with load, because its compared to 3f after the map access.

    But i don't know yet.


    Regards
    Last edited by -ice-; 6 December 2014, 19:26.

    Leave a comment:


  • prj
    replied
    Originally posted by -ice-
    Thx for the hints, PRJ.

    Does anybody associate something with Axis-Descriptor 0x2e?


    Regards
    0x2E is temporary variable. Look where map is accessed and you will see what's put into it.

    Leave a comment:


  • -ice-
    replied
    Thx for the hints, PRJ.

    Does anybody associate something with Axis-Descriptor 0x2e?


    Regards

    Leave a comment:


  • vwnut8392
    replied
    well gentleman, i know i complain alot and it seems like i dont put much effort into this but in reality i have put alot of effort into trying to grasp this. i've spent hours, days and weeks starting at idapro trying to understand what does what not to mention reading tons of books and manuals on the 8051 processor but i just cant get my brain around it. i even went as far as getting my cousin's college books on programming which covered the 8051 a good bit as well. but over all i did start this thread originally and through my complaining i feel this thread has compiled more info on the M2.3.2 ECU in one place than any other so i guess all of my whining has been a help.

    anyhow i'll keep trying to get my brain around it as i dont give up easily. im very stubborn lol.

    Leave a comment:

Working...