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
 

OBD Problem Vehicles的更多相关文章

  1. BR16F84 OBD II Interface Chip For PWM, VPW, and ISO 9141-2 Vehicles

    http://faq.ford77.ru/pdf/eec/DataSheet.pdf FEATURES:Operating Voltage 5.0 VOperating Current 5 Ma. T ...

  2. 读书笔记-Autonomous Intelligent Vehicles(一)

    Autonomous intelligent vehicles have to finish the basic procedures: perceiving and modeling environ ...

  3. 泡泡一分钟:Cooperative Object Transportation by Multiple Ground and Aerial Vehicles: Modeling and Planning

    张宁 Cooperative Object Transportation by Multiple Ground and Aerial Vehicles: Modeling and Planning 多 ...

  4. Autel MaxiSys Elite Diagnostic Tool Common problem solving methods

    1. updating MaxiFlash Elite to firmware 3.21? My maxisys communicate with the MaxiFlash J2534 but Ma ...

  5. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem C. Cargo Transportation 暴力

    Problem C. Cargo Transportation 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed ...

  6. STN1110 Multiprotocol OBD to UART Interpreter

    http://www.obdsol.com/stn1110/ Safe, secure bootloader. Reflash the firmware in the field, even over ...

  7. STN1170 Multiprotocol OBD to UART Interpreter

    http://www.obdsol.com/stn1170/ STN1170 supports the following protocols: all legislated OBD II proto ...

  8. 1199 Problem B: 大小关系

    求有限集传递闭包的 Floyd Warshall 算法(矩阵实现) 其实就三重循环.zzuoj 1199 题 链接 http://acm.zzu.edu.cn:8000/problem.php?id= ...

  9. No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.

    Gson解析JSON字符串时出现了下面的错误: No-args constructor for class X does not exist. Register an InstanceCreator ...

随机推荐

  1. python复习之路-Day01

    数据类型初识 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4.(-5+4j)和 ...

  2. TCP三次握手和四次挥手、HTTP协议

    TCP三次握手和四次挥手 首先我们知道HTTP协议通常承载于TCP协议之上,HTTPS承载于TLS或SSL协议层之上 通过上面这张图我们能够知道.     在Http工作之前,Web浏览器通过网络和W ...

  3. MySql——编程

    基本语法形式 语句块模式: 在mysql编程中,begin....end;基本代替了原来编程语句中的{...}语法. 但又有所区别: 一个bigin...end;块,可以给定一个“标识符”,并且可以使 ...

  4. 论 html与css的关系

    一.网页前端三剑客基础介绍 1-1 Html和CSS的关系学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTM ...

  5. [Oracle] 用python插入中文

    先替换字符串中的\x22 为双引号,\x0A为回车 str2 = '{\x22name\x22:\x22hao\x22 \x0A ,\x22os\x22:\x22other\x22 } print s ...

  6. 浅析ECMP等价路由

    1.ECMP简介 Equal-CostMultipathRouting,等价多路径.即存在多条到达同一个目的地址的相同开销的路径.当设备支持等价路由时,发往该目的 IP 或者目的网段的三层转发流量就可 ...

  7. react-router4 嵌套路由

    先直接贴代码 import React from 'react'; import ReactDOM from 'react-dom'; import { HashRouter as Router, R ...

  8. python中django的第一课

    今天找遍了,PYTHON项目中的文件,也没发现后台管理的这些页面去哪里修改 原来在pycharm中的外部库中,查找django,最终找到 $python\django\django\contrib\a ...

  9. Python实践练习:电话号码和 E-mail 地址提取程序

    题目: 假设你有一个无聊的任务,要在一篇长的网页或文章中,找出所有电话号码和邮件地址.如果手动翻页,可能需要查找很长时间.如果有一个程序,可以在剪贴板的文本中查找电话号码和 E-mail 地址,那你就 ...

  10. System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 显示24小时制;System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")显示12小时制

    this.Label6.Text = "当前时间:" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ...