999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

機載戰術數據系統框架設計

2012-06-07 01:34:58蘇玉強
電光與控制 2012年1期
關鍵詞:機制設備

蘇玉強,劉 穎

(1.中國人民解放軍駐航天二院二十三所軍事代表室,北京 100854; 2.海軍裝備研究院,北京 100161)

1 戰術數據系統及其需求

機載戰術數據處理系統主要功能是根據當前戰場態勢進行戰術解算,實現空空、空地、空艦戰術數據共享,為飛行員及指揮員提供輔助決策。例如進行飛行航路解算、目標威脅判斷、飛機編隊間武器協同和編隊內及地空戰斗協同等。不同機型的機載戰術數據處理系統因飛機作戰功能的差異而使其具體功能有區別,但都有一些共同特點,如下所述。

1)戰斗行動指揮的最大特點是實時性[1]。戰斗機上各分系統目前大多數采用VxWorks嵌入式操作系統。

2)與多種機載設備交聯。機載雷達、大氣機、導航設備、平視顯示器、武器外掛物管理、數據鏈設備、音響中心、顯控系統和綜合航電系統都可能與戰術數據處理系統交聯,它們或者是計算數據來源,或者在其上進行顯示控制。

3)數據記錄下載要求。為了進行飛行后數據分析,需要對飛行數據進行記錄,并能在飛行后下載。

4)安全性要求。機載計算機在設計時都有硬件看門狗,當應用程序運行異常時觸發看門狗,使計算機重啟,其適用于無操作系統或者單任務系統。

目前機載設備程序大多數采用多任務設計,因此需要對各任務進行監控,當任務運行異常時,實現硬件重啟和看門狗功能。

不同機型的戰術數據系統功能可能差異較大,其差異主要體現在戰術解算部分,在程序結構方面都體現出一致性,程序員在軟件開發過程中將軟件功能與程序結構緊密結合,未能提煉出軟件體系結構方面的共同點,造成軟件結構比較混亂,不利于軟件的維護性和重用性。設計機載戰術數據系統的通用框架不僅可以縮短開發周期,并且可以提高程序的可讀性和可維護性等。該框架基于VxWorks操作系統,采用層次化的設計方式,利用抽象化設計,將框架與操作系統分離,能移植到其他操作系統下,并實現幾個典型的物理接口,包括 ARINC429、1553B、RS422和 UDP等,使程序員將重點放在戰術解算部分的設計。

2 框架層次結構

戰術數據系統程序框架為各種飛機平臺的戰術數據系統提供統一體系結構,為應用程序屏蔽了操作系統接口,通常戰術數據系統包含3個層次:共用框架層、通信接口處理層和戰術信息綜合處理層。戰術信息綜合處理層主要完成戰場綜合態勢形成,包括航跡管理和航跡融合,以及目標威脅判斷、飛行航路解算、戰斗協同、指揮交接等戰術數據處理,不同機型的戰術要求會有一些區別,設計共用框架的目的就是要開發人員集中注意力于戰術信息綜合處理。通信接口處理層的功能是完成與各類機載設備的交聯以及接口控制協議解析。共用框架層包括:任務監控、通信管理、數據記錄、消息管理和定時器,其中消息管理和定時器是借助操作系統實現的通用功能,其功能類似于Windows下的消息機制和定時器,實現消息驅動功能。任務監控完成類似硬件看門狗功能,當有任務運行出現異常時實現硬件重啟;通信管理為所有交聯的機載設備提供統一抽象接口,包括數據發送、接收和訂閱。數據記錄為戰術數據系統提供異步數據記錄功能,不僅可以記錄戰術數據,還可以記錄系統標準輸出和標準錯誤輸出信息。這些信息就是用戶使用printf、logMsg語句等輸出的信息,以及系統出錯時由操作系統自行輸出的信息。這些信息在我們日常的開發中經常使用,在地面開發狀態可以通過超級終端或者虛擬控制臺看到,是程序開發調試的重要手段。但是在飛行狀態時無法獲得,可以通過數據記錄獲得。

圖1 機載戰術數據系統典型層次結構Fig.1 Typical hierarchical structure of airborne tactical data system

3 框架設計

3.1 定時器

在應用軟件開發過程中經常會用到定時器,如在Windows下,用VC++開發應用程序時,操作系統提供接口簡潔的定時器調用函數,程序員需要做的就是設置定時回調函數和定時周期,不需要更深地了解其實現的機制,系統對回調函數也沒有任何限制。但是,機載戰術數據系統通常采用的VxWorks操作系統并沒有提供類似于Windows下的定時器支持,要實現定時功能有兩個途徑:1)借助taskDelay函數實現;2)使用VxWorks提供的看門狗(watchdog)。使用taskDelay實現定時器的缺點在于它是基于任務的,由于任務優先級的原因會導致定時不準;相比之下看門狗是基于系統時鐘中斷,定時精度大大優于前者,但是由于看門狗是基于中斷機制,因而對用戶的回調函數有諸多限制,如不允許使用semTake,printf等需要等待獲取某種資源的函數,否則會引起程序死機。另外,看門狗只觸發一次回調函數,如果用戶需要周期定時器就需要重新啟動看門狗。

基于看門狗機制設計實現異步通用定時器,異步是指該定時器運行于任務中,相對于中斷下對用戶回調函數的限制,對用戶沒有任何限制。該定時器提供類似于Windows定時器的操作接口,接口簡單,使用方便,并根據實際需要設計了周期定時和一次性定時兩種定時器。

3.2 消息機制

為降低模塊之間的耦合度,機載戰術數據系統采用事件驅動模式,事件驅動模式借助消息機制實現,程序模塊利用發布—訂閱模式注冊模塊關注的消息,通過消息經消息中心實現事件驅動以及數據交換[2-4]。

圖2 基于消息的應用框架示意Fig.2 Application framework based on message mechanism

消息映射表是發布和訂閱者之間的聯系紐帶。消息映射表的索引是消息響應句柄,一個消息響應句柄可以對應多個消息,但是不能重復響應同樣一個消息。消息映射表以鏈表形式存儲,每個節點的第一個元素是消息響應句柄,第二個元素是消息槽。消息槽由響應消息類型標識集合、消息池、消息觸發信號量和異步消息響應任務等4部分組成。

消息引擎是應用框架的處理核心,負責消息映射表和消息槽的建立、維護,訂閱—發布模式驅動。下面為訂閱、發布和響應3個方面消息引擎的處理流程。

1)消息訂閱。

應用程序模塊以消息響應句柄和響應消息標識作為參數,調用消息引擎的消息訂閱接口,消息訂閱實際是創建消息映射表和消息槽的過程,首先消息引擎掃描消息映射表,如果消息表中沒有注冊該消息響應句柄,則注冊該消息句柄,并且創建對應消息槽,同時將消息標識添加到消息槽的響應消息集合中;否則只是將消息標識添加到響應消息集合中。

消息槽的創建過程:初始化響應消息集合、初始化消息池、創建一個初始計數為零的計數信號量,生成一個線程或者任務作為異步消息響應任務,并且等待消息觸發信號量,此時該任務處于掛起狀態。

2)消息發布。

應用程序模塊發布消息時并不關心哪個模塊會響應該消息,只是將消息標識和對應的消息內容提交給消息引擎。當發布異步消息時,消息引擎遍歷消息映射表,查找響應該消息標識的消息響應句柄,拷貝該消息內容和消息標識存入消息池,釋放消息觸發信號量,此時異步消息的發布就已經完成。發布同步消息不同于異步消息在于,不拷貝消息和釋放消息觸發信號量,在發布消息的任務空間中調用消息響應函數。

3)消息響應。

在消息發布中已闡述了同步消息的響應過程,此處著重異步消息響應,在消息訂閱中創建消息槽時創建的異步消息響應任務掛起于消息觸發信號量,異步消息發布時釋放消息觸發信號量,此時任務解鎖,從消息池中取出消息標識和消息內容,調用消息響應函數,然后釋放在消息發布中生成消息內容,否則會引起內存泄漏。

3.3 通信設備管理

戰術數據系統可能會和多種機上設備交聯,比如通過ARINC429與導航設備交聯、1553B與機載雷達交聯。不管是什么樣的設備,不外乎數據接收和數據發送兩部分,數據接收可能是中斷或者數據查詢方式。為實現對不同交聯設備的統一管理,需對通信設備進行抽象封裝。通信設備抽象采用Bridge設計模式,將抽象與實現分離,在抽象部分實現接收數據分發機制,在實現部分實現物理設備收發的抽象[3]。

接收數據分發機制采用Observer設計模式[2],提供接收數據訂閱接口,每訂閱一次數據就會生成一個任務,在接收到物理設備收發的接收任務提交的通信數據時將數據放在接收緩沖區中,通知訂閱任務調用接收處理函數,并將接收到的數據傳給接收處理函數。在實現上有點類似消息機制。

物理設備收發抽象封裝了兩個任務:1)負責接收數據,并將數據提交給數據分發機制;2)負責數據的發送。用戶要發送數據時首先是將數據存放在發送緩沖區中,并不是真正地從物理設備發送出去,發送任務不停地從發送緩沖區中向物理設備發送數據,當采用中斷方式發送或接收數據時,中斷處理程序與發送或接收任務通過消息隊列或者環形緩沖區完成數據交換[7]。

圖3 通信設備抽象設計類圖Fig.3 Class chart with abstract communication device

3.4 數據記錄

記錄數據寫入電子盤的速度是比較慢的,為不影響數據處理的速度,將數據記錄從數據處理任務中分離出來,在戰術數據系統框架中設計了一個通用的數據記錄模塊,數據記錄采用異步模式,即在數據處理的過程中將需要記錄的數據交給數據記錄模塊,此時只是將數據放入緩沖區中,并不在此時真正寫入電子盤文件中,數據記錄模塊有一個優先級較低的任務負責從緩沖區中取出數據寫入文件。同時對于在地面調試時使用printf和logMsg輸出的信息,通過操作系統對標準輸出文件描述符的重定向功能記錄到電子盤。

3.5 任務監控

機載戰術數據軟件大多采用多任務方式,無法通過硬件看門狗電路在軟件運行出錯時自動重啟,恢復軟件運行。因此需要建立軟件看門狗機制,監控任務運行情況,在出現異常時記錄必要的異常信息,自動重啟設備。事后利用記錄輸出信息輔助分析異常原因。

VxWorks下任務有4種基本狀態:READY、PEND、DELAY、SUSPEND[5],另外其他一些組合狀態在用戶不使用Shell命令人為改變任務狀態前提下,如果狀態中出現SUSPEND,就說明該任務已經出錯。任務監控需要周期性地監測操作系統中所有運行的任務狀態,發現某任務出錯時記錄任務的相關基本信息,并自動重啟[6]。

在VxWorks下系統標準錯誤輸出(STD_ERR,文件描述為2)用來輸出系統的出錯信息,通過ioGlobal-StdSet可以將其重定向到電子盤文件輸出。

3.6 實時性保障

在定時器、消息機制、通信設備管理、數據記錄和任務監控5部分中,數據記錄和任務監控在整個框架中只是補充性的,在程序開發中脫離開框架,數據記錄和任務監控也是在負載較小時進行,因此,它們對實時性要求并不高。定時器、消息機制、通信設備管理是使用框架構建戰術數據系統應用程序的關鍵所在,程序運行、調度均通過其完成,例如,外部數據的接收發送通過通信設備管理完成,數據周期性刷新送顯通常依賴于定時器,數據處理過程的狀態傳遞、結果分發往往要使用消息機制。因此定時器、消息機制、通信設備管理3部分對實時性的支持非常重要,要為應用程序提供靈活的實時性支持,供應用程序根據自身要求選擇。

1)定時器。

定時器通常使用異步模式,即定時用看門狗中斷完成,用戶處理在另一任務中完成,在這種情況下可以使用任務優先級來保障實時性。如果還無法達到實時性要求則可使用同步模式(不推薦使用,在處理過程簡單時適用),即直接在看門狗中斷中完成定時器處理。

2)消息機制。

消息機制分為同步消息和異步消息。同步消息是觸發者和響應者在同一任務中運行,也就是類似于函數調用關系;異步消息是觸發者和響應者在不同任務中運行,會涉及到信號量釋放,任務激活調度等,相對于同步消息實時性稍差。因此可首先使用異步消息,通過任務優先級保障實時性,其次使用同步消息。

3)通信設備管理。

通信設備管理中,數據的接收和發送可以使用中斷方式,亦可使用查詢方式,用戶可以根據設備具體接口選擇。在數據的接收和發送傳遞過程中,與定時器及消息機制一樣,可以異步,也可以同步,異步即數據在不同任務之間傳遞,同步即數據在同一任務的不同函數之間傳遞,對實時性保障與定時器及消息機制類似。

4 框架應用

某殲擊轟炸機的戰術數據系統的主要任務是:通過機載戰術數據鏈實現空艦/空地戰術數據共享,可將飛機導航信息、油量、武器外掛以及機載雷達的跟蹤目標下發;接收地面、艦載或者空中指揮所通過數據鏈實施的指揮,能接收指揮所的目標信息、目標指示信息、戰術命令以及指揮引導信息,完成對機載雷達的目標指示,無線電靜默下的目標攻擊;根據飛機性能解算攻擊敵方目標的有利飛行航路。

機載戰術數據處理系統與機載雷達通過1553B交聯,與機載數據鏈通過RS422交聯,與慣導設備通過ARINC429交聯。對戰術數據系統的操作控制通過雷達顯示器周邊鍵完成,所有戰術數據(如目標、戰術命令、飛行航路等)在雷達顯示器上顯示[8]。

戰術數據處理系統分為接口處理層和戰術處理層,接口處理層主要負責接口解析,包括雷達接口處理、數據鏈接口處理和慣導接口處理。戰術處理層包括數據鏈信息協議處理,雷達飛行航路解算、本機飛行平臺參數處理、雷達跟蹤目標航跡處理、簡單戰術命令管理、目標指示信息處理、對空指揮引導信息處理、數據鏈目標航跡處理和顯控處理等部分。它們中有使用定時器,如對數據鏈目標做外推時需要定時器、目標顯示時需要定時器;也有使用消息機制實現數據交換,如飛行航路解算的結果以消息的形式發送給顯控處理,然后發送給雷達完成航路顯示。

圖4 某機載戰術數據系統結構示意圖Fig.4 Structure of a certain airborne tactical data system

5 結束語

本文設計的機載戰術數據系統框架已經成功運用于多種機型,雖然不同機型的戰術數據系統的任務有不同側重,但是運用本框架不但降低了開發者的開發成本,使其更注重于戰術解算部分,而且在程序的可讀性和可維護方面都有很大的提高,框架具有通用性。

[1]夏英明.論航空火力指揮控制系統[J].電光與控制,2007,14(6):1-7,12.

[2]GAMMA E.設計模式:可復用面向對象軟件的基礎[M].北京:機械工業出版社,2007.

[3]溫昱.軟件架構設計[M].北京:電子工業出版社,2007.

[4]姚啟鵬.基于消息中間件應用框架的研究[J].計算機與現代化,2006(11):84-87.

[5]WindRiver System Inc.VxWorks Programer's Guide[M].USA:WindRiver System Inc.1999.

[6]蘇玉強,劉穎,張磊.VxWorks下的任務監控方法及其應用[J].工業控制計算機,2008,21(2):35-36.

[7]王運棟,狄元博,陸小龍,等.UML在戰術數據處理系統建模中的應用[J].電光與控制,2007,14(5):149-152.

[8]邵帆,張安.航電綜合系統中飛機顯示控制系統的仿真與實現[J].電光與控制,2010,17(11):89-92.

猜你喜歡
機制設備
諧響應分析在設備減振中的應用
構建“不敢腐、不能腐、不想腐”機制的思考
基于VB6.0+Access2010開發的設備管理信息系統
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
如何在設備采購中節省成本
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
主站蜘蛛池模板: 自拍欧美亚洲| 国产精品亚洲精品爽爽| 亚洲无限乱码| 亚洲第一色视频| 欧美午夜在线播放| 人妻免费无码不卡视频| 青青草原国产av福利网站| 成人91在线| 国产国语一级毛片在线视频| 亚洲最大福利视频网| 国产办公室秘书无码精品| 极品国产一区二区三区| 久久综合色天堂av| 一级毛片免费不卡在线| 午夜激情婷婷| 2048国产精品原创综合在线| 久久毛片基地| 久久综合五月婷婷| 欧美日韩亚洲综合在线观看| 国产精品成人一区二区| 真实国产乱子伦高清| 嫩草国产在线| 91九色国产porny| 欧美三級片黃色三級片黃色1| 国产综合精品一区二区| 本亚洲精品网站| 2020精品极品国产色在线观看| 亚洲美女一区二区三区| 精品第一国产综合精品Aⅴ| 天天色综网| 成年人久久黄色网站| 国模视频一区二区| 成人小视频网| 亚洲精品福利视频| 99久久人妻精品免费二区| 91亚洲精品国产自在现线| 毛片最新网址| 国产精品第一区在线观看| 亚洲AⅤ波多系列中文字幕| 在线观看免费人成视频色快速| 99精品福利视频| 亚洲视频二| 国产女人在线视频| 亚洲欧美在线综合一区二区三区| 亚洲成人精品在线| 秋霞一区二区三区| 亚洲欧美另类中文字幕| 40岁成熟女人牲交片免费| 国产在线精品99一区不卡| 精品视频在线观看你懂的一区| 日本精品影院| 麻豆精品在线视频| 美女裸体18禁网站| 日韩成人午夜| 97在线免费| 亚洲欧美不卡中文字幕| 中文字幕人妻av一区二区| 97精品伊人久久大香线蕉| 久久综合激情网| 中文字幕久久精品波多野结| 欧美中文字幕在线二区| 欧美综合区自拍亚洲综合绿色 | 国产高潮流白浆视频| 午夜性刺激在线观看免费| www.日韩三级| 精品视频91| 欧美另类第一页| 亚洲乱伦视频| 欧美午夜性视频| 亚洲a级毛片| 国产精品亚洲一区二区在线观看| 无码丝袜人妻| 2021国产在线视频| 国产精品观看视频免费完整版| 久久久精品国产SM调教网站| 欧美人与性动交a欧美精品| 99精品高清在线播放| 亚洲乱码精品久久久久..| 亚洲精品少妇熟女| 国产9191精品免费观看| 亚洲国模精品一区| 极品国产一区二区三区|