《CAN(FD)总线十万个为什么》之UDS诊断(上)

描述

 


 

在汽车电子的世界里,UDS诊断协议如同一把神奇的钥匙,为工程师和维修人员打开了通往车辆“心脏”的大门。今天,就让我们一起揭开UDS诊断的神秘面纱,探索其在汽车电子行业中的重要角色。


 

CAN  UDS诊断

 

UDS诊断,即统一诊断服务(Unified Diagnostic Services),是汽车电子领域的一个核心标准协议。它为汽车制造商提供了一个强大的工具,用于对电子控制单元(ECU)进行诊断、安全访问、收发控制以及软件刷写。这些ECU控制着车辆的各种关键功能,如电控燃油喷射系统、防抱死制动系统等。

 

在汽车诊断协议出现之前,修车主要依赖维修师傅的经验。而诊断协议的出现,使得故障信息能够被保存在ECU的内存中。维修师傅可以通过通信总线读取这些信息,从而更准确地诊断问题。车辆的诊断过程需要两个主要端点:Tester端(例如CAN FD接口卡)和ECU端。它们通过一问一答的形式进行交互。CANUDS诊断由两个主要部分组成:

 

1. ISO 14229:应用层

 

ISO 14229主要负责应用层。它定义了如何控制ECU禁止收发数据、如何使ECU进入编程模式,以及如何定义ECU固件的擦除和刷新等操作。

 

2. ISO 15765:传输层

 

ISO 15765主要负责传输层。它定义了如何将UDS的请求和应答打包到CAN(FD)帧中,并控制数据传输的速度(流控)。
CAN  UDS的基本概念

 

1. UDS地址

  • 物理地址:这是CAN卡用于访问特定ECU的CAN ID。
  • 功能地址:CAN卡通过组播请求发送消息,目标是所有具有相同“功能地址”的ECU节点。
  • 响应地址:ECU指定用于响应某个CAN卡的CAN ID。
CAN

2. 请求与响应

 

2.1 诊断请求(Request)

 

ISO 14229协议定义了26个标准服务请求SID(Service Identifier)。此外,还定义了Sub-Function来补充SID的意图,即子服务,以及可携带的参数信息(Parameter)。请求的格式为:SID + Sub-ID(可选)+ Parameter(可选)。

 

2.2 诊断响应(Response)

当ECU收到请求后,它可能会返回积极响应或消极响应。

  • 积极响应:在请求的SID上加0x40表示积极响应。
  • 消极响应:ECU回复7F + SID + 消极参数,表示消极响应。

2.3 响应超时

如果CAN FD接口卡发出某个SID请求,在超时时间P2(单位为毫秒)内没有收到匹配响应地址且响应此SID的报文,则认为发生了响应超时。

 

3. 传输出错

如果底层链路是通的,则要看报文交互情况而定;如果底层链路都不通,就要仔细检查链路层。
CAN  总结

 

通过今天的内容,我们对UDS诊断的应用层协议有了更清晰的认识。UDS诊断不仅提高了汽车维修的效率和准确性,还为汽车制造商提供了一个强大的工具,用于控制和管理车辆的ECU。在下一期节目中,我们将继续深入探讨基于ISO 15765的UDS传输协议。敬请期待!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分