基于INtime的雷達實時操控顯示終端設計
3.1 INtime進程
INtime實時進程在INtime內核中運行,根據其功能劃分主要包括系統定時功能模塊、實時跟蹤控制功能模塊、跟蹤數據處理功能模塊、網絡接口通信功能模塊和進程通信管理模塊。軟件采用多線程方式設計,按實時性要求劃分不同優先級的任務,采用適當的任務調度策略,使每個任務按要求適時執行。進程的軟件結構如圖4所示。本文引用地址:http://www.104case.com/article/178201.htm
實時進程采用計數器對外部定時接口板的10ms硬件定時中斷進行計數,分別產生40 ms和200 ms中斷信號量。根據系統處理實時性要求,將40 ms定時處理線程相對優先級設置為1(高),將200 ms定時處理線程相對優先級設置為2(中),將雷達各分系統與INtime進程的通信線程優先級均設置為0(最高),以保證跟蹤傳感器跟蹤數據的實時可靠。
通信線程主要用于接收網絡上跟蹤傳感器的跟蹤距離、角度偏差和狀態數據。線程通過網絡中斷方式實時接收數據,并將數據存入相關的接收數據數組,供40 ms定時處理線程使用。
40ms定時處理線程用于將多跟蹤傳感器的跟蹤數據進行融合處理,并建立跟蹤航跡,采用卡爾曼濾波對目標進行航跡的平滑、外推和精確跟蹤。根據目標預測位置和天線位置求取角度偏差量,采用速度回路和位置回路控制跟蹤伺服分系統,以使跟蹤天線保持對準目標方向,實現對目標的實時跟蹤。40 ms定時處理線程同時將光電及跟蹤雷達傳感器的狀態數據、系統狀態和目標航跡的跟蹤處理結果等寫入數據隊列用于Windows進程顯示。
200ms定時處理線程主要用于INtime實時進程與Windows進程間的數據交互。采用共享內存和信號量機制,創建共享內存對象和信號量對象,定時將數據隊列中的數據寫入共享內存中,主要包括雷達的跟蹤狀態、跟蹤航跡信息、雷達分系統控制信息、時鐘信號量等。Windows進程在與INtime進程通信時,通過調用INtime的NTX API,獲得INtime實時內核上創建的對象。
3.2 Windows進程
Windows進程與普通桌面Windows系統下的進程設計方法完全兼容。本終端的顯示設計采用多線程方式,利用Windows平臺的DirectX圖形接口,通過DirectDraw進行快速、多層次的頁面繪制和顯示。采用圖形控件進行界面布局,通過各控件的功能定義和相應的消息機制來驅動人機界面操控事件,以完成界面中各功能按鈕、對話框、列表框等的操控功能。
雷達圖像的顯示主要為圓形雷達圖像和文字顯示,包括PPI坐標背景、電子地圖背景、雷達原始視頻圖像、各種目標點跡、航跡、字符以及天線碼盤等信息。采用DirectlDraw圖形加速顯示技術和頁面的分層設計,將DirectDraw頁面分為背景層頁面、電子地圖顯示頁面、雷達原始回波視頻頁面、目標頁面和動態狀態數據頁面。通過多線程對各頁面顯示內容獨立進行快速繪制,在Windows進程的主定時器中將各頁面疊加繪制到DxDraw主頁面,調用DirectDraw的換頁函數(Flip)進行顯示。由于雷達數字原始視頻數據量龐大,顯示任務資源消耗較多,為保證INtime進程對CPU資源的合理利用,將用于顯示任務的主定時器線程時間周期設計為100 ms,既滿足顯示畫面的流暢性,又不致過多的占用CPU。
Windows進程與INtimc間的數據交互通過通信管理模塊來完成,調用INtime的NTX API,訪問INtime系統中創建的共享內存數據和信號量數據。
雷達數據的存儲以INtime系統設置的定時器為時間基準,對接收到的所有網絡數據進行打時標和報文重組,以二進制方式記錄在存儲介質中,以保證數據的真實性。
3.3 軟件的運行
使用XPE+INtime構筑的系統作為雷達操控終端軟件運行環境,主要由Real-time控制應用(INtime進程)和GUl應用(Windows進程)兩部分構成。終端軟件的Windows進程直接雙擊運行,由XPE操作系統載入內存并執行,INtime實時進程由其系統配套的實時控制應用軟件載入器LDRTA.EXE加載到內核并執行。INtime內核將自動創建一個最低優先級線程,用于將計算機上下文切換回Windows進程,以保證兩進程在同一硬件平臺同時運行。兩進程通過共享的內存和信號量進行數據交互,并各自獨立運行完成雷達的實時操控顯示功能。
4 結語
通過對基于INtime的雷達實時操控顯示終端的實驗室測試與仿真,以及與雷達實裝的現場運行,實時操控顯示終端較好地完成了對雷達的實時控制和數據處理運算,滿足系統實時性要求,同時能夠流暢顯示雷達的原始視頻回波、檢測點跡以及雷達工作狀態,表明了該方案能夠成功地將雷達實時控制和實時性要求不高的顯示集成在一起,既降低成本又增加了系統的可靠性。
評論