2024年4月17日发(作者:)
第39卷第2期
船海工程
Vo1.39 No.2
2010年4月
SHIP OCEAN ENGINEERING
Apr.2010
嵌入式linux在柴油机在线诊断装置上的应用
赵佰权 ,刘建设 ,许小伟 。金华标 。李明迎。
(1.武汉理工大学能源与动力工程学院,武汉430063;2.九江职业技术学院,江西九江332000)
摘要:针对以pcl04为主体的诊断仪,在虚拟机linux下裁剪嵌入式内核,制作根文件系统及安装grub
引导程序,分析linux的启动以及CF卡加载过程,在系统监测应用程序中,实现图形界面应用程序的移植。
关键词:柴油机;在线诊断;嵌入式linux;移植;图形界面
中图分类号:U664.121;TP316.8 文献标志码:A 文章编号:1671—7953(2010)02—0071—03
利用在线诊断装置,记录柴油机的运行状态,
PS2键盘/鼠标接口。使用1G的CF卡作为启动
诊断已存在或潜在的故障,可以大大减少_丁作量 盘,在BIOS里设置为第一启动方式,linux系统
人员的检修工作量,并提高柴油机的运行可靠性。 自动识别其为主启动盘。
装置通过对柴油机转速信号的采集、处理来判断
在PC机上安装虚拟机linux,利用虚拟机进
柴油机的运行状态。系统的显著特点是利用可靠 行内核裁剪,根文件系统制作,以及引导程序的安
的转速传感器拾取瞬时转速信号作为状态分析的
装。利用读卡器将开发的嵌入式linux移植到
主要信息源。理论和运用表明,柴油机工作时瞬
CF卡上,并且把应用程序也移植进去,最后将CF
时转速信号蕴含着柴油机各个气缸工作状态的信 卡在诊断仪上进行试验验证。
息。利用这些状态信息,可以诊断引起各缸功率
1.2嵌入式linux的制作
不平衡表征的各类故障_1J。系统主要包括转速信 嵌入式linux的制作包括内核裁剪、根文件
号采集、数据处理、数据保存、数据显示和数据发
系统制作以及grub的配置。Bootloader是系统
送几个部分。为使系统可进行精确诊断,必须配
加电后运行的第一段代码,只在启动系统时非常
备一个合理的操作系统。嵌入式linux作为一种
短的时间内运行。对于嵌入式linux系统,至关
嵌入式操作系统,十分适合资源限定的各种环境。
重要。在系统中,整个Bootloader由系统中的
嵌入式linux源代码公开,基于其强大的可裁剪
()S和CF卡内的MBR(主引导扇区)中一段代
性和可移植性,越来越被操作系统开发者青睐。
码来共同完成引导任务。采用grub引导方式来
针对目标硬件,裁剪一个嵌入式linux,并且移植
实现Bootloader的后半段功能。系统先将BIOS
到目标系统上。
检测到的MBR内容读取到内存中,然后将系统
1嵌入式linux的开发
控制权交给相应的grub,最后,grub负责把所要
引导的操作系统的内核镜像读取到系统RAM
1.1 系统软硬件开发环境
中,跳转到内核的人口点。vmlinuz是Linux内
选择一款486DX级别的目标板,采用X86兼
核的镜像文件,可以被引导程序加载,从而启动
容处理器,CPU主频200 MHz,内存64 M。支持
Linux系统。Initrd(boot loader initialized RAM
CRT、LCD屏、IDE硬盘、ATAPI CD-ROM,并集
disk)是系统启动时所使用的根文件系统映像文
成2个串口1个并口,支持USB接口,带标准
件。
内核是操作系统的核心,负责管理系统的进
程、内存、设备驱动程序、文件和网络系统,决定着
收稿日期:2009—03—18
系统的性能和稳定性。文中选择的内核版本为
修回日期:2009—04—08
linux-2.6.0。编译内核时候注意需要root权限。
作者简介:赵佰权(1986一),男,硕士生。
研究方向:柴油机电子控制。
字符终端下推荐使用make menuconfig配置方
E-mail:zhaobaiquan20@1 63.corn
式,他是基于文本选单的配置界面。
内核配置时大部分选项可以使用其缺省值,
71
第2期 船海工程 第39卷
只有小部分需要根据用户不同的需要选择。选择
的原则是将与内核其他部分关系较远且不经常使
用的部分功能代码编译成为可加载模块,有利于
减小内核的长度,减小内核消耗的内存,简化该功
能相应的环境改变时对内核的影响;不需要的功
2启动过程分析以及程序流程
系统加电自检后,位于BIOS的ROM的引
导装入程序开始寻找引导扇区,进到装入程序,
能就不要选;将与内核关心紧密而且经常使用的
部分功能代码直接编译到内核中
grub首先加载所选择的操作系统内核_3],然后加
载根文件系统。当系统镜像被激活后,会查找并
配置完成后进行编译。用make dep命令建
立依赖关系,并使用make bzlmage生成镜像。得
到的内核镜像文件bzlmage是系统启动的必需的
文件。
根文件系统制作是嵌入式Linux中的一个重
要部分。Busybox是构建嵌入式linux根文件系
统的软件,用他制作根文件系统简单方便,而且设
置灵活。Busybox在设计上充分考虑了硬件资源
受限的特殊工作环境L2]。首先需要在虚拟机上安
装Busybox。Busybox集成了一百多个常用
linux命令和工具以及http服务器和telnet服务
器。利用Busybox进行根文件系统裁剪,最后得
到一个根文件系统镜像文件。选用一个稳定的版
本Bbusybox-1.00进行配置。
建立根文件系统的基本目录,包括有etc、
usr var tmp、proc home root、dev cf lib in—
clude,直接拷贝。其中bin、sbin和linuxrc一>
bin/busybox在编译busybox后会自动生成。并
且需建立设备文件,可以直接从系统/dev目录拷
贝。设备文件是一种特殊文件,拷贝时加一R参
数:#cp-R/dev/console/tmp/myOS/rootfs/
dev/。根据需要,拷贝null,zero,fdO,hda,hdaO,
ram,raml,ttyl,loopl,fbO,fb,tty等等。在制作
initrd.img镜像文件时注意根文件系统大小不能
超过内核中设定的RAMdisk的大小,否则系统
运行会提示错误。
在安装bootloader时采用Grub方式。Grub
是一个多重启动管理器,和lilo相比,支持大硬
盘,支持开机画面,分区位置改变后不必重新配
置。建立好CF分区后格式化成EXT3格式,在
CF卡上创建boot目录和grub子目录,用于存放
配置文件。将虚拟机grub目录下stagel、stage2
和e2fs
—
stagel
一
5拷贝到创建的grub目录下。将
grub安装到CF卡上,注意修改配置文件以使系
统能正确查找到内核镜像和根文件系统镜像。这
样,一个完整的嵌人式linux就已经移植到
72
执行linuxrc程序,linuxrc按照脚本文件/etc/
initab执行。首先执行/ete/init.d/reS,该程序内
容中/bin/mount a为加载/etc/fstab下的所有文
件,./cf/hellowor|d为运行CF目录下的hel—
loworld程序,这个helloworld就是应用程序。在
fstab中,按一定文件格式来添加文件与设备:
fsspec fsfile fstype fs
options fs
dump fs
— ———
pass
proc/proe proc defaults 0 0
/dev/hdal/cf ext3 defaults 0 0
第一项为设备文件描述符;第二项为挂载目
录;第三项为设备文件系统类型。开机启动时,
通过上述方式将CF卡自动挂载到系统。要使
应用程序在开机后自动运行,可在/etc/init.d/
rcS中添加命令:./cf/helloworld。开机后,cf目
录下的helloworld程序就自动执行。系统流程
见 图1。
L
图1 linux启动流程
3 图形界面应用程序
QT Embedded作为一种图形界面应用程序,
与文本显示相比更直观。通过移植QT Embed—
ded到X86目标机,实现应用程序的图形化。在
Linux虚拟机上安装Embedded QT编译环境,编
写应用程序。图2为实际运行的程序窗口。移植
到目标板时,由于开发板与目标板都是X86体
系,只需将应用程序所需要的库文件以及对应系
统文件拷贝到目标板上。
嵌入式linux在柴油机在线诊断装置上的应用——赵佰权,刘建设,许小伟,金华标,李明迎
一
的显示界面,窗口式界面以及按钮式人机交互
使得系统更加友好。
内燃机状态监测使
状 柴油机转速:764 rpm 油藕:1.37 glkw.h
4 结论
1)在PCIO4上移植嵌入式linux,实现系统
套 增压器增压压力:妻375 RP
发电机输出动率:1750 KW
进气温度:45 C
上止点信号:有受载状态:负载调速状态:稳定
柴油机状态:故障 故障缸号:6
数据保存: l25 组
田I
内核与根文件系统的裁剪配置,并且利用grub引
导工具配置启动参数,在CF卡上实现自动加载
运行,自动挂载运行应用程序,解决了内存支持以
及多线程问题。
2)将图形界面QT Embedded移植到嵌人式
警 GPRS理 状态:正常
发送状态:正在发送
釜 文侔名:i9831205,tim
数据传输:正常
匿囡 幽
图2应用程序界面
豳
Linux系统,采用可视化编程,实时采集柴油机的
各种状态参数,对超限的参数进行报警,高亮显
实验证明,移植的嵌入式linux系统可以采
集和监测系统故障,保存故障数据并在显示界面
上进行故障报警。与原有DOS系统相比,嵌入式
示,后台同时进行保存正常值数据与故障数据。
参考文献
-11]喻方平,缪
I-2]胡
敏.船舶发电柴油机在线监测与故障诊
Linux打破了DOS系统中不能支持大内存的限
制,解决了内存不足问题。其次,DOS系统是单
线程系统,不能在同一时间内处理多个线程,嵌人
式linux系统支持多线程,可以实现多任务处理,
实现程序中同时进行信号采集与标定诊断等多项
任务。图形界面的引进,改变了以往DOS系统单
断系统EJJ.中国航海,2003(2):76—78.
维,张方樱.构建嵌人式linux的根文件系统的
busybox方法[J].广州大学学报,2008,7(3):38—40.
[3]许德新,谈振藩,胡文彬,等.嵌入式linux在PC104
平台上的构建与实现[J].应用科技,2006,33(10):
35—37
Application of the Embedded Linux in Diesel Engine on—line
Di13lagnosiagnoSIs EquiS mpmentlc
ZItAO Bai-quan 。LIU Jian-she ,XU Xiao-wei ,JIN Hua-biao ,Li Ming-ying2
.
(1 School of Energy and Power Engineering,Wuhan University of Technology,Wuhan 430063,China;
2 Jiujiang Vocational And Technical College,Ji@ang Jiangxi 332000,China)
Abstract:Based on the pcl04 diagnosis equipment,cutting out the embedded kernel,making the file system and fix—
ing the grub booting system were done with the virtual machine.The process of the starting of the system and loading the
CF card was also analyzed.In the application of system diagnosis,the graphic interface had been migrated into the Linux
system.
Key words:diesel engine;embedded Linux;migration;graphic interface
73
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713296168a2220837.html
评论列表(0条)