基于ARM的智能化故障诊断系统方案的研究

时间:2022-10-20 07:06:15

基于ARM的智能化故障诊断系统方案的研究

摘要本文从嵌入式平台的特点和故障诊断系统的功能出发,提出了基于ARM的智能化故障诊断系统的整体解决方案,重点研究系统的体系结构和软硬件的实现。该系统采用在线监测系统与远程高级诊断系统相结合的结构,以CAN 总线作为外部数据信号的接收端口,无线网络作为向远程高级诊断系统传送信息的媒介,完成数据采集、在线监测以及远程故障诊断等功能。

【关键词】ARM 嵌入式系统 故障诊断 在线监测

1 系统技术方案

1.1 系统组成

基于ARM的智能化故障诊断系统主要由信号采集单元、在线监测单元、通信单元及远程高级诊断单元4个部分组成。其中,信号采集单元,在线监测单元和通信单元组成在线监测系统,对被测单元进行数据采集及简单的故障诊断。在线监测系统与远程高级诊断系统之间通过无线网络进行数据、命令交流。

1.2 工作原理

上电启动后,系统将根据用户设置的命令对被测单元的信号进行连续采集,通过CAN总线将采集信息传送给在线监测单元,在线监测单元将自动或按照命令调用系统内包含的智能化诊断系统,与预设定的信息进行分析比较,完成对可能或已经出现的故障的分析判断,并实现故障定位。对于不能处理的信息则通过无线网络传送给远程高级诊断系统,由它对数据进行更深层的分析处理,并在专家系统的支持下给出检测诊断结论与故障信息,记录并存储这些故障信息,为日后维修人员的维修护理提供依据。

2 系统硬件架构

该系统硬件主要由两大部分组成,一部分用于前端对被测单元实施信息采集,状态监测及初步的故障诊断,称之为在线监测系统,由嵌入式计算机来实现;另外一部分用于远程接收并处理在线监测系统所传送的信息,诊断出相应的故障,称之为远程高级诊断单元,由PC机来担任。

2.1 在线监测单元

在线监测单元主要由信号采集单元、通信单元、存储单元、中央处理单元、人机交互单元以及CAN总线单元组成。

2.1.1 中央处理单元

中央处理单元是以S3C2410为核心,Samsung公司的S3C2410是基于ARM Thumb的ARM920T微处理器,它内部集成了各种丰富的功能模块和标准接口。中央处理单元主要完成各模块的初始化,实时监控和实时通信,并根据用户交互信息来运行各模块程序以满足用户的要求。

2.1.2 存储单元

在系统中,S3C2410外扩了2片64M字节的FLASH存储器,用于存储硬件底层驱动、实时操作系统、应用程序以及保存大量运行时采集的数据,以备需要时读出。SDRAM 由2片16位数据宽度并联为32位数据宽度的SDRAM存储系统,主要用于在系统运行时装载实时操作系统和应用程序以加快应用程序的运行。

2.1.3 通信单元

通信单元包括无线网络接口,负责将在线监测单元的信息通过无线网络发送至远程高级诊断系统,并接收来自高级诊断系统返回的诊断信息显示给用户。此方法使得故障诊断可以分级实现,满足许多设备故障诊断对移动性和实时性的要求。

2.1.4 CAN总线单元

CAN总线的实时性强、可靠性高、通信速率快、总线协议具有完善的错误处理机制、灵活性高和价格低廉等特点,非常适合本系统。系统中的CAN控制器由实现CAN总线协议和与微处理器接口的电路组成,负责所采集信息与在线监测单元之间的通信。

2.1.5 信号采集单元

该单元主要由信号转接电路、信号调理电路和A/D转换电路组成。信号转接电路引出被测单元的电信号,通过调理电路实现对各个引出的信号的限幅、滤波、降噪等功能的处理,然后进行A/D转换供系统计算和故障诊断使用。

3 系统软件设计

3.1 在线监测单元的软件设计

3.1.1 操作系统的移植

选择Linux操作系统,符合GNU/GPL公约,完全开放源代码。对Linux的源代码进行重新编译,首先要安装Linux下ARM开发的交叉编译器,然后进行内核的裁减和编译,当编译结束时会生成内核的镜像文件Image.rom,通过JTAG接口将其输写到开发板,结合相应的初始化程序就可以在开发板上运行小型嵌入式操作系统。

3.1.2 软件的结构

基于ARM的智能化故障诊断系统内嵌Linux操作系统,此平台上有监测记录主程序。监测记录主程序完成子系统的基本功能,主要包括数据采集模块、人机接口模块和故障处理3个模块。

3.1.3 软件的实现

这部分软件由两部分组成,一部分是内核驱动程序。驱动程序由自动配置和初始化子程序、服务于I/O请求的子程序以及中断服务子程序3个主要部分组成。每个设备的设备驱动程序提供open 、close 、read、write 、ioctl 和select 的入口点。在设备驱动程序初始化的时候,通过调用register_chrdev向系统注册字符型设备驱动程序,以便系统在适当的时候调用。最后把设备驱动程序作为可加载的模块,由系统管理员利用insmod动态地加载它,使之成为核心的一部分。编写模块程序的时候,必须提供int init _ module ( void) 和void cleanup _module(void)两个函数,负责进行设备驱动程序的初始化和清除工作。

4 结束语

ARM微处理器是可综合处理器,使用单一的处理器内核就可以实现故障诊断系统所需要的大部分功能,极大地减小了总体芯片的面积和系统的复杂程度。基于ARM的智能化故障诊断系统能够利用系统内置故障诊断功能,可以方便快速地确定故障来源,从而更好了解设备工作状况,制订更加经济有效的维修策略。

参考文献

[1]刘承武.黄先祥等基于无线网络的大型装备在线监测与故障诊断[J].火炮发射与控制学报,2006(04).

[2]田泽.ARM9嵌入式开发实验与实践[M].北京:北京航空航天大学出版社,2006.

作者单位

中国航空计算技术研究所陕西省西安市710068

上一篇:基于单片机的锂电池综合测试系统研究 下一篇:快速恢复仪器操作系统初探