zoukankan      html  css  js  c++  java
  • OBD Problem Vehicles

     

    This page contains a list of vehicles that are known to be non-compliant with OBD-II in one way or another. Typically, the vehicles have problems initiating or maintaining a connection, or incorrect data formats. Each listing specifies which vehicles are affected, provides a summary of the problems, and suggests known workarounds.

    2001 Nissan Altima
    2001 Nissan Sentra
    2001 Nissan Xterra

    Problem 1:

    The ECU goes to sleep (uninitialized state) immediately after receiving any unsupported request. The problem is compounded by the fact that some ECUs indicate that certain TIDs are supported, while sending a request for any of these TIDs will immediately put the ECU to sleep.

    Example:

    >0900
    49 00 01 3C 00 00 00

    ECU reported that TIDs $03, $04, $05, and $06 are supported. While TIDs $03 and $05 are in fact supported, an attempt to request TIDs $04 and $06 return a “NO DATA” response. Any subsequent requests will also return “NO DATA” until the bus is reinitialized:

    >0903
    49 03 08
    
    >0904
    NO DATA
    
    >0903
    NO DATA
    
    >atpc
    OK
    
    >0903
    BUS INIT: ...OK
    49 03 08
    

    Workaround:

    The software must avoid requesting unsupported requests. If a “NO DATA” response is received, the software should send a “0100″ request to verify that the connection is still active, and reinitialize the connection if a “NO DATA” response is received. The software must then “remember” not to send the unsupported request.

    Problem 2:

    The ECU strictly enforces intermessage time between the end of all vehicle-sourced responses and the start of the next diagnostic tester request (P3, 55 ms). If P3 is violated, the ECU will immediately go to sleep, and would need to be reinitialized for communication to continue. OBD interfaces which use the “adaptive timing” algorithm to achieve higher refresh rates (such as OBDLink), may violate P3 and lose connection to the vehicle.

    Example:

    >01001
    41 00 BE 1F B8 11
    
    >
    41 00 BE 1F B8 11
    
    >
    41 00 BE 1F B8 11
    
    >
    NO DATA
    
    >
    NO DATA

    In the example above, the first command specifies that only one response is expected. It is then repeated by sending “newline” characters at the command prompt. Eventually, a request is sent too soon after receiving the response, and the ECU goes to sleep.

    Workaround 1:

    The software must ensure that a request is sent no sooner than 55 ms (P3) after receiving a response from the vehicle. If connection is lost (“0100″ returns “NO DATA”), the software should increase the intermessage time, and attempt to reinitialize the bus.

    Note: keep in mind that the software receives the message some time after the ECU finished transmitting it. It takes time for the OBD interface to process and retransmit the message, and the operating system may introduce additional delays. For optimal performance, set the delay to zero, and increment it until the connection can be reliably maintained.

    Workaround 2:

    Disable adaptive timing, and set the “NO DATA” timeout to $0F (~60 ms). This can be done as part of the OBD interface startup sequence by the software:

    >ATAT 0
    OK
    
    >ATST 0F
    OK
    

    The changes can be made permanent, by saving them in non-volatile memory (remember to reset the device for the settings to take effect):

    >ATPP 03 SV 0F
    OK
    
    >ATPP 04 SV 00
    OK
    
    >ATPP 03 ON
    OK
    
    >ATPP 04 ON
    OK
    
    >ATZ
     
  • 相关阅读:
    1.Oracle12cR1的集群件及其组件
    28.oracle监听开启trace file
    connection strings for sql server 2005
    MDAC(Introduce to Microsoft Data Access Components)
    动态链接导入库与静态链接库
    vue3.0小印象
    vue3.0中的vite如何引入markdown文件为页面
    算法
    适配器模式(转载)
    WEB即时通讯之 XMPP OPENFIRE strophe JAXL
  • 原文地址:https://www.cnblogs.com/mokliu/p/3271955.html
Copyright © 2011-2022 走看看