基于嵌入式Linux的柴油机故障诊断模块设计方法

时间:2019-03-26 12:47:13 来源:泽当新闻网 作者:匿名



基于嵌入式Linux的柴油机故障诊断模块设计方法

作者:未知

摘要:随着柴油机电控系统和车载CAN网络的广泛应用,基于车载网络运行的柴油机故障诊断系统发挥着重要作用。本文在嵌入式Linux系统的基础上,设计了一种可以分析J1939网络协议的柴油机故障诊断模块,具有成本低,可维护性和可扩展性的优点。东风康明斯CM2150柴油机的实验结果表明,该模块能够正确有效地实现电控系统的故障诊断。

关键词:嵌入式Linux;柴油发动机; J1939协议

随着车载电子控制技术的快速发展,柴油电控发动机和车载网络技术得到了广泛的应用。目前,高性能柴油机故障诊断系统主要使用外国公司生产的产品,不仅增加了国内汽车企业的运营成本,而且阻碍了我国具有自主知识产权的汽车产业的发展。因此,本文试图设计一种基于开源软件平台的柴油机故障诊断模块。该模块基于嵌入式Linux操作系统内核,通过对车辆J1939网络故障诊断协议的分析,实现了电控柴油机的故障诊断。该模块提供了完整的应用界面,可以高效地集成到现有的各种车辆故障平台中,并具有良好的应用性价比[1]。

1系统架构

本文设计的柴油机故障诊断软件模块逻辑上分为硬件抽象层,内核层,J1939分析层和应用层。架构如图1所示。

2硬件抽象层设计

本文设计的硬件抽象层的主体是硬件资源工具包(BSP)。 BSP的作用是封装底层硬件的细节并提供对内核的访问。本文选择的硬件平台是飞思卡尔的imx6q处理器,因此BSP移植适用于imx6q处理器。该方法如下。

(1)分别在\ mqx \ source \ bsp和installdir \ lib目录中创建一个新目录fsmqx;

(2)在nscf51acrl.mem文件中:“范围0x000004100x0003FFFF 4 ReadWrite //256KB闪存的第二部分

保留0x000400000x007FFFFF“

改成:

“范围0x00000410 OxOOOlFFFF 4 ReadWrite //128KB闪存的第二部分

保留0x000200000x007FFFFF“

(3)在$ installdir \ mqx \ source \ bsp \ nscf51acrl \ cw \ intflash.lcf文件中:

“:ROM(RX):

ORIGIN=0x00000440,LENGTH=0x0003FBBF #Code Const data#=0x3FFFF -0x440 :: 256K Flash“

变成:

“rom(RX):ORIGIN=0x00000440,LENGTH=0x0001FBBF#Code Const data#=OxlFFFF -0x440 :: 128K Flash”。

3嵌入式Linux内核移植

嵌入式Linux系统是一种用于嵌入式设备的开源多任务操作系统。该系统具有性能稳定,便携性好的优点,广泛应用于各种非实时嵌入式计算环境中。因此,本文将其移植到基于[2]的嵌入式平台上。具体的移植方法如下。

3.1驱动器定制

由于飞思卡尔的imx6q处理器集成了CAN总线驱动程序MSCAN,因此本文设计的系统是MSCAN。

自定义驱动程序mscan.c和mscan.h。其设计方法是:(1)MSCAN初始化过程如图2所示。

(2)CAN数据帧收发器功能设计。

CAN数据帧的发送和接收功能流程如图3-4所示。

3.2文件系统定制

文件系统的作用是管理各种类型固件中的程序文??件和配置文件。本文构建了一个基于Yaffs2的嵌入式Linux文件系统映像[3]。

4 J1939协议分析

J1939协议是位于CAN总线应用层的通信协议,用于定义和标准化CAN字段中ID字段和DATA字段的内容。该协议基于J1708和J1587协议标准开发,具有运行开销低,通信过程高的优点,广泛应用于各种大中型客货车[4]。 J1939协议包括J1939/11,J1939/21,J1939/31,J1939/71,J1939/73等子协议,其中J1939/73定义了车辆电子控制单元的通信应用层和故障诊断规范[ 5]。因此,本文设计的模块的核心任务之一是解析协议。解析过程主要用于PDU包扩展,基本方法包括以下两种[6-7]。

4.1身份证明

CAN数据帧ID根据数字字典中的ID类型进行模式匹配,具体方法是常规匹配方法。

4.2数据区域分析

协议树搜索方法用于分析CAN数据帧DATA区域的数据,以获得柴油机电子控制系统的原始参数。

5实验

本文设计的柴油机故障诊断模块通过CAN总线电缆连接东风康明斯CM2150柴油机的OBD接口。进行了两个实验以进行故障代码读取和数据流读取。系统正确读取两组故障代码,即水温传感器信号线短路接地,燃油轨压力传感器信号线断开。该系统能够以10 Hz的采样率正确读取发动机转速,油门踏板开度,燃油轨压力,进气量,水温等工况数据,达到预期效果[8]。六,结论

本文在嵌入式Linux系统的基础上,设计了一种可以分析J1939网络协议的柴油机故障诊断模块,具有成本低,可维护性和可扩展性的优点。东风康明斯CM2150柴油机的实验结果表明,该模块能够正确有效地实现电控系统的故障诊断。

[引用]

[1]孙鹏。柴油机共轨电控喷射系统故障诊断方法探讨[J]。山东工业技术,2018(8):44。

[2]刘世伟。船用柴油机故障诊断技术发展现状及趋势分析[J]。内燃机和配件,2018(6):146-147。

[3]张远征。基于嵌入式Linux和QT的矿用柴油车虚拟仪器软件设计[J]。煤矿机械,2016(12):163-165。

[4]李兆峰。基于嵌入式技术的柴油机故障诊断系统设计[D]。武汉:武汉理工大学,2012。

[5]刘鲁平,张凤登,车锐。基于CAN总线的柴油机故障诊断系统[J]。电子测量技术,2016(12):184-188。

[6]李文静。船用柴油机信息系统硬件在环系统的研发[D]。上海:上海工程技术大学,2014。

[7]匿名。基于CAN总线的通用应用层协议:J1939,CANopen,DeviceNet [J]。国内外机电一体化技术,2018(1):42。

[8]王志斌,吴长水,黄敏涛,等。基于J1939协议的车辆故障诊断与ECU消息分??析[J]。微控制器与嵌入式系统,2017(12):7-11。


  
泽当新闻网版权与免责声明:

凡本网注明“来源:泽当新闻网”的所有文字、图片和视频,版权均属泽当新闻网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。

已经被本网协议授权的媒体、网站,在下载使用时必须注明“来源:泽当新闻网”,违者本网将依法追究责任。