APP下载

RTX与卫星时统技术实现导弹舰面设备仿真时间控制∗

2017-11-28

舰船电子工程 2017年10期
关键词:实时性线程中断

张 远

(中国人民解放军92941部队93分队 葫芦岛 125001)

RTX与卫星时统技术实现导弹舰面设备仿真时间控制∗

张 远

(中国人民解放军92941部队93分队 葫芦岛 125001)

对基于卫星时统和RTX进行导弹舰面设备仿真时间控制方法进行了说明,论述了仿真时间控制技术原理,介绍了仿真时间控制环境配置,阐述了仿真时间控制方案,重点对Win32线程、RTSS线程、RTX信号量和中断函数的协同处理过程进行了详细说明,介绍了时统与RTX控制方法的工程实现及应用,说明了基于时统与RTX的时间控制方法的应用前景。

舰面设备;卫星时统;RTX;仿真时间;信号量

1 引言

导弹舰面设备仿真系统开发中,由于设备仿真节点多,舰空舰面设备仿真节点约10~20个节点,必须解决时间精度控制和时间同步控制问题。目前,导弹舰面设备仿真时间控制方法根据操作系统不同而有区别:方法一,用VxWorks实时操作系统,直接配合时统设备完成时间统一;方法二,用Windows操作系统,通过HLA仿真等技术进行逻辑时间统一。上述仿真时间控制方法存在如下缺点:方法一由于基于VxWorks进行系统开发,其上位机和下位机的构架增加了系统开发的复杂性和成本[1],扩展性和维护性差并且使用范围有限,仿真系统界面过于简单、仿真控制功能实现困难;方法二基于Windows进行系统开发,使用计算机系统时钟,虽然仿真系统界面及功能强大,但基于消息队列响应模式的Windows XP应用软件不具备实时性,PC机系统时钟时间分辨率低,时间漂移率约为60ms∕h,时间同步精确一般15ms[2]。因此,上述两种单一仿真方法无法满足实装在线仿真测试、作战仿真推演、系统训练等实时性要求较高的仿真需求。

美国Ardence公司的RTX,在Windows平台上提供了一个实时子系统RTSS,对Windows下HAL进行了扩展,形成与Windows并行的实时子系统,实现独立的内核驱动模式,并通过IPC完成进程通信,从而实现确定性的实时线程调度、实时环境[3]。RTX扩展HAL下,提供最小0.1μs的时钟精度,从而保证了实时处理的实时性和时间精度。

2 时间控制技术基础

2.1 RTX实时任务处理

作为面向大众市场的Windows XP操作系统,当应用程序事先声明其资源需要实时性的时候,由于实时性功能的复杂性,靠Windows完成实时功能不具有可行性[4]。而只能通过类似RTX的实时扩展或由插件实现实时性[5]。Windows加载RTX进行实时化扩展后,保证系统的多优先级多线程调度、可预测线程同步机制、快速的时钟和定时器等特性。在时间控制方面,首先通过精度达到0.1μs的时间控制粒度,保证时间精度;其次,通过可控定时器实现微秒级高精度的周期定时,为实现基于周期实时任务的处理奠定基础。RTX通过一套RtWinApi的实时API提供访问方法,允许应用程序在更加友好的Win32环境中而不是DDK环境中进行开发[6]。实时程序中对实时资源应用更加密集的部分在RTSS环境下运行,应用中对实时性任务要求不高的部分运行在Win32环境下。Windows和RTSS之间通过IPC通信,通过事件、信号量和共享内存等方式实现。

2.2 基于卫星时统实现时间统一

在导弹舰面设备数字仿真系统各节点中,通过配置体积小、价格低、系统开发支持方便的GPS或BDS卫星天线、时统主卡和用户卡,秒脉冲电缆插入相关仿真节点的时统主卡∕从卡,连接以太网网线,提供精度纳秒级准秒脉冲和最小单位到毫秒的秒脉冲时间数据报文。如果节点数量较多,需要通过时统信号分路器实现秒脉冲信号的分路,时统秒脉冲系统能保证时间信号的统一和准确;同时,在这些仿真节点中,通过网卡,实现时统时间网络报文的发送和接收。基于GPS时统主卡、从卡硬件系统和网卡,通过模拟信号线、网线将导弹火控系统各仿真节点互连在一起,包含主卡的仿真节点通过发送秒脉冲和网络时间报文,为整个仿真系统提供统一的时间基准[7]。综合采用VC、GPS时统和RTX混合开发技术,通过开发的应用软件实现对本仿真节点计算机时间的校正,经过校准后的时间直接用于形成精确仿真数据时戳,从而保证仿真数据时间上高度一致性。

2.3 Windows与RTX进程协同

Windows与RTX通过HAL和扩展HAL实现中断隔离,Windows线程和Windows管理的设备不可能中断 RTSS,也不能屏蔽 RTSS 管理的设备[8],Win32进程与RTSS进程通过IPC进行协同。例如,RTSS实时任务中,与Win32进程有关的函数和变量均通过共享内存区、信号量进行实时处理;非实时任务中需要的实时数据及变量也通过共享内存区变量、信号量获取[9]。在实时时间控制应用中,界面显示、功能实现及其它非实时任务,以Windows操作系统的消息响应处理机制为框架进行实现,结合加载于Windows的RTX实时内核的精确时间定时器控制和消息信号量控制,实时获取与时统中断信号相统一的标准时间网络报文,通过线程、中断函数和函数处理流程的科学设计,实现对导弹舰面设备数字仿真系统各节点的实时时间协同控制。

3 基于共享信号量的时间控制

基于卫星时统、Windows和RTX利用VC开发平台实现时间控制,需要实现一套基于时统与RTX的仿真时间校正控制方法,包括仿真系统准秒脉冲中断处理方法、时间校准线程设计方法、定时器设置方法、回调函数设计方法、时统时间报文接收线程设计方法等,基本流程见图1。

图1 时间校正处理流程图

时间控制的核心内容是根据信号量完成时间RTSS线程和Win32线程的协同,具体控制内容包括卫星准秒处理和定时器处理两部分,实现精确时间同步和准确定时周期[7]。定义如下单值信号量:准秒中断信号量(简称A)、20Hz周期设置信号量(简称B)、1s整秒校时信号量(简称C);定义共享内存区系统时间变量。

3.1 Win32和RTSS进程主函数处理

RTSS进程主函数中,创建准秒中断信号量A;打开Windows进程中创建的信号量:周期设置信号量B、整秒校时信号量C;创建共享内存中时间变量;创建20Hz定时器(每次执行一个周期);打开时统卡,设置准秒脉冲中断响应函数。

Win32进程主函数中,创建周期设置信号量B、整秒校时信号量C;打开Windows进程中创建的信号量:周期设置信号量B、整秒校时信号量C;打开共享内存中时间变量;启动Windows程序的Win32整秒校正线程;启动RTX程序RTSS进程。基于信号量的线程间协同过程见图2。

图2 基于信号量的线程协同示意图

3.2 RTX准秒脉冲中断响应处理

包含GPS从卡各仿真节点在准秒脉冲到达后,启动RTSS进程时统中断响应函数。中断函数为回调函数,用户时统卡产生中断时自动调用此函数。

仿真系统定周期运行(假定控制节点周期为100ms、设备仿真节点周期50ms),当系统定时器计时到最后一个周期(第10或20)时,正常情况下应该收到准秒中断进行整秒同步。但是,由于准秒到达时间以及Windows定时器存在一定的误差,导致准秒可能稍晚到达。调整定时器间隔,增加等待准秒一定时间延迟到达,或者准秒稍早到达(例如3ms以内),则判定准秒到达正常。在准秒脉冲正常到达的情况下,在中断处理函数中,释放准秒中断信号量A、整秒校时信号量C,允许启动准秒校时线程,进行整秒时间校准,无须等待。否则,如果准秒脉冲到达异常,舍弃本次中断处理。

3.3 RTX定时器设置线程进行定时器设置

周期定时器设置线程等到准秒中断信号量A后,进行旧定时器清除处理,并设置新的定时器。同时释放周期设置信号量B,设置一次执行一个定时器周期,开始一个定时周期的执行。

定时器回调函数根据获取∕释放周期设置信号量B,根据周期设定值(10Hz或20Hz),定时调用回调函数进行定时运行。定时器回调函数在等到信号量B后,进行定时周期判别,在周期计数器已经超过最后周期数后,正常情况下应该收到准秒进行整秒同步,由于准秒到达时间以及定时器存在误差,表明秒脉冲没有到达,通过延长本周期3ms(具体门限可根据实际需要进行设置)方法等待准秒脉冲的到达;否则,没有执行完定时器的周期,释放定时器周期信号量继续执行一个定时周期。当定时器计时到最后一个周期时,如果准秒稍早到达,则通过定时器设定线程,启动定时器回调函数正常进行定时器周期计数清零、重新开始工作。

3.4 Win32整秒校时处理线程校时

Win32整秒校准线程等到整秒校准信号量C后,进行时统网络时码报文数据有效性判别,若数据正常,并且连续10次有效,按该报文数据进行系统时间校准,修改共享内存中的时间变量,进行本机准秒时间更新,设置新的系统时间。否则,舍弃根据本次时间报文进行系统时间校准处理。网络时码数据有效性通过计算网络时码报文中时间数据差进行判断,如果上次收到的时间和本次收到时间数据差为1s或者-86399s(跨24时处理),网络时码报文数据有效。

4 实践应用

进行GPS时统+RTX仿真时间控制的导弹舰面设备仿系统开发,开发环境相对简单,包括:安装了时统卡的各仿真节点安装VC2005、安装RTX7.1的Runtime和SDK、安装GPS时统卡驱动和其SDK,在Windows和RTX混合开发环境下基于VC开发平台进行开发。开发完成后选择进入“Microsoft Windows XP Professional-RTX MP Dedicated”启动项,启动加载了RTX内核的Windows XP操作系统环境,以RTSS进程和Win32进程联合运行方式进行应用。

基于GPS时统+RTX+VC时间控制方法,成功运用于两型舰空导弹舰面设备1:1数字仿真系统(仿真节点数25个)研制,在仿真系统层次结构设计、流程关系设计和接口设计中进行了实现。该方法首先提高了时间处理精度,从1ms到0.1μs;其次提高了定时器周期精度及单周期可控执行;最后应用Windows的MFC强大资源实现其它非实时性功能及界面任务。该方法成功保证了仿真时间的精度和同步,同时保证了作战任务解算等实时任务的实时性。应用该方法研制的仿真系统成功应用于两型舰空导弹武器装备的研制、导弹批检等试验,成功进行了内场全数字仿真、内场数字∕半实物仿真和内外场联合试验,完成了大量武器系统鉴定、试验方案推演和系统训练等工作,取得了巨大的军事和经济效益。

5 结语

基于卫星时统与RTX的导弹火控系统数字仿真时间校正方法,继承了Windows应用程序界面友好、功能强大、维护及扩展性好、开发成本低的优点,同时具备了基于VxWorks系统应用程序实时性好的优点,满足导弹火控系统数字仿真系统时间控制精度及实时性要求,解决原有方法开发成本、功能界面、时间校正精确性、维护性和扩展性等方面的矛盾和不足,为多节点导弹舰面设备数字仿真系统提供一种易于实施的仿真时间控制方法。VC软件平台和RTX-SDK开发技术成熟、软件支持广泛、易于开发,在确保仿真系统功能、性能和界面均满足仿真试验要求的同时,可以明显降低研制及后续升级成本,而且具有更加良好的升级改造潜力。本方法同样适用于其它基于以太网的分布式数字仿真系统研制,也可应用于涉及时间校正的其它数字仿真领域。

[1]刘同栓,郭晓月.RTX在半实物仿真系统中的应用[J].航空精密制造技术,2010,46(4):50-52.

[2]辛欣,游雄,刘芳等.分布式虚拟地理环境中时间同步问题研究[J].测绘工程,2010,19(1):21-24.

[3]G.Bollella and K.Jeffay,Support For Real-Time Computing Within General Purpose Operating System:Supporting co-resisdent operating system[J]Proc.IEEE Real-Time Technology and Applications Symposium Chicago,IL,May 1995.

[4]Sommer S.,Removing Priority Invension from an Operating System[C]∕Proceedings of the Nineteenth Australasian Computer Science Conference(ACSC’96),Melbourne,Australia,January 31-February 2,1996.

[5] C.Jones,M.Cherepov,Windows-based system and the Win32 API[J].Real-Time Magazine 98∕3.

[6]E.Anschuetz,etc.Real-Time Flight Simulators Under NT,Proceedings of the 1998 Interservice∕Industry Training[C]∕Simulation and Education Conference(I∕ITSEC December 1998).

[7]徐海,崔连虎,徐光耀.RTX环境下时统信息实时采集方法研究[J].船舶电子工程,2012,4.

[8]吴佳楠,王伟,周军涛等.基于RTX实时模块的飞控系统综合测试系统实现[J].测控技术,2010,29(9):72-76,84.

[9]刘寰,秦现生,蒋明桔等.基于Windows+RTX的CNC实时多任务调度设计[J]. 测控技术,2012,31(3):131-134.

[10]高扬,张桉齐,张新磊等.基于RTX实时系统测角方法的研究[J].宇航计测技术,2013,33(3):68-70.

Time Control Method of Shipboard Equipment Simulation Based on Satellite Unified Timing and RTX

ZHANG Yuan
(Unit 93,No.92941 Troop of PLA,Huludao 125001)

A time control method in shipboard equipment simulation based on satellite unified timing and RTX is introduced.The technical principle of control to simulation time is analysed.The configuration entironment of control to simulation time is introduced.The control scheme to simulation time is expatiated on.The coordinated processing logic of Win32 thread、RTX mutual exclusive semaphore and interuput function is illuminated emphatically.The engineering realization and application of control method about simulation time is introduced.The application expectation of simulation time control method based on satellite unified timing and RTX is explained.

shipboard equipment,satellite unified timing,RTX,simulation time,RTX semaphore

TP391.9

10.3969∕j.issn.1672-9730.2017.10.018

Class Number TP391.9

2017年4月10日,

2017年5月28日

张远,男,硕士,高级工程师,研究方向:战术导弹武器装备试验。

猜你喜欢

实时性线程中断
实时操作系统mbedOS 互斥量调度机制剖析
基于国产化环境的线程池模型研究与实现
“单片机中断概述”微课教学设计
一种考虑GPS信号中断的导航滤波算法
Linux中断线程化分析及中断延时测试
跟踪导练(二)(5)
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
计算机中的多线程问题