【UDS】ISO14229之0x28服务

本文详细介绍了CAN网络中的通信控制服务(CommunicationControl),包括其理论描述和使用步骤。该服务允许诊断工具控制电控单元的报文收发,以确保在软件更新时避免干扰。文中列举了不同控制类型及其应用场景,并解析了请求和响应的报文格式及可能的否定响应代码。此服务在ECU程序更新和网络管理中起到关键作用。
摘要由CSDN通过智能技术生成


->返回总目录<-

前言

简称: “CommunicationControl”,通信控制
功能: 通讯控制服务用于开启/关闭电控单元对某些报文的发送或接收。


一、理论描述

诊断工具通过请求该服务可以实现对指定类型的报文收发进行控制。如:
一般通信报文
(如节点功能的报文,所开发的产品是控制灯光模块的,那么这个节点功能报文就负责检测灯光的信号并且发送至整车其他节点。)
网络报文
(基本上车内大多数节点都需要网络报文,负责管理节点的睡眠唤醒功能,来实现节能的效果)
关于网络管理的分析,可参考CAN网络管理Autosar(入门)

那么问题来了,为什么需要这个服务,要它何用?
我们ECU节点的软件需要不定期更新(如:整车厂改了需求),一般通过诊断工具更新ECU软件的方式如:FBL(Flash BootLoad),此时为了使程序更新时不受其他报文收发干扰,就会在之前请求28服务来,禁止收发报文。待ECU程序更新完毕,在请求28服务打开报文收发功能。
在这里插入图片描述

二、使用步骤

1.请求

在这里插入图片描述
ControlType:控制类型
请看下图,简单明了。总共有四种控制类型。图中的约定列中:M代表强制,U代表可选。
倘若下图是整车厂发来的诊断规范,那么在开发的时候就必须支持00和03。
在这里插入图片描述

CommunicationType:通信的报文类型
所要控制通信的报文类型,如下图强制要求支持01(一般通信报文)
在这里插入图片描述
请求报文组合如下:
28 00 01:使能APP报文的收发
28 00 02:使能NM报文的收发
28 00 03:使能APP和NM报文的收发
28 03 01:禁止APP报文的收发
28 03 02:禁止NM报文的收发
28 03 03:禁止APP和NM报文的收发

举个实栗子:
28 03 01禁止发送和接收一般通信报文(除了网络报文和诊断报文,都统称一般通信报文,即APP报文)
当诊断工具收到ECU回复的正响应68 03。该节点就不会收发一般通信报文。只收发网络报文和诊断报文。
在这里插入图片描述

2.响应

1)正响应
在这里插入图片描述

见上面CANoe报文数据图可知,正响应的报文是02 68 03 AA AA AA AA AA。
02:正响应数据长度2字节,0x68 0x03
68:回复ID 0x28 + 0x40 = 0x68 (统一规范规则)
AA:未使用的字节填充0xAA(一般整车厂会告知你未使用的位应该用什么数字来填充)

2)否定响应
支持的否定响应如下,一般工作上根据整车厂给的诊断输入文档来选择要支持的NRC码。
在这里插入图片描述

博主平日项目中,上图的NRC都需要支持。

NRC12: 子服务不支持(ControlType中根本没有FF 服务,简直瞎搞)
在这里插入图片描述

NRC13: 请求报文数据长度有误(正确请求数据28 00 01 有三个字节。而下图中请求的是28 00两个字节)
在这里插入图片描述

NRC22: 请求条件不满足
(一般整车厂会告诉你NRC22的满足条件,例如:车速>3km/h,电源过欠压时候,请求服务,ECU便回复该NRC)

NRC31: 请求超出范围(不按套路出牌,CommunicationType有04?)
在这里插入图片描述

NRC7F: 当前会话下服务不支持
(整车厂要求该服务,需要在Extend session会话或者Promgramming会话下支持。倘若其他会话,回复7F 28 7F )

在这里插入图片描述

总结

0x28服务还是比较简单的,下一章0x2F IO控制服务见!

->返回总目录<-

  • 19
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&春风有信

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值