[UDS诊断 01- 控制器诊断方式]-深度解读

1 . 寻址模式

        每一个接入 CAN/CAN FD 总线的控制器,根据所处网段要求,可使用 标准帧格式(11 位标识符)或扩展帧格式(29 位标识符)进行诊断寻址。

2 . 寻址类型
       诊断地址标识符用于对每个控制器进行物理寻址和功能寻址。这两种寻址方式对控制器发送诊断请求的定义如下表。
功能寻址 :通过全局诊断地址标识符发送请求。这种方法的目的是解决多个控制器(广播或多路传播)诊断需求。所有车载控制器均可通过此方法进行诊断。
物理寻址:物理寻址是测试工具和控制器之间的点对点连接。通过分配给特定控制器诊断标识符的方式来发送请求。这种方法的目的是寻址单个控制器。
       每个控制器需要一对唯一的诊断标识符用于物理寻址,其中包含一个诊断请求标识符和一 个诊断响应标识符。
       每个控制器均需要定义功能寻址标识符,用于支持诊断协议 ISO 14229 或 ISO 15765-4 (排放相关诊断)的定义。 每个控制器应使用指定的物理寻址诊断响应标识符,响应功能寻址请求。
3. 诊断帧 DLC 定义
        对于 CAN FD 诊断通信,CAN FD 帧最大支持 64 字节的负载长度,当 CAN_DL 小于或等于 8 时,需要将 CAN FD 诊断消息的 DLC 固定为 8 字节,如果小于 8 字节,则需要填充 0xAA。 当 CAN_DL 大于 8 时,剩余数据字节应填充0xAA。
4. (单、多)帧传输
单、多帧报文举例
数据域结构
数据域结构

    无论单帧还是多帧,每一帧的0号字节的高四位用于区别帧类型:

     0:SF(单帧)

     1:FF(首帧)

     2:CF(连续帧)

     3:CF(流控帧)

单帧: 单帧意味着这一帧的数据场部分有效字节数<=8,不足的地方多以0xAA等填充;对于单帧,PCI 第一个字节(Byte1)低4位【SF_DL】表示数据长度,表示需要读后面多长的数据(即后续有多 少有效的数据位)。例子:

TBOX:681 Tx  d  8 03 28 03 03 00 00 00 00  

 ECU :  689 Rx  d 8 02 68 03 aa aa aa aa aa 

首帧:对于 CAN 诊断系统的首帧报文类型用于长度超过 7 字节的数据包,它和一个或多个连 续帧组合使用。PCI 第一个字节(Byte1)的高半字节为 0001b,第一个字节的低半字节和第 二个字节(Byte2)表示数据的长度。 对于 CAN FD 诊断系统的第一帧报文类型,当 CAN_DL≤4095 时,FF_DL 应设置在 63≤ FF_DL≤4095 的范围内,当 CAN_DL>4095 时,FF_DL 应设置在 4095<FF_DL≤0xFFFFFFFF 的 范围内。例子:

TBOX:681 Tx d 8 10 0b 34 00 44 1f ff 80 
ECU :    689 Rx d 8 30 00 00 aa aa aa aa aa 

连续帧:连续帧出现在第一帧之后,PCI 第一个字节(Byte1)的高半字节为0010b,低半字节表示连续帧序列号 (SN),SN根据以下规则定义:  连续帧的第一帧SN值为1; 每增加一个连续帧,SN值增加1; 流控制帧不影响SN值的计算; 当SN值达到15后,下一个连续帧的SN值为0。例子:

ECU  :689 Rx d 8 30 00 00 aa aa aa aa aa 
TBOX:681 Tx d 8 21 01 84 ff 1f 49 84 ff 
TBOX:681 Tx d 8 22 1f 49 84 ff 1f 49 84 
TBOX:681 Tx d 8 23 ff 1f 49 84 ff 1f 49 
TBOX:681 Tx d 8 24 84 ff 1f 00 00 00 00 
TBOX:681 Tx d 8 25 00 00 00 00 00 00 00 
TBOX:681 Tx d 8 26 00 00 00 00 00 49 84 
TBOX:681 Tx d 8 27 ff 1f 49 84 ff 1f 00 
TBOX:681 Tx d 8 28 00 00 00 49 84 ff 1f 
TBOX:781 Tx d 8 29 c9 c1 ff 1f 1b 9f ff 
TBOX:781 Tx d 8 2a 1f 25 9f ff 1f 2f 9f 
TBOX:781 Tx d 8 2b ff 1f 39 9f ff 1f 43 
TBOX:781 Tx d 8 2c 9f ff 1f 4d 9f ff 1f 
TBOX:781 Tx d 8 2d 57 9f ff 1f 61 9f ff 
TBOX:781 Tx d 8 2e 1f 6b 9f ff 1f 75 9f 
TBOX:781 Tx d 8 2f ff 1f 7f 9f ff 1f 89 
TBOX:781 Tx d 8 20 9f ff 1f 93 9f ff 1f 
TBOX:781 Tx d 8 21 9d 9f ff 1f a7 9f ff 
TBOX:781 Tx d 8 22 1f b1 9f ff 1f bb 9f

流控帧:第一帧或数据包的最后一个连续帧之后,需要更多的连续帧(CF)来完成数据流传输时, 必须由接收节点发送一个流控制帧。流控制帧 PCI 第一个字节(Byte 1)的高半字节0011b。 流控制状态(FS)、持续发送次数(BS)、最小间隔时间(STmin)的定义如下。例子:
TBOX: 681 Tx d 8 14 02 36 01 00 10 00 20 
ECU  : 689 Rx d 8 30 00 00 aa aa aa aa aa 
流控制状态(FS)
持续发送次数(BS)
最小间隔时间(STmin)

 

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值