车载简单的can诊断

某ECU节点故障: 也就是你的车上的某个智能硬件不work或者不好用, 比如空调这个设备无法调节温度了.
某条CAN总线故障:比如Body CAN整条CAN总线都不work了, 那整条CAN总线上的智能硬件(ECU节点)会功能不好用,
比如语音控制打开天窗, 没效果了, 必须要手动用硬件打开天窗
CAN网关除故障了:到处都发出报警提示音,因为很多ECU节点都丢失了
1、什么是ECU自检呢?
每个ECU都有自己故障检测功能  基本上每个ECU都有一块EEPROM(可读性可编程存储器),可存储以上
故障信息一般会传至网关的EEPROM,并以诊断故障码的形式存储

2、什么又是CAN诊断呢?
顾名思义即对CAN网络各个节点,各CAN总线,网关的故障查验与修复
查验包括:诊断故障码查询
修复包括:重新对ECU写入新的配置值
诊断请求(发起)服务_Request
710 02 10 01 00 00 00 00 00
帧id :710
数据长度:2位(2字节)
数据:10 01   10:诊断会话发起服务 01:默认会话
常用的诊断请求(发起)服务列表:
10: 诊断会话请求服务
 
    必须先发起诊断会话, 不然无法进行其他诊断服务发起服务.
    也就是说只要诊断, 必须先用10服务, 发起诊断会话session,
    类似于先建立握手,
      常用如:710 02 10 01 (10代表诊断会话发起服务, 01代表默认会话功能)
2E: 写入配置请求服务   --对某个ECU写入配置项数据,就是重新标定
11: 网关复位刷新请求服务  --写入ECU配置值后,必须对网关刷新复位,不然这个值可能不会立马生效
27: 安全访问认证请求服务  --
   一般如果需要涉及2E写入ECU配置项等服务时, 必须通过网关的安全认证, 不然无权限修改,
   你可以理解成, 没成功申请到27安全访问的话, 你的CAN网络权限是只读的, 不可写.
22: 读取配置请求服务
19: 读取故障码请求服务
14: 清除故障码请求服务
   
    清除所有ECU的诊断故障码, 包括故障码相关的快照等,
       如果CAN网络有故障, 其会源源不断的反馈以上故障,
       即使清除后也会立马再发出.
       常用如:710 04 14 FF FF FF (代表清除所有ECU上的诊断故障码(包括故障码相关的快照等.))

诊断回应_Responding
任何一轮诊断输入后, 都会有诊断回应帧, 一般是帧ID是:718
但是分为肯定回应及否定回应.

肯定回应:即您刚才输入的诊断命令,目标对方(网关或某节点)已经收到并做了处理返回.
比如以下是: 10 诊断会话服务发起后, 收到的肯定回应,
718 06 50 01 00 32 01 F4 00
718:帧id
50:10+40   10:诊断会话发起服务  40;肯定回应偏移量
01:默认会话
  
否定回应:即您刚刚输入的诊断命令, 目标对方(网关或某节点)因为某些原因,未成功收到或者未做处理就被打回了,
可以理解成吃了闭门羹.
例如回应:718 03 7f 10 22 00 00 00 00
看到7f否定回应码就知道吃闭门羹了, 所有吃闭门羹的都是7f否定回应码
718:帧id
03:数据长度3字节
7f:否定回应码
10:诊断会话服务
22:条件不符合
00 00 00 00:是自动填充以凑够8字节
以上的吃闭门羹的原因是: 22条件不符合.
其实还有很多其他的原因会导致吃闭门羹, 常用的有:
11 服务不支持
12 子功能不支持
13 报文长度错误
31 请求超出范围.....
 
 
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/litao201403/p/9540078.html

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值