![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UDS 诊断教程
文章平均质量分 83
卷遍全国
这个作者很懒,什么都没留下…
展开
-
UDS 诊断教程(七)
如果前面的 36 服务没有执行完成,以我前面举的例子来说,比如这个数据块有 50 个字节,但是 tester只发了两次 36 服务传了 36 个字节,那么这次传输对于 ECU 来说是失败的,所以 ECU 应该给出 NRC 0x7F 37 24,表示诊断序列执行有错误。下图是数据下载的简略过程,用到了 34,36,37 这三个服务,如果是上传的话,34 服务被 35 服务替换,数据传输方向变一下,就可以了。如果 34 服务得到了正确响应,tester 就要启动数据传输过程了,使用的就是 36 服务。原创 2023-03-28 10:00:00 · 213 阅读 · 0 评论 -
UDS 诊断教程 (六)
如果所有条件都满足,则 ECU 返回 71 01 08 09 作为 echo 即可,如果条件不满足,则 ECU 返回 71 01 08 09 XX YY ZZ,后边的 XX YY ZZ 则表明哪些条件不满足,具体的内容就由厂家自己定义了。31 服务是调用 ECU 内置的一些操作序列的接口,这个服务的应用很灵活,因为厂家可以根据自己的需要为 ECU 定义各种各样的内部操作,而要执行这些操作只需要调用 31 服务就好了。ECU 返回 6F 9B 00 03 0C,表示接受控制,当前进气口门的位置为 12%。原创 2023-03-27 18:00:00 · 134 阅读 · 0 评论 -
UDS 诊断教程(五)
active 的还是 passive 的,bit 4 表示这个 DTC 是否已经被 confirm 了,如果 DTC 的状态是 confirm,则。于标识 DTC,比如 XX XX XX,最后一个字节用于标识 DTC 状态,比如 01,表示 DTC 是 active 的,09。DTC 的 Status 进行“与”运算,而 ECU 返回的则是"与"运算之后结果不为 0 的 DTC 的数量。于与 DTC 的 Status 进行“与”运算,而 ECU 返回的则是"与"运算之后结果不为 0 的 DTC 列表。原创 2023-03-26 18:00:00 · 181 阅读 · 0 评论 -
UDS 诊断教程 (四)
0x22 和 和 0x2E 这两个服务是对以 标识符(identifier)标记的数据的操作,前者是读,后者是写。如果这条命令的格式是 23 22 xx yy aa bb,则它的含义就是,读取 xx yy 地址的长度为 aa bb 的数据。0x23 和 和 0x3D 这两个服务是对以地址信息(memoryAddress )标记的数据的操作,前者是读,后者是。通常,0x22 和 0x2E 成对使用,0x23 和 0x3D 成对使用,这几个服务用于诊断数据的基本读写操作。这两个服务的用法很简单,原创 2023-03-25 18:00:00 · 297 阅读 · 0 评论 -
UDS 诊断教程 (三)
这个 byte 中最常用的就是低 2 bit,0x1 代表普通应用报文,0x2 代表网络管理报文,0x3。该服务用于控制 ECU 的 DTC 存储,这个服务常常和前面提到的 28 服务一起使用,比如,务算是一个例外,在 ECU 收到这条 0x86 服务之后,当 DTC 产生时,它会自动地上报。在开始写参数之前,为了获得更快的传输速度,我们用 28 服务把所有 ECU 的通信关闭了,我在以前的文章里说,诊断通信过程是问答式的,诊断仪发请求,ECU 给响应。原创 2023-03-24 18:00:00 · 219 阅读 · 0 评论 -
UDS 诊断教程(一)
的是 response,而 UDS 最重要的作用就是定义了这些 request 和 response的格式和。有一点要补充的是,其实 sub-function 严格来说是 7个 bit,而不是 1个 byte,因为。positive response的格式如上图所示,也基本上是由三部分组成,其中的 response。ECU给出诊断响应(response),而 UDS 就是为不同的诊断功能的 request 和。执行诊断仪发过来的诊断请求,而无法执行的原因则存在于 negative response的报。原创 2023-03-22 14:09:21 · 460 阅读 · 0 评论 -
UDS 诊断教程 (二)
byte 是 SID,第二个 byte 的低 7bit 是 sub-function,用于指示 ECU 将进入的 session。ECUReset 这个服务的 SID 是 0x11,request 固定为 2 个 byte,第一个 byte 是 SID,第。第三部分是 4 个字节,前两个字节代表。上电之后,默认处在 defaultSession 中,在这个 session 中很多诊断服务不可以执行,很。这个诊断服务的 response 分为三部分,第一部分是 0x50,作为 SID 的 echo;原创 2023-03-23 18:00:00 · 292 阅读 · 0 评论