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