转:一文了解车辆诊断技术 - 知乎
0.导读
随着汽车智能化、网联化发展,用户对于车辆不再满足于代步的功能需求,更多追求智能化、个性化的需求。这也就导致车身控制器数量不断增加,随着电子控制单元数量的增多,结构变得越来越复杂,也给汽车维修诊断带来了新的挑战。
车载诊断技术被广泛应用于车辆软硬件开发的全流程。
1.何为车辆诊断?
车辆在运行过程中,不可避免地会发生一些故障,为了确保行车安全,实时监测车辆部件的运行状态,就需要车辆故障诊断技术。
车辆诊断方式分为两种:
一种是法规强制要求的——OBD(在线诊断),主要用于车辆运行阶段能够及时地通告故障信息,检测到故障后及时向驾驶员发出警告或提示信息,可以通过借助车辆手册获得相关的解决办法。
另一种是UDS(离线诊断/增强型诊断),除报告故障之外,还拥有很多其他的功能,通过UDS诊断协议可以对车辆进行一系列操作,通过查询数据或者控制变量的方法对车辆进行诊断,确认是否有问题或者发生了什么问题,从而指导维修。
OBD是关注车辆售后实时排放的理念形成的行业规范,而UDS是诊断服务的统一化规范,是应用层的规范。
OBD是面向排放系统ECU的,UDS则是面向整车所有ECU的诊断,本次主要分享应用非常广的UDS诊断的应用。
2.UDS诊断的主要作用
UDS是基于OSI参考模型设计的,是由ISO 14229-1定义的一套国际通用的诊断服务指令,规定了诊断请求和响应的格式。UDS的作用非常广泛,覆盖ECU软件开发的全过程。如:
- ECU开发过程要用到它来构建bootloader,上传和下载数据,即软件刷写,控制器Reset;
- 测试时要用它来读写存储,控制外设;
- 产线上,要用它来校准机械件,控制例程,进行下线执行器测试,刷新软件,配置防盗,读取号码,下线配置等;
- 在行驶过程中,要用它来监测各种故障,并记下故障码;
- 4S店里,技师需要读取当前故障、历史故障,读取故障发生时刻环境信息状态,清除故障,判断故障发生点,还可以用来升级ECU程序。
3.UDS诊断通信机制
采用“一问一答”的方式,即诊断仪发送“请求”,ECU收到请求之后进行处理,然后向诊断仪回复。
诊断仪规定了“请求”和“回复”的格式,由于寻址方式不同,有无sub-function的支持等会影响请求和反响的处理方式和结果。
UDS寻址方式主要有两种:
一种是物理寻址,点对点,一对一,可以根据物理地址的不同进行访问,但只能访问单个节点,各个ECU采用不同的CANID针对提问作出应答。
另一种是功能寻址,一对多,根据功能的不同进行访问,可以访问多个ECU节点,各个ECU也采用不同的CANID针对提问作出应答。
两种寻址方式所支持的服务是不一样的,ECU所支持的服务,物理寻址都可以访问,功能寻址只能访问部分服务。
