UDS诊断帧格式(一)

目录

概念

数据传输

帧格式

单帧

多帧

请求响应格式

请求格式

响应格式

肯定响应

否定响应


概念

UDS(Unified Diagnostic Services)诊断协议是ISO 15765和ISO 14229标准协议定义的一种汽车通用诊断协议。使用一系列的服务(共包含6大类26种。每种服务都有自己独立的ID,即SID),通过请求和响应,对ECU进行测试,检测,诊断等功能。

数据传输

如果诊断命令的长度超过数据场长度,需要多帧传输。

帧格式

帧格式:

(1)每一帧的0号字节的高四位用于区分帧类型(0/1/2/3对应单帧/第一帧/连续帧/流控帧)

单帧

对于单帧

(1)单帧的有效字节数小于8,不足用0xAA/55/CC填充

(2)单帧的0号字节的低4位表示DLC(Data-Length-Control),表示后续的有效数据长度。

多帧

(1)首帧

0号字节的高四位固定为1,第四位加上1号字节组成DLC。

例如 10 14 ......表示该帧为首帧,后续有效字节数长度为0x014 

(2)流控帧

0号字节高四位固定为3,第四位表示状态参数FS。

1号字节BS表示接收多少帧连续帧。

2号字节STmin

STmin表示发送端发送连续帧之间的最小时间间隔。其取值范围如下:

  • 00 ~ 7F: 间隔时间为0ms到127ms,单位为毫秒(ms)

  • F1 ~ F9: 间隔时间为100us到900us,单位为微秒(us),最小分辨率为100us

  • 80 - F0和FA - FF: 保留

FS:0 继续发送;

      1 表示等待,表示发送方停发,等待下一个流控帧;

       2 表示溢出,终止发送;

首帧发出后,需要等待Receiver发送流控帧后,才能接着发送后面的流控帧数据。

例如 30 08 14 ......,第1个字节30,高4位 3 表示为流控帧,低4位 0 表示流控帧的状态。流控帧第2个字节08 表示接收了8帧连续帧后,就需要等待流控帧 第3个字节表示STmin为20ms。

(3)连续帧

0号字节高四位固定为3,第四位表示连续号SN

例如 21 FF FF ......

        22 FF FF ......       

当接受到流控帧后,就需要开始发送连续数据,其中连续帧第1个字节21,高4位2表示是连续帧,低4位1表示连续帧的第一帧(注:其中连续帧的第1帧SN为1,后续SN达到15后,下一个连续帧的SN为0)

请求响应格式

请求格式

SID + SF ,服务+子功能

SID:Service Identifier,诊断服务ID。UDS本质上是一种定向的通信,是一种交互协议(Request/Response),即诊断方给ECU发送指定的请求数据(Request),这条数据中需要包含SID。

响应格式

肯定响应

如果是肯定的响应(Positive Response),回复[SID+0x40],如请求10,响应50;请求22,响应62。

否定响应
  • 如果是否定的响应(Negative Response),回复7F+SID+NRC,回复的是一个声明。
  • NRC码:1字节代码,表示具体错误类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值