汽车电控之诊断

车主们普遍都有这样的经历,车上仪表上亮起了莫名奇妙的小灯,有时候莫名其妙又消失了,消失不了的时候,开去4S店,车子被插上一个平板或者电脑的检测设备,维修工程师,一顿点点点,要么告诉你哪里坏了,要么告诉你没事儿,故障被清除了……

也还只有汽车软件工程师才知道的事情,为啥一个功能明明很简单,却要开发验证很久,比如踩油门车子就加速,就针对油门信号,都要检测传感器电压,油门两路信号可信度校验,信号干扰去抖,信号异常后应该怎么处理,什么情况下要可以恢复,什么情况下不可以恢复……

所以在汽车系统中大量的代码(约一半以上的代码),反而是在负责处理概率相对小的异常情况,以及面对异常情况应该如何分类留存记录和应该如何分级响应(这个可以就是说是汽车电控诊断的简单理解)。

汽车控制器记录诊断,要和诊断工具等交互,要进行车辆故障的识别,总得知道这些控制器里面存的0101是啥意思吧,也得知道怎么把他们读取出来。

汽车产业经过多年的发展,已经形成了一系列固有的规范体系,来定义这些,也就是一系列的诊断协议。

大家常会听说OBD、OBD II、 KWP2000、UDS、 DoIP

又会听说ISO9141、ISO14230、ISO15765、ISO14229、ISO15031、ISO27145、ISO13400 等等

头次接触感觉协议套协议,这些名词和协议之间有关联好像又不太一样,有点懵。

诊断标准发展史

还是按历史发展的顺序来摆一摆:

出台年份

协议标准

个人理解

1996

ISO 9141

基于K线的诊断协议,应用时间不太长,被后来的KWP2000很快替代掉

1999

ISO 14230

就是KWP2000,一般使用单线通信诊断(后来也可扩展至双线通信),由于成本较低,目前一些控制器上仍在使用

1999

ISO/DIS 15765

KWP2000 on CAN,是对ISO14230 在物理层为双绞线CAN通信的基础上的扩充

2001

ISO 15031

针对排放系统的诊断协议,有时候也等同于OBD(OBD车载自诊断也是一个泛指,代指一系列偏排放诊断的协议), 对故障诊断码的格式有一些约束;我国的国五排放的诊断就是执行的这一套标准

2001

ISO 15765

这个就是基于CAN总线的UDS协议了,和1999年那一版是完全不同的,重新定义了网络层和应用层的实现(-2/-3)

2006

ISO 14229-1

统一诊断服务UDS,规定了应用层的实现,不针对任何网络层实现,和ISO15765-3 一致

2012

ISO 27145

这个也有叫做WWH-OBD(全球统一车载诊断程序),整体相对完善其实要到2016年发布的第二版了,本质上15031和15765/14229,在交互逻辑上没有太大的区别,但是使用的命令框架不同,所以就开始有了这一版协议,把OBD排放诊断的框架往14229 UDS体系里面统一。

我国的国六就是使用的这一套标准

2013

ISO 14229

把UDS发扬光大,2-定义了链路层,3 定义了基于CAN总线的实现,4定义了基于FlexRay的实现,5基于IP网络协议的实现,6基于K的UDS实现,7基于LIN线的UDS实现

2011~2019

ISO 13400

基于以太网的车载诊断协议DoIP,这个协议从2011年开始一直在不断地持续修订,定义了基于以太网连接器布局和引脚排布,和传统OBD接口的引脚冲突解决

拓展了关于以太网激活和发现功能等等

目前主流的其中较为常见的是ISO-14229(UDS)和 ISO 15031/ISO 27145 (OBD) 。

关于诊断的部分这儿算开了个头,给自己挖个坑,打算看情况双日更新来填坑。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值