前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这两个货,能和谐共处

这两个货,能和谐共处

作者头像
用户1605515
发布2022-03-15 11:08:23
8940
发布2022-03-15 11:08:23
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿

摘要

本篇笔记主要记录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是由车厂自定义的,所以必须拿到车厂的文档,才能开发出对应的诊断协议栈。分层结构如下所示:

如果要做诊断协议代码,需要熟悉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格式,这样二者可以共存,很好的兼容了两者。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 先来说说UDS
  • SAE J1939
  • 和谐共存
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档