卢建华,吴晓男,陈万勇,王新华
(1.海军航空工程学院 自动控制系,山东 烟台 264001;2.92635部队,山东 青岛 266041;3.92742部队,辽宁 山海关 066203)
飞机发动机在高温、高压、高转速和高负荷等极为苛刻的条件下工作,为了保证飞机的飞行安全和作战、训练任务的完成,必须保证发动机及其系统的工作可靠性,所以在飞行出动前、日常维护、定检等工作中必须对发动机的各状态参数进行检测。这种检测具有测量参量多、量程范围广、系统复杂、通道众多、现场环境恶劣等特点[1-2]。目前检测发动机状态的设备,一般体积、重量大,集成度低,导致机动性和灵活性较差,不能很好地满足现代作战对发动机测试的要求,且给地勤人员增加了飞机的维护保障难度,影响了飞机的保障效率。因此,研制一套功能齐全、智能化、集成度高,使用、携带方便的发动机状态原位监测设备尤为迫切。
测试参数种类包括温度、压力和转速。其中,温度包括大气温度、各截面总温、燃气温度等;压力包括发动机副油道压力、空气压力等;转速包括高压转子转速和低压转子转速[3]。
发动机状态检测设备总体构成如图1所示,由适配器、信号采集处理模块、嵌入式测试平台组成。图中,机载传感器测量被测对象发动机的各种物理量 (温度、压力、转速等),并将其转换成电信号。适配器将输入的电信号通过处理转化为标准电信号送给嵌入式测试平台,测试平台对输入信号进行相关运算和处理后、通过液晶屏显示最终的测试结果,并实时保存测试数据,为地勤人员进一步对发动机进行故障分析与诊断。
图1 发动机测试系统的总体构成
嵌入式平台是系统的智能指挥中心,根据检测设备总体设计要求,所设计的嵌入式平台结构如图2所示,它由最小系统和各种外围扩展电路接口组成。嵌入式平台采用分层结构设计,顶层为最小核心系统层,底层为外围扩展模块层。
图2 硬件平台结构框图
最小系统层由处理器(S3C2410)、64 MB Nand Flash、两片 64 MB SDRAM、网口芯片 CS8900、Multi-ICE调试接口和复位模块组成。底层由LCD模块、SD卡模块和电源模块等组成。
最小系统由嵌入式实时操作系统Windows CE进行系统管理和运行应用程序,采用Flash存储器来存储操作系统代码。由于Flash的读写速度相对较慢,因此不直接用Flash运行操作系统和应用程序,而是选择两片64 MB SDRAM作为闪存。系统加电时,地址指针首先指到Flash的第一个地址,执行Boot Loader进行系统初始化,将操作系统本身拷贝解压到SDRAM中,让整个操作系统在SDRAM里执行,使系统达到最佳的速度。SD卡保存每次测试的结果,建立数据库,提供大容量的存储空间[4]。LCD接口为嵌入式处理器提供自由、强大的用户输入输出接口。为满足状态检测与故障诊断系统软件开发的需要,设计了必要的扩展按钮、工作状态指示灯和4×1键盘接口等。电源管理模块提供5 V、3.3 V和1.8 V三种电源。时钟模块由12 MHz的系统时钟和32.768 kHz的实时时钟组成。Multi-ICE接口用于S3C2410的在线调试。
该模块完成传感器输出信号的采集和数据处理工作,其结构如图3所示。嵌入式平台通过数据总线读取该模块的数据,计算出实时的测量值,同时利用软件绘制出发动机各个参数的试车曲线,记录并保存测试数据。
2.2.1 FPGA设计与配置
图3 信号采集处理模块组成
现场可编程门阵列FPGA(Field Programmable Gate Array)器件选用基于SRAM的内部结构的FPGA芯片XC2S100E[5]。设计过程中将XC2S100E工作于主动串行模式。FPGA的程序存放在外部PROM XC18V01中,这些程序可以通过加电自动加载到FPGA中或通过命令加载。在主动串行模式下,系统加电时产生一个驱动XC18V01的时钟信号,通过这个时钟脉冲,XC18V01中的数据通过XC2S100E送到FPGA。FPGA与配置芯片的连接关系如图4所示。
2.2.2 转速测量模块的设计
采用嵌入式单片机和FPGA相结合对转速测量模块进行设计,通过对转速信号的采集、运算和分析实现对发动机运行状态的在线监测。某型发动机四路转速信号经机载传感器转化为四路频率信号,该频率信号经74LV04反向驱动后,送入FPGA的I/O口采集计数,然后嵌入式单片机通过数据总线读取FPGA的计数值,并通过软件计算出最终的转速值。所设计的电路如图4所示。图中,FPGA实现时间门限的开通、关闭及计数,然后将计数值送入嵌入式软件平台,实时计算出发动机的转速值。20 MHz晶振时钟电路为FPGA提供外部标准时钟信号。LED1~LED4为状态指示灯。根据指标要求,频率的分辨率等于1 Hz,因此程序中把对频率的计数门限时间设为1 s,门限时间的设置以外部的参考晶振为基准,通过计数器实现。
2.2.3 温度与压力测量模块的设计
温度传感器将温度信号转化为相应的电信号,经专用适配器将其转化为0~+5 V的模拟量。16路模拟信号经多路开关后送入调整电路,再经A/D转换器转换为数字量,最后利用FPGA采集处理后通过数据总线来读取FPGA运算值,并通过软件做较简单的计算得出最终的测量结果,测量的结果可以保存在SD卡存储器中。
测量电路组成如图5所示。由通道选择电路、信号调整电路和A/D转换电路三部分组成。A/D转换后将采集到的数据量输入到FPGA里。
(1)通道选择电路:采用1片16路多路开关MAX396完成对多路模拟信号的输入选择,其地址位A0A1A2A3决定输入信号对应的输出通道号,EN使能端控制是否处于工作状态。A0A1A2A3和EN均可通过FPGA编程来实现;(2)信号调整电路:以美国ADI公司的运算放大器AD8605为核心进行设计;(3)A/D转换电路:选用4通道、12位的模数转换器件MAX1282,采样频率为400 kHz。
为提高系统的稳定性和精度,设计中采用数字滤波方法,将输入信号经过低通滤波器处理,可有效地消除输入信号中的高频噪声信号[6]。
图4 FPGA与配置芯片电路和频率测量电路
测试系统软件设计包括Windows CE的移植、驱动程序开发和应用程序设计[7]。
Windows CE操作系统从体系结构上具有分层结构和微内核结构的特点,可以被裁减和重新配置,具有很强的扩展性。使用该系统提供的集成开发环境PB(Platform Builder),开发人员可根据它的提示完成操作系统镜像的定制、编译与调试工作,并可在此环境中进行应用软件和驱动程序的开发。
平台定制过程如下[8]:(1)选择操作系统的基本配置,并且为特定的平台选择相应的微处理器和平台支持包BSP。本平台选用三星公司的ARM9 S3C2410作为核心处理器,在PB的BSP列表中,选择SAMSUNG SMDK2410:ARMV4I作为开发板支持包。(2)制定平台。首先完成开发设备驱动,适当地裁减、添加组件,对某些配置文件进行修改;然后封装所需要的功能模块,编译生成OS镜像文件。设计中,设备要为自己定制目标设备,则需开发Boot Loader和驱动程序;最后把镜像文件下载到目标设备,进行调试,直到满足要求后,才完成平台的创建。完成以上工作后,导出相应的SDK(Software Development Kit)软件开发工具包,运行后加到EVC中,可在特定的硬件平台上进行应用程序开发。SDK包含程序库、头文件、示例程序源代码和库函数使用文档,同时还包括编程指导和 API参与设备驱动工具包(DDK)。(3)通过 JTAG仿真器将Windows CE映象文件下载到Flash存储器中,然后脱机,按下测试系统的电源键,屏幕上将会显示Windows CE开启画面,说明Windows CE已经成功运行。
以后若要添加Windows CE下运行的应用软件,则可以通过PC安装的微软ActiveSync同步软件下载到Flash中,但前提是必须确保嵌入式设备中也已经集成了ActiveSync同步软件。
本系统采用一般Boot Loader源码的实现思想,根据实际硬件平台将Boot Loader代码分为NBoot(Nand Flash Boot Loader)和 EBoot(Ethernet Boot Loader)两部分实现。
NBoot启动代码是最先执行的部分,主要为后面启动Windows CE内核镜像和下载Windows CE内核镜像准备基本的硬件环境。
EBoot负责各个设备的初始化、内存地址映射、文件系统、网络系统驱动和加载内核镜像的相关准备工作。EBoot通过串行口为用户提供控制台接口,从以太网下载Windows CE的镜像文件到RAM中,然后再烧写到Flash中。
驱动程序将操作系统和设备连接起来,使操作系统能够识别设备并为应用程序提供设备服务。Windows CE提供的驱动软件可驱动内部和外围的硬件设备,或者为它们提供接口。本设计主要开发了SD卡驱动程序,而其他驱动程序都可在BSP模板里找到,不需要开发。
SD卡驱动设计包括插卡的自动检测:SD初始化和卡的读写操作。本设计采用PB来开发SD卡流接口驱动程序。首先在PB中创建SD驱动程序工程,然后在该工程中搭建一个简单动态链接库,最后将流接口驱动程序入口函数添加到动态链接库,同时编写该驱动程序的注册表部分即可。
应用程序用于监测航空发动机试车工作状态并辅助机务人员维修排故。它可以实时地对发动机试车过程中温度、压力、转速等多路模拟量和频率量,以及多路开关量进行数据采集、处理、存储、报警,并对主要试车性能参数进行分析,指导机务人员的维修排故。程序功能如图6所示。
图6 应用程序功能图
信号设置与标定模块:实现对所要采集的发动机信号相关信息的设置,并对信号进行标定以修正测量通道的误差。发动机信号的实时采集处理与显示模块:完成发动机各路信号的实时采集,并对采集的信号进行相关的处理和运算,同时实时地绘制出信号的时间曲线以便于观测信号的动态变化,从而监视发动机在不同时刻的工作状态。维修信息的上传与填写模块:实现试车过程中相关维修信息的数字化填写,并上传到发动机监控数据库。
采用“嵌入式平台+发动机信号采集模块”的设计思路,综合运用嵌入式技术、数据采集与数字滤波技术、FPGA技术和操作系统移植技术完成了发动机参数原位检测设备的设计,以某型飞机为应用对象,经过长时间使用表明,该监测系统不仅功能齐全,工作可靠稳定,智能化、集成度高,使用、携带方便,而且降低了地勤人员的维护保障难度,提高了飞机的保障效率。通过发动机信号采集模块中信号适配器的调整和测试资源的修正可以满足其他各型飞机的检测需求,具有广阔的推广应用前景。
[1]卢建华.飞机电源与电气控制[M].北京:海潮出版社,2008.
[2]吴晓男,徐庆九,曲东才,等.飞机仪表[M].烟台:海军航空工程学院出版社,2005:106-132.
[3]熊纯.虚拟仪器技术及在航空发动机测试中的应用[J].长沙航空职业技术学院学报,2004,4(2):31-33.
[4]陈卫东.嵌入式系统中的数据存储与交换[D].北京:北京邮电大学,2005.
[5]徐志军,徐光晖.CPLD/FPGA的开发与应用[M].北京:电子工业出版社,2002.
[6]王金明,张雄伟.FIR滤波器的优化设计与硬件实现[J].电视技术,2003(3):19-21.
[7]齐云.基于Windows CE的嵌入式军用PDA系统的设计与实现[D].西安:西安电子科技大学,2006.
[8]慕春棣.嵌入式系统的构建[M].北京:清华大学出版社,2004.