分享

UDS诊断帧

 Kuai2012 2022-04-26

UDS诊断服务通常是通过CAN总线实现。对于CAN诊断帧有两种不同的分类方式,按照寻址方式可以分为物理寻址、功能寻址,按照帧类别可以分为单帧、首帧、流控帧、连续帧。

寻址方式

在总线上往往连着众多ECU设备(如图1所示),作为诊断设备既可以单独与某一ECU进行通信,也可以同时与所有总线上的ECU设备通信。

图1 总线示意图

1. 物理寻址

物理寻址是指总线上始终只有一个ECU响应诊断设备发出的诊断命令,实现点对点通信,例如图1中总线上仅ECU A响应诊断设备的诊断命令。

2. 功能寻址

功能寻址是指总线上的所有ECU对可以同时响应诊断设备发出的诊断命令,实现一对多的通信方式,例如图1中ECU A、ECU B、ECU C 、ECU D可以同时响应诊断设备的诊断命令。

帧类别

对于帧的类型,通过需要发送的数据长度来确定。在正常寻址模式下,当数据长度小于等于7byte,则用单帧的形式发送,当数据长度大于7byte,数据需要分多帧才能发送完成,则需要使用到首帧、流控帧、连续帧,不同帧的机制如图2所示。

图2 不同帧的机制

首帧是指发送的第一帧,目的是把前7byte数据发送给接收方,并告知接收方数据没有发完,然后接收方会回一帧流控帧,告知发送方是否可以接着发送,并且告知接收方一次最多能接收的数据量,以及发送方接下来发送的数据帧(连续帧)之间的时间间隔要求。

对于不同的帧,通过CAN消息的数据场中PCI(Protocol control information)来区分,图3、图4详细说明了不同帧的PCI的定义。

图3  不同帧的数据场定义

以下是对PCI的详细解释。

图4 PCI 定义

其中:

DL:有效数据的长度,不包括PCIbyte;

FS:表示是发送方否可以继续传输消息,0表示可以继续发送,1表示等待发送,2表示数据溢出,一次发送的数据大于接收方所能接收的量;

BS:接收方一次能接收的数据最大量;

STmin:表示两个连续帧之间的最小时间间隔,参照图1中的定义;

SN:连续帧的序列号;

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多