?

基于INtime的雷達實時操控顯示終端設計

2011-09-30 01:37漆先虎張博君
火控雷達技術 2011年4期
關鍵詞:實時控制實時性內核

漆先虎 張 軍 張博君

(西安電子工程研究所 西安 710100)

1 引言

雷達操控顯示終端作為雷達系統的重要組成部分,用于雷達空情目標顯示、原始視頻顯示、雷達控制、系統監測、情報上報等,隨著計算機性能的提高和多功能需求的日益增強,將雷達的實時控制、數據處理等實時應用集成在雷達的操控顯示終端中日益成為趨勢,同時用戶的界面審美需求也對終端的圖形加速、多媒體以及三維場景的顯示性能提出更高的要求。目前,國內外的雷達操控顯示終端產品很難同時滿足上述要求,典型的一類是以VxWorks和Dos操作系統為平臺具備實時控制處理和簡單圖形顯示的操控顯示終端;另一類是以Windows和Linux為平臺設計,雖然能夠提供直觀的圖形用戶控制界面和豐富的多媒體圖形顯示接口,能夠方便的設計出友好美觀的人機界面,但其內核實時性較差,不能滿足雷達實時控制、數據處理等實時性要求較高的應用,雷達的實時處理任務只能通過其他實時控制計算機來完成。通常實時操作系統為保證其實時性,對圖形的支持能力都較弱,一般只支持簡單的圖形顯示,目前尚沒有一款獨立的操作系統既能滿足實時性要求又能夠為用戶提供強有力的圖形處理支持[1]。

為了兼顧雷達操控顯示終端的實時性能和強勁的圖形顯示能力,本文提出了一種基于INtime實時操作系統+嵌入式Window XP(XPE)的雷達實時操控顯示終端設計方案。該方案基于兼容PC硬件平臺,利用實時多任務操作系統INtime的實時性完成雷達系統的實時控制和數據處理任務,同時充分利用Windows操作系統強大的圖形界面功能,實現雷達目標、狀態、原始視頻、電子地圖等顯示功能。

2 INtime實時操作系統介紹

INtime是TenAsys公司為了滿足Windows平臺上硬實時系統嚴格的響應時間要求而開發的一個實時子系統。它是與Windows操作系統共享硬件平臺的實時操作系統,其系統結構體系如圖1所示。

圖1 INtime系統結構圖

INtime實時系統在計算機啟動加載Windows操作系統時同時被加載,共享相同的CPU和中斷硬件,但在其他方面相互獨立。每個操作系統都被封裝為一個虛擬機,各自具有自己的描述符表、內存管理等。當實時活動必須發生時,計算機上下文將切換到該實時操作系統,這些活動完成后,計算機上下文將切換回Windows操作系統。實時進程運行在INtime內核上,進程中的代碼以用戶模式執行,防止意外訪問系統對象和數據,保證系統的穩定性。非實時進程運行在Windows內核上。INtime為Windows進程提供了擴展函數庫(NTX API),使Windows進程能夠共享在實時內核上創建的對象,從而實現Windows進程和INtime進程之間的數據共享和同步[2]。

INtime內核提供了一個基于優先級的搶先式多任務調度系統,最多可支持256個線程優先級,優先級高的線程優先調度執行,同一優先級的線程采用時間片輪轉調度算法。通過對線程賦予不同的優先級,嚴格保證各個任務的執行先后次序。在進程通信和同步方面,INtime通過共享內存與Windows進程進行數據交換,通過信號量進行進程的同步控制。INtime內核提供了高精度的系統計時器,最高精度可達100μs,可以滿足大多數要求苛刻的應用程序的實時性要求。INtime具有獨立于Windows網絡的實時TCP/IP通信堆棧,能夠滿足實時通信的要求。INtime可以支持單處理器和多處理器系統,在多處理器系統中,可以劃分出一個處理器為INtime操作系統及其實時進程專用,提高了系統的可靠性。INtime還提供了與Windows環境兼容的實時編程接口,支持Win32的API,實現了一套實時擴展函數,通過VC++編譯環境開發,具備良好的實時調試器。

3 系統總體結構

雷達實時操控顯示終端是一個集實時通信、控制、數據處理及顯示的綜合多任務系統,既有實時性要求很高的雷達設備控制、跟蹤數據采集任務和跟蹤數據處理等任務,又有實時性要求較低的數據管理、狀態控制、雷達目標、原始視頻、電子地圖顯示等任務。所以在系統結構設計時,把實時和非實時任務分開運行。實時任務運行在INtime內核中,主要完成對跟蹤雷達分系統、光電跟蹤分系統的跟蹤數據實時采集和處理,根據處理結果實時控制跟蹤伺服分系統將跟蹤天線對準目標,以達到跟蹤功能,同時完成與非實時進程的數據同步;非實時任務運行在Windows內核中,主要完成雷達分系統非實時的狀態控制和數據顯示,同時完成系統數據的存儲回放等管理。其系統結構如圖2所示。

圖2 系統結構圖

雷達操控顯示終端在硬件選型上,選用加固一體計算機,為更好的發揮計算機的圖形處理能力,計算機顯卡具備2D/3D硬件加速能力。CPU選用Intel酷睿雙核,并將INtime配置成獨占模式,即IN-time獨自占用一個CPU核運行實時進程,Windows占用另一核,這樣可提高系統的穩控性和實時性。終端計算機內置一塊定時接口板,用于產生雷達系統同步時鐘,板卡通過PCI總線向終端計算機產生時鐘中斷信號。終端與雷達其他分系統之間通信通過網絡傳輸。

為保證系統的健壯穩定,Windows操作系統采用裁剪的嵌入式XPE操作系統,該系統設計成基于休眠方式啟動、內存保護方式運行模式,既保證了系統的快速啟動,又保證了系統的穩定可靠[3]。關于XPE操作系統的設計已有較多文獻資料參考,本文將不作詳細介紹。

4 終端軟件設計

終端軟件采用VC++進行開發,基于上述系統結構,軟件主要包括INtime的實時進程和Windows的非實時進程,各進程中根據任務需求劃分相應的任務和功能模塊,軟件功能結構圖如圖3所示。

圖3 軟件功能結構圖

4.1 INtime進程

INtime實時進程在INtime內核中運行,根據其功能劃分主要包括系統定時功能模塊、實時跟蹤控制功能模塊、跟蹤數據處理功能模塊、網絡接口通信功能模塊和進程通信管理模塊。軟件采用多線程方式設計,按實時性要求劃分不同優先級的任務,采用適當的任務調度策略,使每個任務按要求適時執行。進程的軟件結構如圖4所示。

圖4 實時進程軟件結構圖

實時進程采用計數器對外部定時接口板的10ms硬件定時中斷進行計數分別產生40ms和200ms中斷信號量,根據系統處理實時性要求,將40ms定時處理線程相對優先級設置為1(高),將200ms定時處理線程相對優先級設置為2(中),將雷達各分系統與INtime進程的通信線程優先級均設置為0(最高),以保證跟蹤傳感器的跟蹤數據實時可靠。

通信線程主要用于接收網絡上的跟蹤傳感器的跟蹤距離、角度偏差和狀態數據。線程通過網絡中斷方式實時接收數據,并將數據存入相關的接收數據數組,供40ms定時處理線程使用。

40ms定時處理線程用于將多跟蹤傳感器的跟蹤數據進行融合處理,并建立跟蹤航跡,采用卡爾曼濾波進行航跡的平滑和外推。根據目標預測位置和天線位置求取角度偏差量,采用位置閉環控制跟蹤伺服分系統,以使跟蹤天線保持對準目標方向,實現對目標的實時跟蹤。40ms定時處理線程同時將光電及跟蹤雷達傳感器的狀態數據、系統狀態和目標航跡的跟蹤處理結果等寫入數據隊列用于Windows進程顯示。

200ms定時處理線程主要用于實現INtime實時進程與Windows進程間的數據交互。采用共享內存和信號量機制,創建共享內存對象和信號量對象,定時將數據隊列中的數據寫入共享內存中。Windows進程在與INtime進程通信時,通過調用INtime的NTX API,獲得INtime實時內核上創建的對象。

4.2 Windows進程

該雷達操控顯示終端中Windows進程與普通桌面Windows系統下的進程設計方法完全兼容。其主要核心任務是圖形的快速顯示。本終端的顯示設計采用多線程方式,利用Windows平臺的DirectX圖形接口,通過DirectDraw進行快速、多層次的頁面繪制和顯示。根據其功能劃分主要包括系統界面操控模塊、數據存儲回放模塊、顯示模塊、網絡接口通信模塊和進程通信管理模塊。

系統界面操控模塊主要采用圖形控件進行界面布局,通過各控件的功能定義和相應的消息機制來驅動人機界面操控事件,以完成界面中各功能按鈕、對話框、列表框等的操控功能。

數據存儲回放模塊用于對雷達工作狀態、雷達各目標數據進行實時存儲和回放。該模塊以INtime系統定時器為基準,對終端接收到的所有網絡數據進行打時標和報文重組,并將重組報文以二進制方式記錄在存儲介質中。數據回放時,讀取報文文件,并拆分報文時標和原始數據報文,以記錄的時標為驅動,將數據報文進行重新解析和處理,實現回放功能。

顯示模塊主要用于顯示PPI坐標背景、電子地圖背景、雷達原始視頻圖像、各種目標點跡、航跡以及天線碼盤等信息。采用DirectDraw圖形加速顯示技術和頁面的分層設計,將DirectDraw頁面分為背景層頁面、電子地圖顯示頁面、雷達原始回波視頻頁面、目標頁面和動態狀態數據頁面。通過多線程對各頁面顯示內容獨立進行快速繪制,在Windows進程的主定時器中將各頁面疊加繪制到DxDraw主頁面,最后調用DirectDraw的換頁函數(Flip)進行顯示[4]。

網絡接口通信模塊與INtime進程中的網絡接口通信模塊類似,但主要用于終端與雷達其他分系統非實時數據和命令的通信。

進程通信管理模塊主要用于Windows進程對INtime系統中的共享內存和信號量進行調用,以實現INtime進程和Windows進程之間能夠進行數據交互。

4.3 軟件的運行

使用XPE+INtime構筑的系統作為雷達操控終端軟件運行環境,主要由Real-time控制應用(IN-time進程)和GUI應用(Windows進程)兩部分構成。終端軟件的Windows進程可直接雙擊運行,由XPE操作系統載入內存并執行,INtime實時進程由其系統配套的實時控制應用軟件載入器LDRTA.EXE進行加載到內核并執行。INtime內核將自動創建一個最低優先級線程,用于將計算機上下文切換回Windows進程,以保證兩進程在同一硬件平臺同時運行。兩進程通過共享的內存和信號量進行數據交互,并各自獨立運行完成雷達的實時操控顯示功能。

5 結語

通過對基于INtime的雷達實時操控顯示終端的實驗室測試與仿真,以及與雷達實裝的現場試運行,實時操控顯示終端能夠較好的完成對雷達的實時控制和數據處理運算,滿足系統實時性要求,同時能夠流暢顯示雷達的原始視頻回波、檢測點跡以及雷達工作狀態,表明了該方案能夠成功的將雷達實時控制和實時性要求不高的顯示集成在一起進行設計,降低成本的同時增加了系統的可靠性。

[1]劉巍,丁爾剛.嵌入式雷達終端軟件的實時性設計[J].測控技術,2007,26(6):65.

[2]TenAsys Corporation.INtime software user guide[M].Beaverton,Oregon,USA:TenAsys Corporation,2005:32-35.

[3]郭敏,史乘龍,宋長生.基于XPE的嵌入式雷達顯控終端系統[J].火控雷達技術,2008,37(3):91-95.

[4]漆先虎.基于DirectDraw的雷達操控顯示終端設計[D].西安:電子科技大學,碩士學位論文,2010:52-54.

猜你喜歡
實時控制實時性內核
多內核操作系統綜述①
強化『高新』內核 打造農業『硅谷』
活化非遺文化 承啟設計內核
微軟發布新Edge瀏覽器預覽版下載換裝Chrome內核
航空電子AFDX與AVB傳輸實時性抗干擾對比
基于LabVIEW微電網實驗平臺監控系統的設計與實現
計算機控制系統實時性的提高策略
可編程控制器的實時處理器的研究
探討ERP系統環境下企業會計的實時控制
基于全集成自動化的能耗監控管理系統設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合