?

RTX與衛星時統技術實現導彈艦面設備仿真時間控制?

2017-11-28 01:58
艦船電子工程 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衛星天線、時統主卡和用戶卡,秒脈沖電纜插入相關仿真節點的時統主卡∕從卡,連接以太網網線,提供精度納秒級準秒脈沖和最小單位到毫秒的秒脈沖時間數據報文。如果節點數量較多,需要通過時統信號分路器實現秒脈沖信號的分路,時統秒脈沖系統能保證時間信號的統一和準確;同時,在這些仿真節點中,通過網卡,實現時統時間網絡報文的發送和接收?;贕PS時統主卡、從卡硬件系統和網卡,通過模擬信號線、網線將導彈火控系統各仿真節點互連在一起,包含主卡的仿真節點通過發送秒脈沖和網絡時間報文,為整個仿真系統提供統一的時間基準[7]。綜合采用VC、GPS時統和RTX混合開發技術,通過開發的應用軟件實現對本仿真節點計算機時間的校正,經過校準后的時間直接用于形成精確仿真數據時戳,從而保證仿真數據時間上高度一致性。

2.3 Windows與RTX進程協同

Windows與RTX通過HAL和擴展HAL實現中斷隔離,Windows線程和Windows管理的設備不可能中斷 RTSS,也不能屏蔽 RTSS 管理的設備[8],Win32進程與RTSS進程通過IPC進行協同。例如,RTSS實時任務中,與Win32進程有關的函數和變量均通過共享內存區、信號量進行實時處理;非實時任務中需要的實時數據及變量也通過共享內存區變量、信號量獲?。?]。在實時時間控制應用中,界面顯示、功能實現及其它非實時任務,以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傳輸實時性抗干擾對比
計算機控制系統實時性的提高策略
可編程控制器的實時處理器的研究
計算機中的多線程問題
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合