UDS之时间参数总结篇
UDS: (Unified Diagnostic Service) 统一诊断服务协议。
之所以称为统一诊断服务,则是因为该协议是建立在各种传输方式之上的应用层协议,与底层所采用的通信介质都没有关系,该协议内容在ISO14229-1中定义,目前该协议版本已更新至2020版。
Addressing Mode(AM)
在发送诊断指令的过程中,存在以下两种寻址方式:
-
物理寻址:即该诊断服务请求只针对符合请求中物理地址的ECU,其他ECU节点不做任何接收处理;
-
功能寻址:即该诊断物理请求针对当前网络下所有的ECU节点,所有的ECU均会接收处理该诊断请求;
一般而言,一个ECU节点只会存在1对物理寻址,1对功能寻址;每一对寻址方式及地址范围根据客户的需求定义。
应用场景与作用:
-
当该诊断请求需要发送至特定ECU节点时,就需要使用物理寻址方式,如使用$2E服务写DID或者通过$34,$36,$37下载程序时;
-
当该诊断请求需要发送至当前网络下所有的ECU节点时,就需要使用功能寻址,典型过程如FBL刷写过程中的$28, $85服务等。
Block Size 简称“BS”,该参数与STmin一般同时出现。此两参数主要在诊断报文传输多帧时会使用到。在传输多帧诊断报文的过程中,存在着三种类型的帧:
-
首帧FF(First Frame ):发送多帧过程中的首帧报文;
-
流控帧FC(Flow Control):发送方发送首帧报文之后,如果有流控,接收方会回复流控帧;
-
连续帧CF(Consecutive Frame):流控帧之后发送方能够连续发送的报文帧;
如下图2所示,较为清晰了表述FF、FC、CF三者之间的交互关系。
-
BS:接收方表示发送流控帧之后,发送方被允许连续发送的最大帧数目。特殊情况下,如果该值为0,则表示发送连续帧没有限制,如果值为8,表示发送方最多能连续发送8帧CF就会继续收到接收方的流控帧;
-
STmin: 接收方发送流控帧之后,发送方发送的连续帧之间的时间最小间隔。如果值为0,表示对于发送方发送CF的最小时间没有要求。