前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CAN通信协议栈(四) 之对ISO14229的理解

CAN通信协议栈(四) 之对ISO14229的理解

作者头像
xbai921031
发布2022-05-25 14:59:26
1.9K0
发布2022-05-25 14:59:26
举报
文章被收录于专栏:汽车软件工程师

ISO14229是UDS诊断应用层的协议,定义了诊断服务的实现步骤及具体的诊断服务定义。本文主要依据的是ISO14229-1:2013和ISO14229-3:2012,这是最新版协议,分别代替了之前的ISO14229-1:2006和ISO15765-3:2004,这一点请读者注意。

1 服务原语

和之前ISO15765中类似,ISO14229-1中定义了6种服务原语,分别是:

(1)服务请求原语

(2)服务请求确认原语

(3)服务指示原语

(4)服务响应原语

(5)服务响应确认原语

(6)服务确认原语

下图展示了UDS诊断服务的流程:

图1 UDS诊断服务流程(响应确认)

图2 UDS诊断服务流程(响应未确认)

此流程基于Client/Server模式,Client(Tester)请求服务,Server(ECU)根据服务请求的某一功能进行回复。

服务原语具体定义和之前讲到的ISO15765-2类似这里就不加以赘述,详情请参见ISO14229-1:2013文档。

2

协议数据单元(A_PDU)

PCI,Protocol Control information

A_PCI有两种格式,如果服务响应的第一个字节不是0x7F,则:

代码语言:javascript
复制
A_PCI (
      SI    
      )

如果服务响应的第一个字节是0x7F,则:

代码语言:javascript
复制
A_PCI (
      NR_SI,
      SI    
      )

SI:Service Identifier,诊断ID

图3 诊断ID定义

NR_SI:服务否定响应ID,值为0x7F

否定响应A_PDU如下图所示:

图4 否定响应A_PDU

3

服务响应规则

(1)服务响应规则

分为3种:

  • 强制性的(Mandatory):每个回复信息中都必须包含的
  • 可选择的(Optional):回复类型可选
  • 供应商自行定义的(Manufacturer/Supplier Specific):根据OEM或者供应商需求自行定义的回复类型

图5 服务响应规则示意

(2)子服务请求及响应规则

如下图所示:

图6 子服务请求及响应规则示意

(3)物理寻址方式请求服务及响应

物理寻址在之前介绍过,是一对一的通信。

图7 物理寻址方式请求子服务及响应规则示意

图8 物理寻址方式请求(无子服务)及响应规则示意

(4)功能寻址方式请求服务及响应

功能寻址是一对多的通信。

图9 功能寻址方式请求子服务及响应规则示意

图10 功能寻址方式请求(无子服务)及响应规则示意

物理寻址和功能寻址方式的ID主机厂会在CAN matrix定义好,这里不需要我们自己去区别,只需知道哪些是物理寻址方式的ID,哪些是功能寻址方式的ID,在Vector工具包中进行相应配置即可。

4

服务请求A_PDU格式

定义如下参数:

图11 A_PDU参数

  • 含子服务的服务请求:

图12 请求服务A_PDU(含子服务)

子服务结构:

图13 子服务结构

  • 不含子服务的服务请求:

图14 请求服务A_PDU(不含子服务)

5

服务响应A_PDU格式

  • 肯定响应:

图15 肯定响应A_PDU格式

  • 否定响应:

格式:0x7F + SID + NRC

Negative Response Code:错误响应码

6 示例

  • 服务请求报文:

图16 请求报文格式

  • 肯定响应:

图17 肯定响应报文格式

  • 否定响应:

图18 否定响应报文格式

以上是服务请求及响应的统一格式,如想看具体实例请参见之前文章

如何读懂UDS诊断报文

7

总结

本文主要介绍了UDS诊断协议中服务请求及响应流程,ISO14229-1中还定义了常用的UDS诊断服务,笔者会在后续文章中介绍。

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

本文分享自 进击的程序喵 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档