目录

前面

背景知识

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 来获取的。

仿真测试环境

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

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

…………

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

最后

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

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

  1. [附源码]JAVA+ssm基于远程协作的汽车故障诊断系统(程序+Lw)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  2. [附源码]Python计算机毕业设计SSM基于远程协作的汽车故障诊断系统(程序+LW)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  3. python通信模块_基于Python的电路故障诊断系统通信模块的实现

    基于 Python 的电路故障诊断系统通信模块的实现 蔡莉莎 林尔敏 海南软件职业技术学院电子工程系 [摘 要] [文章摘要] [期刊名称] 电子制作 [年 ( 卷 ), 期] 2014(000)01 ...

  4. 论文研读-基于决策变量分析的大规模多目标进化算法

    论文研读-基于决策变量分析的大规模多目标进化算法 Multiobjective Evolutionary Algorithm Based on Decision Variable Analyses f ...

  5. 论文研读-基于种群分布的两阶段自适应知识迁移多目标进化多任务

    论文研读-基于种群分布的两阶段自适应知识迁移多目标进化多任务 Multiobjective Evolutionary Multitasking With Two-Stage Adaptive Know ...

  6. 基于SSH的汽车租赁系统的设计与实现

    [A-016]基于SSH的汽车租赁系统的设计与实现(含论文) 开发环境: Eclipse/MyEclipse.Tomcat8.Jdk1.8 数据库: MySQL 适用于: 课程设计,毕业设计,学习等等 ...

  7. 电影点评系统论文java_毕业设计(论文)-基于web的电影点评系统分析与设计.docx...

    毕业设计(论文) 论文题目 基于web的电影点评系统分析与设计 thesis Topic Movie reviews system analysis and design based on web A ...

  8. 基于JSP的汽车租赁管理系统的设计与实现

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 摘 要 随着汽车工业的发展和汽车在现实生活中的普及,汽车租赁成为近年来兴起的一个新行业.为规范 ...

  9. 基于springboot的汽车租赁管理系统的设计与实现

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...

最新文章

  1. Springboot验证表单数据和自定义验证
  2. 成功解决AttributeError: module 'tensorflow' has no attribute 'merge_all_summaries'
  3. 在linux下磁盘挂在操作,linux下挂载磁盘操作
  4. 【Flink】Flink Heartbeat of TaskManager with id timed out.
  5. 11 怎么给字符串加索引
  6. 解决 screen 连接不上,提示“There is no screen to be resumed matching 18352.” 的问题
  7. 使用U盘全新安装Mac OS X EI Capitan
  8. 模式识别与智能系统类毕业论文文献都有哪些?
  9. Java命名和java图标来由
  10. mpu6050 z轴校准_MPU6050校准
  11. 【通信仿真】基于matlab Aloha协议仿真【含Matlab源码 1686期】
  12. 用java做打字训练测试软件,《打字训练测试软件-Java课程设计》.doc
  13. 英语中For和To的区别
  14. 江南农村商业银行容器云平台建设经验分享
  15. 大连八中学2021年高考成绩查询,2021年大连各高中高考成绩排名及放榜最新消息...
  16. HTML开发者工具抓取所有图片,利用Chrome开发者工具功能进行网页整页截图的方法...
  17. Mac删除键的5种用法
  18. “高抛低吸”与“追涨杀跌”
  19. C++设计模式——策略模式(高屋建瓴)
  20. Q3c「最大可以支持多大容量的硬盘?」AirDisk

热门文章

  1. Java使用 PDFBox创建 PDF 文件并将文本写入其中
  2. 数无形时少直觉-好书推荐
  3. 瞄准MSP市场风口,Bespin为企业转型保驾护航
  4. HMS Core助力宝宝巴士为全球开发者展现高品质儿童数字内容
  5. 彩色MT9V034摄像头 Bayer转rgb FPGA实现
  6. 网站友情链接建设的九个原则
  7. 小程序-心理学辞典应用开发的心得
  8. ORACLE EMCC13安装配置
  9. 芸赞通天下沈扬舍己为人亮风采
  10. 微信小程序简介、设计规范、运营规范等基础知识