Page 1 of 5 12345 LastLast
Results 1 to 10 of 43

Thread: Multiple ECU responses

  1. #1
    Low Bitrate
    Join Date
    Aug 2010
    Posts
    68

    Multiple ECU responses

    Hi guys,

    As some of us know, there are some cars which have more than one ECUs, usually the auto transmission cars which have the ECU for the tranny..

    The problem is, that I want to parse an OBD response but the response contains the response of the tranny ECU as well and this messes up things a little bit.

    I know how to determine which ECU is who but still this doesn't solve the problem..

    So I would like to ask if you know any way that we can tell the tranny ECU to shut up or any way to ask ONLY the engine ECU..

    If this is not possible it's a pain in the *** to remove the engine ECU's response from the whole package as its length is not standard but depends on the PID requested and this whole process will also make the application slower..

    Any ideas?

    Thanks!

  2. #2
    Low Bitrate remus08's Avatar
    Join Date
    Mar 2010
    Location
    FRANCE
    Posts
    56
    Hi,

    I don't know what you're using for your experiment but each ECU has its own ID (identifier). For a CAN bus based vehicle, 0x7E8 is engine and 0x7E9 transmission

    Solution 1 : You can filter what you're looking for
    or
    Solution 2 : Just talk to the engine ECU

    If you give more information, maybe I will be enable to answer for precisely

  3. #3
    Low Bitrate
    Join Date
    Aug 2010
    Posts
    68
    Hi,

    Thank you for your answer! The car is a 2002 BM2 745Li auto transmission and I think it is KWP2000.. As for the software I just used hyper terminal and a bluetooth ELM 1.2a..

    So, for your suggestion No2, is there any way I can just ask the engine ECU? Is this what you mean? How should the request be formated?

    Thanks again!

  4. #4
    Low Bitrate remus08's Avatar
    Join Date
    Mar 2010
    Location
    FRANCE
    Posts
    56
    I'm not totaly sure it's something like

    Set the header like this before connecting to your vehicle
    AT SH 80xxF1

    with xx the address of the Engine Control Unit..
    In Europe BMW's Engine address use to be @ 0x12

  5. #5
    Low Bitrate
    Join Date
    Aug 2010
    Posts
    68
    Yes you are absolutely right my friend! I made some more testing in the car today as it is not mine and I can only spend some minutes with it and for example the results for available PIDs are:

    >0100
    86 F1 18 41 00 80 00 00 00 50
    86 F1 12 41 00 BF 9F E8 91 A1

    The BAD thing is that the ECUs don't answer always in the same order ie the above may be:

    >0100
    86 F1 12 41 00 BF 9F E8 91 A1
    86 F1 18 41 00 80 00 00 00 50

    Oh crap! That means that filtering is a pain in the ***.. I will try the command you suggested when I 'll have the car again but still the problem is that I want to make it "universal" so the app can run on ANY vehicle.. So if BMW uses 12 and Audi for example uses 10 then I'm screwed..

    The only way I can think of making it happen is to first try to find the engine ECU, for example by searching for a lamda sensor and then keep its ECU address and use your command.. If this is not possible then after locating the correct ECU to find the address in the OBD response each time, trim the response for the known length (depending on sensor) and then parse..

    Could there be any other way? It is really frustrating.. :/

  6. #6
    VENDOR - ScanTool Vitaliy's Avatar
    Join Date
    Dec 2006
    Location
    Phoenix, AZ
    Posts
    624
    The problem is normally solved like this:

    1. Send 0100 using functional addressing.
    2. Determine which ECU supports more PIDs.
    3. Switch to physical addressing.
    OBDLink MX: world's smallest, fastest, most advanced OBD/Bluetooth adapter with SW and MS CAN support. Read the review to learn more.
    Need to look up a diagnostic trouble code? Try the most up-to-date, free DTCsearch.com!

    You cannot send me a private message using this forum. Use my email instead: vitaliy[@]scantool.net.

  7. #7
    Low Bitrate
    Join Date
    Aug 2010
    Posts
    68
    Thanks Vitaliy.. By physical addressing you mean the AT SH command using the header of the correct ECU right?

    So for the bimmer, would it be AT SH 80 12 F1?

    ps: I think I got it, the message I get from the ECU has a header of 86 F1 12 that means message type 86, target F1 (scantool), source 12 (Engine ECU)

    So according to remus08 If I set the scantool header to 80 (message type) 12 (target engine ECU) F1 (source) once then if I just send 0100 I would get the PIDS from only the engine ECU.. Am I right?

    Also, what is 80 and 86 message types? Is there any list of those?

  8. #8
    VENDOR - ScanTool Vitaliy's Avatar
    Join Date
    Dec 2006
    Location
    Phoenix, AZ
    Posts
    624
    Right, you would use ATSH to set up headers for physical addressing.

    Message type byte has the following structure:

    A1 A0 L5 L4 L2 L1 L0

    A1 and A0 bits are the type:

    00 no address information
    01 exception mode (CARB)
    10 with address information, physical addressing
    11 with address information, functional addressing

    The rest are length bits.

    Note that for ELM327 (and by extension, OBDLink) setting all length bytes to zero has a special meaning: it means that you want the scan tool to insert a fourth header byte (length byte). If you put anything else for length, it will get ignored and ELM327 will automatically fill in the length bits. So, for example, if you send 0100:

    Using default headers, ELM327 will send:

    C2 33 F1 01 00 E7

    ..using ATSH 80 12 F1 headers:

    80 12 F1 02 01 00 86

    ..using ATSH 8x 12 F1 headers (where x is anything besides zero):

    82 12 F1 01 00 86

    Here is another example with the same headers, but sending five bytes:

    85 12 F1 11 22 33 44 55 87

    Best regards,

    Vitaliy
    OBDLink MX: world's smallest, fastest, most advanced OBD/Bluetooth adapter with SW and MS CAN support. Read the review to learn more.
    Need to look up a diagnostic trouble code? Try the most up-to-date, free DTCsearch.com!

    You cannot send me a private message using this forum. Use my email instead: vitaliy[@]scantool.net.

  9. #9
    Low Bitrate
    Join Date
    Aug 2010
    Posts
    68
    Thank you for your answer Vitaliy..

    I did some testing in the bimmer tonight.. ATSH 8012F1 was not working at all.. It says OK but then for any pid it says NO DATA.. Note that the bimmer responds 86 F1 12 bla bla..

    So I tried AT SH 8612F1 and it worked! Only the engine ECU was responding which is what I need.. But.. after some time, especially if I don't send anything for lets say 20secs it will reply NO DATA again.. The version of my ELM is 1.2a and I also tested it with a 1.4 and the result was the same.. After ATZ it responds and then after the AT SH 8612F1 it does the same as described above.. Then sometimes it doesn't answer at all after the AT SH 8612F1 command..

    If I unplug and plug again the interface it works OK the very first time and then the same..

    Do you have any idea why it's doing that? It seems like it suddenly sleeps or something, I can't understand.. However the interface every 5secs or sth like that, it sends data to keep it alive and I have tested it in a lot of cars and it never sleeps..

    Is there any special command I could send to make it respond for ever and not stopping after a while? And it is frustrating that I cannot understand when it stops responding, it just suddenly does it..

    I'll try to reach a 2009 VW Tiguan 2.0T auto tranny to check if it does the same but it is a pity that the BMW does this..

  10. #10
    VENDOR - ScanTool Vitaliy's Avatar
    Join Date
    Dec 2006
    Location
    Phoenix, AZ
    Posts
    624
    Use the ATWM message to set up periodic keep-alives. It doesn't matter what you actually send, as long as it's a supported PID (like 01 0C).
    OBDLink MX: world's smallest, fastest, most advanced OBD/Bluetooth adapter with SW and MS CAN support. Read the review to learn more.
    Need to look up a diagnostic trouble code? Try the most up-to-date, free DTCsearch.com!

    You cannot send me a private message using this forum. Use my email instead: vitaliy[@]scantool.net.

Page 1 of 5 12345 LastLast

Similar Threads

  1. Replies: 0
    Last Post: 04-27-2009, 04:36 PM
  2. Multiple ECU responses
    By mctodd00 in forum Engine Management, OBD-II, Engine Diagnostics, etc.
    Replies: 3
    Last Post: 11-16-2008, 07:16 AM
  3. ECU passes emission test with bad O2 reading?
    By Leandra in forum Engine Management, OBD-II, Engine Diagnostics, etc.
    Replies: 0
    Last Post: 03-14-2008, 09:50 PM
  4. Replies: 3
    Last Post: 08-11-2007, 02:22 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •