单片机技术网|技术阅读
登录|注册

您现在的位置是:单片机技术网 > 技术阅读 > 这两个货,能和谐共处

这两个货,能和谐共处

摘要


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

准备工作

  • J1939标准文档。

  • UDS ISO 14229和ISO 15765文档

  • 先来说说UDS

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


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

    SAE J1939

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

    和谐共存

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



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

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


    欢迎大家关注我的视频号