这两个货,能和谐共处

摘要

本篇笔记主要记录J1939诊断协议和UDS基于CAN的诊断协议为什么可以和谐共处。

准备工作

  1. J1939标准文档。

  2. UDS ISO 14229和ISO 15765文档

先来说说UDS

Unified diagnostic services (UDS)是乘用车常用的诊断协议。分为基于CAN的UDS如UDSonCAN ISO14229-3,还有基于以太网,基于LIN总线,等等,我们这里主要来了解基于CAN总线,因为车上诊断目前大多使用CAN。以为OSI Layer 6是由车厂自定义的,所以必须拿到车厂的文档,才能开发出对应的诊断协议栈。分层结构如下所示:

9aeaf482f6ffd555207991f70f78057d.png

如果要做诊断协议代码,需要熟悉ISO 15765, ISO 14229.  而物理层的ISO 11898可以了解下。

SAE J1939

J1939已经介绍了很多,相信大家都不陌生,1939是应用于商用车和重型车辆,以及特种车辆等车上的通信协议,其中包含诊断协议J1939-73,而要实现J1939的诊断协议,需要熟悉数据链路层J1939-21,这个对开发J1939协议栈非常重要。

5a157169279ebd4d1e3a86423a793ddb.png

和谐共存

在J1939的协议中,给UDS留了后门,PGN 52480,52736,55808,56064. 这四个PGN是专门留给ISO-15765的,这样就可以在SAE J1939的协议栈中,实现UDS的功能,这样两者就可以和谐共处了。

46794606c29331954683396059f55674.png

337cd39f312fce36f0ec3c7dd2536a55.png

在ISO 15765-2的附录A中也对这些做了介绍,

6792ffff3642a0a3504454ddd2f5d314.png

f39cb32008028a840afd29ca8cdbfcd9.png

可以看到在J1939的PDU里内嵌了UDS的PDU格式,这样二者可以共存,很好的兼容了两者。有兴趣的可以关注下,有兴趣的后台评论区留言。

欢迎大家关注我的视频号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值