0 引言
无人机在现代战争中发挥越来越重要的作用,鼹到各军事天送重视并大力辨展研发,其中态空毫速喷气无人枧蹙发展重点,我鏊遥年来氇魏大该方瑟磅究。垂手无入撬豹矮震特点,疆求其喷气动力的控制系统可靠弗鼠能实现无人亿操纵,其中发动机控制最好深用数控系统。
随着电子技术的发展和发动机数控系统的研发,数控系统硬件已基本成熟,软件设计成为整个系统豹研发的重点。传统基于DOS的编程方法,程序代码冗长,不易升级维护,兼容性差,修改调试困难。
近年来,实时操作系统(RTOS)在军用电子控制装置中得到广泛应用,如美国的F16、FA-18战斗机、B2隐形轰炸机及爱国者导弹的控制系统均采用了VxWorks寅时操作系统秘。国内无入巍飞控系统设计方嚣采强实爵操{誊系统已瘸子工程实际,在发动税控裁方_霹也拜震了相应耱研究,僵未觅工程验证报道。
本文针对某光人机用单转予涡喷发动机数控系统要求及现有电子控制器硬件结构,进行基于嵌入式操作系统VxWorks豹发动撬数控系统软绎设计,并遴褥发动规数控斌率验涯。
1 电子控裁器硬件系统
电子控制器原理方框如图1,硬件层采用基于相似余度技术的双通道、双CPU模块化结构,每个通道由采集模块和控制模块组成,通道之间采用UDP网络通讯,控制模块与飞控系统之间采塌RS422串行通讯。系统中,CPU采用486PC/104结构,王终瞬,在每一个羧铡周期秀令通道麓时采集发凌橇转速和T4激度等信号,接收飞控系统传输豹飞行状态(高度、马赫数)和控制任务指令,根据发动机当前工作状态和飞控指令,由设定的控制算法计算所需供油量,两个通道通道UDP网络通讯方式进行数据交叉传输,并通过余度表决逻辑稳出控制信号驱动执行祝梅改变供濑。
两个通道同步工作,主通道进行发动机任务的控制,从通道作为热备份通道,当主通道发生故障时,从通道可以随时接替主通道进行控制。
系统设计不带机械液压备份,为监控电子控制器工作情况,每个通道设计有模拟电备份电路。当飞控系统监控到两个通道均不正常工作时,可通过模拟电备份通道监控发动机工作状态,及时采取相应的应急措施。
2 系统需求
电子控制器是发动机控制的核心单元,根据采集的发动机当前工作状态参数和接收的飞控指令参数对发动机进行循环控制。工作时先加电进行自检和初始化,无故障后进入20ms主控循环,首先双机同步接收飞控指令,然后进行数据采集与处理,控制器依据当前飞控指令,调度相应的控制任务,并根据发动机状态参数(转速、T4温度等)计算当前周期输出控制参数,双通道通讯交叉传输计算结果,计算结果送入表决器进行余度表决,余度控制电路根据表决结果接通相应的控制输出模块,实现对发动机不同工况的控制。
发动机控制需调度的任务如图2所示,具体包括主燃油控制、驱动输出控制、地面启动控制、空中启动控制、发动机油封、发动机冷运转。
3 系统软件设计
基于优先级调度算法的嵌入式实时操作系统(RTOS,Real Time Operation System),可将复杂任务分解为多个简单任务,在操作系统环境下,用户只需定义各任务模块的优先级别,系统自动保证各模块不冲突并实时运行,目前在航空航天领域得到成功应用。VxWorks是其中最为优秀的软件之一。
本系统采用VxWorks操作系统进行发动机电子控制器软件设计,编程平台采用其配套的Tornad02.2开发环境,编程语言采用C语言。
3.1 任务模块划分
在VxWorks下进行发动机实时控制软件开发,首先需要进行任务模块划分和设计合理的优先级,保证系统软硬件资源得到合理的利用。
上述发动机控制任务中,不仅要求双机同步,与飞控的通讯以及双机通讯实现实时数据传输,而且发动机控制器的控制算法必须在给定的控制周期完成。所有任务要求有很强的实时处理性。基于DOS的传统控制软件设计将所有任务安排在一个或几个不同优先级别的中断程序中,任务调度困难,随着任务量增多,各模块有可能冲突,软件的可靠性不能有效保证。
本系统采用Vxworks设计,任务划分基于以下原则:实时性要求严格的任务组成独立的模块;计算量大占用CPU时间多的任务捆绑到一起按时问片轮转方式运行;同步驱动同步完成的任务组成一个模块。结合发动机控制任务要求,将系统软件总体划分为5个模块。系统软件的优先级基于任务越重要,优先级越高的原则进行分配。
3.2 软件设计与实现
3.2.1 数据IO模块
数据IO模块主要指相关设备驱动程序。系统中PC/104板配置的CPU为X86体系结构,板载网络芯片Intel82559,均为VxWorks给X86级CPU提供的板级支持包所支持,可自动分配合适的硬件接口参数。硬件的行为和特性由内部寄存器控制,系统采用内存映射访问寄存器。
3.2.2 余度管理软件模块
余度管理模块如图4所示,包括双机同步模块、故障处理模块、交叉传输模块和余度表决模块。双机同步是在两个通道之间建立握手控制标志,当每一个通道完成相应的步骤后自动设置步骤完成标志,同时,查询另一通道任务是否完成,再启动下一功能的任务执行。通过在消息通信时设置同步等待周期,在交换消息的过程中实现同步。同步的工作包括双通道CPU采集数据、控制律计算和同步表决输出数据。
主从通道在每一次同步后,进行数据采集,然后将采集的结果传输到对方通道中,并在两个通道中各自进行故障判断。本系统使用的判断方法是将两个通道的结果进行比较,两个通道结果之差超过设定值时认为发生故障,随即调用相应的故障处理模块。
电子控制器在硬件上设计为两套独立的系统,控制输出通过表决逻辑执行。在工作过程中,通道A和通道B同时采集发动机参数,在系统内部每个控制周期两个通道通过网络UDP方式互相传输参数并进行逻辑判断,根据判断结果由表决电路选通当前没有故障的通道控制输出,并与飞控计算机进行通讯传参。两个表决逻辑遵守其一优先的原则。
3.2.3 通讯模块
通讯模块包括双机UDP网络通讯模块和与飞控的RS422串行通讯模块。
双机UDP网络通讯使用了客户端一服务器模式进行Socket通讯,服务器与客户端的实现方法基本一致。在VxWorks下,利用多任务的方法,设计的通讯程序包括以下8个任务:初始化(Init)、连结接受(Accept)、连结监控(Acp—Watch)、消息发送(Send)、消息接收(Recv)、发送定时(SendTimer)、消息定时发送(SendOnTime)、网络监控(NetWatch)。
电子控制器与飞控系统通过RS422进行串行通讯,接收来自飞控系统的控制指令和飞行状态参数,同时向飞控系统传输发动机当前工作参数。RS422通讯波特率为9600,采用一个起始位,一个停止位,在Vxworks下通过调用系统相应的串口打开函数open()、串口关闭函数close()、串口读函数read()和write()以及I/0口的控制操作函数ioctl()来完成串口操作与数据传输。
3.2.4 发动机控制软件模块
发动机控制软件模块如图5所示。控制软件是控制系统的核心,控制系统通过控制软件完成复杂的控制规律的计算,实现对发动机的控制。控制器在接收到由传感器采集到的发动机转速和T4温度后进行计算处理,依据飞控指令,基于信号量机制,调度某一发动机控制任务(执行机构的主燃油控制,I/O模块的驱动输出控制,地面启动控制,空中启动控制,发动机油封,发动机冷运转),输出控制参数的计算结果和开关量,同时进行数据监控处理。其中发动机燃油控制规律为:
3.2.5 系统管理软件模块
系统管理软件模块包括软件启动、任务调度和任务执行。启动包括操作系统加载、硬件自检、软件初始化等操作。
3.3 电子控制器任务调度策略与管理
VxWorks基于优先级的抢占式任务调度策略,每隔一定的时间便进行周期同步校准及20ms采样的输入输出任务刷新。为了避免任务优先级逆转,系统采用了优先级继承算法。
高优先级的任务之间以及低优先级的任务之间通过信号量进行通信。系统启动之后,引导操作系统等后台任务,然后进行同步操作任务,接着通过信号量机制出发高优先级的输入数据任务,若系统出错,则高优先级任务堵塞,启动系统重构或者故障诊断等低优先级任务。同样,当输出数据比较结果不一致时,亦必须调用系统内故障诊断及通道故障逻辑等任务。
4 系统试验验证
系统软件调试完毕,与电子控制器硬件结合进行某发动机数控试车验证。试验中控制器指令与发动机工作数据通过试车实时监控软件记录。
试车监控记录发动机各工作参数,其中图9~10为发动机从起动一慢车一额定一最大一额定一停车的一个完整试车过程转速与T4温度试验结果。
多次试验结果证明,记录的数据与与要求的试车过程吻合,电子控制系统工作可靠,可实现改型发动机电控试车,满足无人机对发动机的电子控制要求。
5 结论
以某无人机用单轴喷气发动机数控系统研制为背景,采用自行设计的486级PC/104架构双余度硬件,重点进行基于嵌入式操作系统VxWorks的电子控制器系统软件设计,将系统软件划分为多个任务,基于优先级的调度算法,CPU将运行时间分配给不同的任务,形成宏观上多任务并发进行的效果,在已有的电子控制器硬件平台上,保证程序任务实现实时运行。软硬件系统结合装机并进行发动机台架试验验证,多次试验表明,所设计的实时控制软件与电子控制器配合良好,能实现发动机电子控制。该软件系统能对发动机控制任务进行可靠的管理和调度。
(审核编辑: 智汇胡妮)