立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 1633|回复: 0

[分享] ISO 14229-1 诊断服务的格式和内容

[复制链接]
发表于 2024-12-27 12:35 | 显示全部楼层 |阅读模式

登陆有奖并可浏览互动!

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录 手机动态码快速登录

×
通过不同的物理媒介(如CAN、Ethernet)可以把数据传输到应用层,诊断服务协议ISO14229-1就是定义了这些数据的格式和含义。协议在6-8章用来描述协议的内容和格式,初学的时候很吃力,但实际使用的时候很简单,如下结合自己的实际应用来做下总结:

  • 协议定义了通用的服务格式:
请求消息:

  • 诊断服务带子服务


2. 诊断服务不带自服务


积极响应:


否定响应:



  • 以Basic CAN通信为基础,发送和接收的报文数据格式如下:
请求消息(诊断仪向ECU发送的诊断命令):



  • TA_Address : 目标地址,范围为 0x0000-0xFFFF. 分为物理寻址(Physical)和功能寻址(Function),物理地址是针对一个具体server,功能寻址又称广播式寻址,是针对多个server的一种方式。
  • DLC : 为数据长度,具体格式及定义参考ISO 15765-2.
  • SID: 一个byte,诊断服务的ID,代表着具体的14229-1定义的诊断服务, 如0x10 会话服务,0x22 读写服务,等等。
  • Sun-Function Parameter 与具体的SID有关,可能有也可能没有。
Note:Sub-function 为1个byte,bit7 名称为suppressPosRspMsgIndicationBit,bit=1的时候,server不需要返回积极响应,但如果请求的SID支持NRC78的时候,server需要发送积极响应或否定响应。Bit=0时,需要返回积极响应。
积极响应(ECU成功响应诊断仪):


Note: 之所以积极响应的SID需要加0x40,是因为14229-1 规定积极响应的SID需要把请求的SID的bit6置1.
举例说明:
假如ECU采用Basic CAN 数据传输方式,的诊断的物理地址为0x7A4,Tester的诊断物理地址为0x764(地址是在项目开发中定义好的,在CAN matrix上可查到),tester 向ECU发送重启的诊断命令(11 01,11 为SID,01为Sub-function),报文如下:
Tester: 07 A4 02 11 01 00 00 00 00 00
ECU : 07 64 02 51 01 00 00 00 00 00
否定响应 (ECU响应诊断仪诊断服务失败)



  • 7F:否定响应的标志符。
  • NRC:否定响应错误代码。定义的NRC参考 ISO 14229-1 Table A.1
Note:关于功能寻址的方式,NRC有一个特殊情况,当tester采用功能寻址访问ECU时,如果ECU需要反馈如下几个NRC时,则不反馈。但如果tester请求的服务(SID)支持NRC: 0x78的时候,如下的NEC还需要正常反馈。
0x11(SNS)
0x7F(SNSIAS)
0x12(SFNS)
0x7E(SFNSIAS)
0x31(ROOR)

原文地址:https://zhuanlan.zhihu.com/p/109290121
楼主热帖
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表