APP下载

空空导弹仿真系统的设计

2012-12-17张世欣韩应都

电子科技 2012年7期
关键词:数字信息模拟量时序

张世欣,韩应都

(中国空空导弹研究院总体部,河南洛阳 471009)

在空空导弹武器系统研制过程中,出于试验条件和安全性及成本考虑,需研制基于计算机平台构型的便携式导弹仿真系统,以取代真实导弹产品完成与机载武器系统的综合联试。仿真系统具有与真实导弹产品一致的电气接口,主要完成模拟真实导弹工作时序的功能,实现对机载武器系统进行供电、工作时序、控制逻辑、飞行任务装订参数等方面的正确性检查,同时还可完成对飞机系统的火控计算算法、信息延迟时间等关键参数进行检查,以保证飞机系统能满足导弹系统的技术要求,并保证导弹系统与机载武器系统之间工作的正确性、匹配性和协调性。

1 仿真系统组成

综合考虑采购周期、成本、环境以及结构加工等因素,该型导弹仿真系统的主控计算机采用宽温高可靠性便携式计算机系统,板卡直接安装固定在计算机系统上,采用PCI总线进行信号传输,该型导弹仿真系统组成框图如图1所示。

图1 导弹仿真系统组成框图

2 硬件设计

2.1 429总线接口板

429总线接口板主要用于接收发射装置发送的飞行任务信息帧,并按照工作时序形成导弹状态信息返回载机。根据系统的功能要求,接口板采用即插即用PCI接口,具有4个独立的总线接收器及两个总线发送器,兼容ARINC-429规范,最大数据传输率100 kbit·s-1。

2.2 信号调理板

信号调理板主要将机载火控系统的输出电压信号进行变换和隔离,同时对关键性的点火信号用大功率电阻做为模拟负载。变换电路将机载火控系统输出的电压信号变为TTL电平,输入到I/O状态采集模块供计算机检测。并将机载火控系统输出的电压信号按要求进行变换,输入到模拟量采集模块供计算机检测。隔离输出电路是将接收I/O状态采集模块输出的TTL电平对继电器进行控制并按要求形成特定信号返回给载机。

2.3 PCI接口数据采集板

PCI接口数据采集板包括模拟量采集模块和I/O状态采集模块。I/O状态采集模块用于完成导弹仿真系统与机载火控系统之间的信号交换。主要采集相应控制信号的状态,并按导弹工作时序形成符合接口控制文件要求的返回信号。模拟量采集模块主要采集发射装置到导弹模拟器的电压信号,并根据导弹对机载火控系统电压的要求判定电压是否满足要求。数据采集板采用即插即用PCI接口,采用12位A/D转换器,具有16路单端或8路差分模拟量输入、2路12位模拟量输出、16路数字量输入和输出。

3 软件设计

导弹仿真系统的编程环境采用Windows XP操作系统,软件使用Borland C++Builder 6.0开发。

3.1 功能分析

该型空空导弹仿真系统要求同时接收、发送和处理总线数字信息、模拟量信息等多种数据源,其中总线数字信息接受和发送分别采用不同格式封包,并采用不同的传输速率,模拟量信息包含多路I/O状态采集和8路时序不同的电压信号。根据功能至少拥有导弹工作时序模拟、总线数字信息的接收和解码、总线信息的编码和发送、I/O状态量采集、多路模拟量采集、各种信息实时显示和记录等并行工作流程,且各流程结构相对独立,信息处理周期覆盖从ms到s级,如采用常规的单线程顺序查询,则必须按最短处理周期进行,以确保信息完整,但系统将长时间高负荷运行,不能保证稳定性,同时任何流程的异常容易影响其他流程的正常处理,较难保证采集信息的完整性,因此须采用更加高效、安全的算法。

具体到该系统,主线程是对导弹工作时序的模拟以及对其他模块的调度和起停控制,导弹从初始化到发射就是系统运行的全过程,其他线程以模块形式参与到系统中。所有模块的相互关系如图2所示。

图2 各个模块的相互关系图

3.2 软件主流程

系统控制模块做为主线程负责对其他功能模块进行控制和调度,并在其他模块的配合下完成对导弹工作状态的模拟。系统控制模块在进程同步模块的作用下,主要对其他模块提供的信息,数据进行收集和整理,并根据实时监控到的模拟量对系统工作时序和工作状态做出判别、决策,然后按照真实导弹的工作逻辑控制系统硬件做出反应,并实时将各信息提供给显示控制模块进行显示,同时还提供给数据记录模块进行数据记载。系统主流程如图3所示。

图3 系统主流程框图

3.3 关键技术问题及解决

3.3.1 系统定时器精度问题的解决

在Windows操作系统中,可供开发人员使用的常规系统定时器是建立在DOS的1CH中断基础上的,其精度约55 ms,在Windows 98系统中只可达到这个精度,在Windows 2000平台下,这一精度最多可减小为10 ms,且是在系统负载较小的情况下。因此,为提高定时器精度,尝试利用系统未直接提供的多媒体定时器功能,种定时器主要为满足计算机的多媒体播放定位功能,一般情况下不对普通用户开放,要使用此定时器必须深入到Windows平台内部,可以借助Windows的核心函数库解决。但这种定时器的缺点是对系统的资源耗费较高,当系统资源耗尽,严重的会造成系统崩溃,因此须加以保护措施,在确保系统稳定性的基础上最大可能利用该定时器。

经过反复试验,在确保系统稳定性和系统软件满负荷运转的情况下,可以将定时器精度提高到1 ms,且加入保护代码,实时监控系统资源利用率,当发现系统资源耗费较多时利用间隙强制该定时器终止,同时清理系统现场后再次启动该定时器,既保证了系统的持续高速运转,又确保了系统运行的稳定性。

3.3.2 线程同步问题的解决

在系统开发初期,当所有模块全速运转一定时间后总会造成系统无故崩溃。在多次跟踪调试代码后,发现该问题是由于多个模块同时高速运行时,系统未能同时响应底层接口板的多个中断请求,且混杂了大量I/O端口访问操作。但这些中断请求大部分是无效的,归结为系统各模块间的同步信号未能发挥有效作用,造成特定情况下已发出中断请求的接口板再次重复发出中断。

为解决这一问题,采取多种同步措施,并增加了若干逻辑互斥标志,以确保底层接口板在一次中断请求后必须由系统有效清除中断标志才允许再次发出中断,从而保证每个中断请求都可被有效处理。同时尝试提高了相对高速的中断服务程序的逻辑优先级,适当降低相对低速的I/O端口访问操作的优先级,为大量的实时中断响应操作节约出CPU工作周期。

3.3.3 系统高速采集问题的解决

在对脉冲信号的高速采集中,因采用的是普通的数据采集板,其多路采集原理是各通道依次轮询,由于硬件限制,A/D转换和数据读取操作相对耗时较多,从而影响了系统定时器的精度,造成数字信息接收模块大量丢失数据,不能对指令信息及时做出响应,从而会造成系统非正常退出。

为解决这一问题,将模拟量采集工作放到系统定时器之外进行,但又经常遗漏脉冲信号。经过分析,认为有几路信号的采集只是导弹特定工作时段中发生的,其余时间无需实时监控,因此,只在需要采集的时刻提前做好准备,一旦采集完成,迅速停止采集操作,防止系统负荷过大而造成崩溃。为此,充分利用Windows系统的多线程技术,把各路特殊信号采集工作放在线程中进行,由于在线程中不受定时器控制,可认为一旦线程获得CPU周期即全速进行采集,这样既保证了系统主体定时器的正常运行,又确保了有效采集到信息。

3.4 系统运行状态

图4所示是系统模拟导弹发射运行画面,可以看出在多线程作用下系统的数字信息接收处理模块、数字信息发送处理模块、模拟量信息监控模块、显示控制模块均在有序运行,相互之间并未因多线程的存在而发生干扰。

图4 系统运行画面

4 结束语

目前,该导弹仿真系统已成功应用在型号研制中,为该型导弹的相关试验提供了可靠的保障,减少了武器系统的试验风险,同时降低了试验成本,加快了型号研制进度。

[1]钟建平,史惠茗.Borland C++Builder使用技巧与配置指南[M].北京:清华大学出版社,2000.

[2]MIANO J,CABANSKI T.Borland C++builder 编程指南[M].北京:电子工业出版社,1998.

[3]魏俊鹏,于秋生.C++Builder 6实用编程100例[M].北京:中国铁道出版社,2004.

[4]肖健.C++Builder 6编程基础[M].北京:清华大学出版社,2002.

[5]JIM B.Win32多线程程序设计[M].武汉:华中科技大学出版社,2002.

[6]章秦.Win32多线程同步技术浅析[J].电子设计工程,2011(21):56 -58.61.

[7]张桢,孙沛.基于 FPGA的 ARINC429总线通讯板设计[J].航空计算技术,2010(4):112 -115.

[8]丁猛,郭英.ARINC429信号处理板的设计[J].微计算信息,2008(13):31-32.

[9]姬昕禹,马捷中,翟正军.基于ARINC429总线接口板的驱动程序设计与实现[J].计算机工程与设计,2007,28(14):3511-3514.

[10]林良有,张伟.基于FPGA的连续采样的高速PCI采集卡设计[J].计算机测量与控制,2007(6):813-815.

猜你喜欢

数字信息模拟量时序
清明
基于BIM的企业数字信息归档与利用模式研究
基于不同建设时序的地铁互联互通方案分析
北京尚水数字信息产品介绍
数字有形状吗?数字信息精确性和品牌标识形状的匹配效应*
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
基于FPGA 的时序信号光纤传输系统
关于600MW火电机组模拟量控制系统设计和研究
基于模体演化的时序链路预测方法
模拟量输入式合并单元测试仪的研制