论文研读—基于 AUTOSAR 的汽车故障诊断系统的设计与实现

目录

前面

背景知识

OBD(On-Board Diagnostic)诊断技术

汽车电控诊断原理

诊断协议

AutoSAR的诊断功能

HIL硬件在环

诊断系统流程

诊断功能模块DCM\DEM

DCM

DEM

故障诊断算法

通讯协议

主要内容

诊断功能模块的具体实现

诊断通信管理

诊断事件管理

仿真测试环境

最后


前面

看了几篇AutoSAR方面的研究生论文,感觉学到了不少东西,这里做个总结分享。

今天分享这篇来自浙江大学 胡琦的《基于 AUTOSAR 的汽车故障诊断系统的设计与实现》。

背景知识

OBD(On-Board Diagnostic)诊断技术

OBD 诊断技术通过对故障码(Diagnostic Trouble Code,以下简称 DTC)的存储与读取,控制汽车仪表板上的故障指示灯的亮灭状态,反映系统的工作状况,并通过记录的故障码检测故障发生的位置和原因。

汽车电控诊断原理

汽车完整的故障诊断包括两个部分:

车内在线诊断系统—此系统用于监测车身内部的传感器和电子控制单元的工作情况,并根据这些数据信息自动检测系统故障,并将故障以故障代码的形式保存,同时点亮相应故障灯提醒驾驶人员。

车外离线诊断系统—此系统通过向车内在线诊断系统发送服务请求,读取相应的故障码信息以及清除故障码,并完成诊断协议提供的其他服务

说大白话:

车内在线诊断就是自检,出问题了赶紧亮起警示灯,然后把出现故障的代码以及相关的数据存起来(非易事存储器中);

车外离线诊断就是修车,维修工程师通过一些设备读取DTC来判断车哪里坏了,为啥会坏,核心难点在于诊断设备和ECU之间的通信方式,就是诊断协议该怎么搞。

诊断协议

ISO(International Standards Organization)

SAE(Society of Automotive Engineers)

美国使用 SAE 标准体系,美国之外的多数国家(包括中国)使用 ISO 标准体系。

AutoSAR的诊断功能

FIM 模块的作用是根据 DEM(Diagnostic Event Manager)报告的事件状态使

能或禁止软件组件内部的功能实体

DEM 模块遵循的标准与 DCM 相同,负责直接处理与 DTC(Diagnostic Trouble Code)相关的服务。

当应用软件组件中的 Monitor Function(故障诊断算法)检测到故障时,将通知 DEM 模块处理和存储相应的故障诊断事件(由 Event ID 进行标识)。

如果经过判定确诊为故障,则调用 NVRAM Manager(非易失存储器管理器),提供的接口将其存取到非易失存储器中(如 Flash 或者 EEPROM),同时通知应用层软件点亮故障灯,提醒驾驶人员相应的故障信息。

HIL硬件在环

HIL 不是将 ECU 连接到实车上,而是连接到 HIL 仿真设备上进行测试。

(就是我没有车,但我可以用HIL设备模仿车的状态)

下面这个图更准确:

诊断系统流程

诊断功能模块DCM\DEM

DCM收到AUTOSAR支持的OBD服务请求时,通过调用DEM 、应用层软件组件或者其他基础软件模块提供的接口,进行相应的故障诊断处理操作。

DCM

为了定义DCM的功能,AUTOSAR 将DCM 划分成3个子模块:DSL、DSD和 DSP 子模块。

DSL 子模块确保诊断请求和响应的数据流,监控诊断协议的时间和管理诊断状态。

DSD 子模块处理诊断数据流,其主要负责从网络上接收一个新的诊断请求并转发给一个数据处理器,在数据处理结束以后,发送诊断响应到网络。

DSP 子模块主要处理相应的诊断服务的请求。

DEM

DEM 负责对故障诊断数据(如故障冻结),进行处理、保存以及管理

为了读取和保存故障信息,DEM 需要通过 NM 提供的服务访问非易失存储器。同时,DEM 向 DCM 提供访问故障数据的接口,如读取和清除故障码

故障诊断算法

故障诊断算法,也称故障监测算法,其要点是不断检测系统的异常之处,从中找出故障:

一方面采取临时补救措施,使汽车能够跋行回家;

一方面将故障信息记录在非易失存储器上,使得维修人员使用离线诊断工具检查故障原因,必要时还点亮故障指示灯告诉驾驶员。

故障诊断算法不断地将ECU 的指令和系统的反应结果进行比较,同时检查各个传感器的信号是否可信借此确定是否存在某一种故障。

找到了故障,故障信号的处理是通过什么方式传递的呢?

通讯协议

AUTOSAR COM 从上到下包括五层协议,分别是 COM 层、PDU Router 层、CAN TransPort 层、Interface 层、Driver 层,其中 Driver 层包括了控制器与收发器的驱动。

DCM 通过调用 PDU Router 提供的服务接口,将诊断数据发送给 AUTOSAR COM。AUTOSAR COM 负责转发 DCM 与上位机诊断软件之间的诊断数据,不对数据进行任何修改。

主要内容

探索汽车故障诊断系统软件开发的新方法:使软件开发人员不需要关注底层硬件和通信的实现细节,只需要专注于软件本身功能的设计。

诊断功能模块的具体实现

诊断通信管理

首先使数据结构,其他模块与自己模块的。

其次是关键功能的操作流程:DCM启动传输、DCM处理当前请求、返回的积极与消极响应、重要接口的设计。

诊断事件管理

诊断机制:

DEM 对一个事件的诊断是由 DEM 模块和 SWC共同完成的。

SWC 中的Monitor Function对需要检测的部分进行实时监控,当检测到错误时,就需要将这个错误报告给 DEM 模块并判断是否出现故障。

诊断事件的处理与存储:

当一个事件的状念发生了变化时,DEM 需要通知相关的SWC 指示模块和一些软件模块来显示或处理故障。DEM 也需要能够使其他模块能够随时查询和改变事件的状态。

在诊断出故障之后,DEM 会根据收集到的一些信息和相关标准生成一个DTC,从这个 DTC 可以得到这次故障的一些相关信息,DCM 要取得故障的一些数据时也是通过 DTC 来获取的。

仿真测试环境

针对对象有点老了,氧传感器故障检测,就是燃油车上经常安装三元催化器对汽车排放的废气进行净化,但混合气的空燃比要保证在理论值附近,也就是说要能实时的检测到排气中的氧含量,所以各大厂商都加装了氧传感器

所以针对这个氧传感器有一套故障模拟算法模型。

…………

更细节的就不说了,毕竟是时代的产物。

最后

其实中间很多的细节,但自己看的也不是很明白,这里只记录了一些简单的知识点。

<think>嗯,用户想了解故障诊断算法。首先,我需要明确故障诊断算法的定义和应用领域。故障诊断主要应用于工业系统、机械设备、电子设备等,用来检测和识别异常或故障。接下来,应该分步骤介绍不同类型的算法,比如基于模型的方法、数据驱动的方法,还有混合方法。每个类别下需要具体的例子,比如状态估计、参数估计属于基于模型的方法;机器学习、统计分析属于数据驱动的方法。 要注意用户可能的技术背景,可能需要解释一些术语,比如“残差生成”或者“主成分分析”,但用户没有特别说明,所以保持适当深度。另外,用户提到使用中文回答,结构要清晰,分点说明。需要确保LaTeX格式正确,尤其是数学表达式部分,比如$y = f(x)$这样的例子。 可能用户是工程师或学生,他们需要了解不同算法的原理和应用场景,以便选择合适的方法。需要强调每种方法的优缺点,比如基于模型的方法需要精确的数学模型,而数据驱动的方法依赖大量数据。混合方法结合两者优势,但可能更复杂。 还要考虑故障诊断的基本流程,可能包括数据采集、特征提取、故障识别等步骤。是否需要简要介绍流程?用户的问题比较广泛,可能需要一个全面的概述,而不是深入某个细节。最后,应用案例可以帮助理解,比如在风力发电机或化工过程中的应用。确保回答真实可靠,引用常见算法如SVM、神经网络,避免不常见或未经证实的方法。</think>故障诊断算法是用于检测、定位和分析系统异常或故障的技术方法。以下从基础概念、主要分类和典型应用三个层面进行介绍: 一、基础原理 1. 核心目标: - 检测系统是否偏离正常状态 - 定位故障发生的具体部件 - 评估故障严重程度 - 预测故障发展趋势 2. 数学表达框架: 设系统观测信号为$$Y = [y_1, y_2, ..., y_m]^T \in \mathbb{R}^m$$ 故障特征空间可表示为$$F = \{f | f = \Phi(Y), \Phi: \mathbb{R}^m \rightarrow \mathbb{R}^n\}$$ 二、主要分类方法 1. 基于模型的诊断方法 - 状态估计法:构建状态观测器,通过残差分析检测故障 $$ \hat{x}(k+1) = A\hat{x}(k) + Bu(k) + K(y(k) - C\hat{x}(k)) $$ - 参数估计法:在线辨识系统参数变化 2. 数据驱动方法 - 统计分析法:采用主成分分析(PCA)、偏最小二乘(PLS) $$ T = XP,\quad SPE = \|X - \hat{X}\|^2 $$ - 机器学习法: * 支持向量机:$\min_{w,b} \frac{1}{2}\|w\|^2 + C\sum_{i=1}^n \xi_i$ * 深度神经网络:$y = \sigma(W_n(...\sigma(W_1x + b_1)...) + b_n)$ 3. 混合诊断方法 - 结合物理模型数据特征的融合诊断 - 贝叶斯网络:$P(F|E) = \frac{P(E|F)P(F)}{P(E)}$ 三、典型应用场景 1. 工业领域: - 旋转机械:轴承故障诊断(特征频率$f_{BPFO} = \frac{N}{2}(1 - \frac{d}{D}\cos\alpha)$) - 过程工业:基于PLS的传感器故障检测 2. 新兴领域: - 新能源汽车:电池SOC估计 $$ SOC(t) = SOC_0 - \frac{1}{Q_n}\int_0^t \eta i(\tau)d\tau $$ - 智能电网:基于波形分析的线路故障定位 四、算法选择建议 1. 模型精度高时优先选用基于模型方法 2. 数据充足场景适用深度学习(准确率可达98%+) 3. 小样本情况推荐SVM或贝叶斯网络 4. 实时性要求高时采用轻量化模型(如决策树) 最新进展: - 数字孪生技术实现虚实映射诊断 - 联邦学习解决数据孤岛问题 - 时频分析改进非平稳信号处理(如小波变换$\psi_{a,b}(t) = \frac{1}{\sqrt{a}}\psi(\frac{t-b}{a})$) 实际案例: 某风力发电机组采用混合诊断方案: 1. SCADA数据预处理(3σ准则去噪) 2. PCA提取主成分(累计贡献率>85%) 3. LSTM网络进行时序预测 4. 残差分析故障分类 实现齿轮箱故障检测响应时间<2s,识别准确率提升至96.7%。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值