任志明,戴振民
(中國船舶重工集團公司第七二三研究所,江蘇 揚州 225001)
?
綜合射頻系統顯控的可重構軟件架構設計
任志明,戴振民
(中國船舶重工集團公司第七二三研究所,江蘇 揚州 225001)
綜合射頻系統具備雷達、電子對抗、通信等多種作戰能力,其通過前端天線陣面分置、集中數據處理、統一任務調度,統一顯示控制,實現作戰功能的協同整合,從而提升系統整體作戰效能。為此,綜合射頻系統的顯控分系統需要能夠進行功能組合,按照當前的作戰需求實現功能重構。從綜合射頻系統顯控分系統的使用需求出發,設計了一種支持軟件模塊進行重構的軟件架構,并用Qt實現了此軟件架構,然后將其應用到多個工程中。
綜合射頻系統;顯控;軟件架構;數據總線;重構
綜合射頻系統將綜合推進到天線及射頻前端,實現了最大化的作戰能力集成,將各型設備生成的數字波束合成(DBF)、脈沖描述字(PDW)等數據流通過光纖高速傳輸到數據處理中心進行統一的數據處理,使雷達、通信、電子戰等功能能夠在統一的任務規劃下協同工作,提升了電子系統的作戰能力[1]。
綜合射頻系統顯控需要整合雷達、通信、電子對抗系統等多型設備或多種作戰能力的使用需求,跨越單個設備界限,設計可擴展的、支持重構的軟件架構,從作戰的角度對全系統所有設備的作戰能力進行整合,實現統一的操控,以一致的風格進行人機交互[2]。
綜合射頻系統顯控的軟件架構需要具備動態擴展的能力,單個的插件能夠無縫替換升級,通過重構集成新的功能模塊,滿足新的作戰需求。
綜合射頻系統顯控需要設計新的軟件架構,在統一架構的前提下按照當前的作戰需求將每個功能設計為獨立的插件,能夠動態組合,實現功能重構,動態生成顯控臺位。按照作戰能力劃分軟件模塊,如雷達探測功能、電子偵察功能、有源干擾功能、無源干擾功能等,顯控臺位啟動的時候按照配置文件加載指定的功能模塊,生成相應的功能臺。
在功能重構的軟件架構下,軟件模塊分為3種類型:
(1) 框架:提供插件的加載管理,設置插件的公共數據訪問接口,對插件的畫面進行布局,定義需要使用的數據總線;
(2) 數據總線:提供插件之間的通信機制,實現插件之間的通信和控制傳遞,提供插件對數據總線的掛接、卸載,接收數據寫入的接口,將數據更新通知所有掛接的插件;
(3) 插件:提供具體的設備操控界面和功能,每個功能模塊通過統一定義的接口和外界進行交互,負責各類數據的顯示和操控。下面對3個部分需要實現的功能進行逐一分析。
1.1 框架的功能分析
框架需要定義插件的對外接口:插件的數據總線接口InterfaceDataBus,簡稱為IDataBus;插件的顯示功能接口Interface_Display,簡稱為IDisplay。
框架需要按照配置要求,分配相應的資源,創建當前的顯控臺位上需要的數據總線,設置插件訪問數據總線的接口。
框架需要統一管理顯示畫面,在啟動時,加載指定的插件,對插件的窗口進行統一布局,將插件的按鈕、菜單整合到界面中,生成操控界面。
框架需要設置統一的界面風格,保證所有的插件能夠風格一致。
1.2 數據總線的功能分析
在使用插件的軟件架構下,插件之間沒有任何接口,是無法直接進行通信的,插件之間通信必須通過數據總線進行數據和控制的傳遞。
數據總線必須能夠動態接收插件的掛接,提供數據總線的讀寫訪問接口。在總線上數據有更新的時候,必須通知掛接在數據總線上的所有插件。
在初始化的時候,軟件框架在創建插件后,設置插件訪問數據總線的接口指針。插件通過接口指針掛接、訪問數據總線。在插件將數據寫入到數據總線時,掛接在此總線上的插件會收到通知,對數據進行讀取。插件可以掛接到任一個數據總線上,寫入數據總線的數據實時廣播到每個掛接的插件。
數據總線涉及到3個角色:數據寫入者、數據讀取者、數據更新通知的機制。數據寫入者可以通過訪問接口寫入任意的數據,總線接收數據后進行存儲,然后查詢找出所有掛接的插件,依次通知每個插件進行數據讀取。圖1顯示了1個插件寫入、2個插件讀取使用數據總線的序列圖。
1.3 插件的功能分析
將綜合射頻系統的作戰能力進行分類,每個作戰能力實現為一個獨立的插件。在需要時,被框架進行加載。
插件實現框架定義的統一接口:數據總線接口IDataBus和顯示功能接口IDisplay。數據總線接口IDataBus提供對數據總線的訪問,顯示功能接口IDisplay將本插件的顯示窗口和界面元素菜單、工具欄等輸出給框架進行統一的布局顯示。
如果插件沒有界面顯示元素輸出,如網絡通信插件,只需要實現數據總線接口,不需要實現顯示功能接口。插件如果有界面元素輸出,就需要實現數據總線接口和顯示功能接口。
此軟件架構用Qt實現,應用了Qt的信號/槽技術。Qt是一個純面向對象的跨平臺的軟件界面開發包,對象之間通過信號/槽機制進行通信,可以實現一對一、一對多,多對多的對象通信。信號/槽機制提供了任意2個對象之間通信的機制。每個對象可以聲明自己的信號Signal,聲明響應函數Slot,每個Signal可以通過Qt的Connect機制連接到任意數量的Slot,每個Slot也可以接收任意數量的Signal的請求。Qt對象通過Signals聲明信號,通過Slots聲明槽函數,然后通過Connect函數將2個對象的信號和槽進行連接[3]。
顯控軟件由三部分構成:框架CorePlugIn,數據總線MemDataBus和插件組合。插件組合包括:網絡通信插件NetPlugIn,雷達顯示插件RadarPlugIn,電子偵察目標顯示操控插件EsmTgtPlugIn,有源干擾顯示操控插件ActJamPlugIn,無源干擾顯示操控插件PassJamPlugIn,作戰任務顯示操控插件TaskPlugIn,BIT顯示插件BitPlugIn,數據綜合處理插件DataProPlugIn。
框架啟動后,首先生成數據總線,從配置文件中讀取需要加載的插件名稱,加載插件,設置插件訪問總線的接口。插件啟動后,掛接相應的數據總線。數據總線負責管理寫入的數據,發送通知消息到掛接在數據總線上的插件。
在CorePlugIn中加載完數據總線插件后,獲得了總線的訪問接口,然后創建了網絡接收數據總線、網絡發送數據總線、雷達顯示數據總線、偵察目標顯示數據總線、操控指令數據總線4個總線。
每個插件定義一個接口函數,用于掛接到數據總線上接收更新通知,通知函數原型如下所示:
boolNotifyFunc(constQStringbusName,//總線名稱
const quint32 index,//寫入的下標
const quint32 bytes,//寫入的字節數
const quint32 dataID)。//數據元素的ID
數據總線接收到數據寫入更新后,通過NotifyFunc接口通知所有掛接的插件數據所在的數據總線名稱busName、數據的流水號index、字節數bytes、數據的特征dataID。插件從數據總線讀取數據,然后進行處理。
圖2顯示了框架、數據總線、插件三者之間關系的序列圖。
圖3顯示了從網絡接收到雷達數據后,相關的插件和數據總線處理的序列圖。
本文從綜合射頻系統顯控的需求出發,分析了滿足動態重構的軟件架構的能力要求,確定了綜合射頻系統顯控的3個組成部分,采用Qt技術實現了以框架、數據總線、插件組合的系統軟件架構,每個插件可以無縫升級,新的插件可以動態集成,具備較強的可擴展性,實現了顯控功能重構,滿足了綜合射頻系統顯控要求,在多個工程中得到了應用。
[1] 薛慧,王虎.艦載多功能綜合射頻一體化研究發展現狀[J].飛航導彈,2016(9):46-49.
[2] 許中行.綜合一體化雷達電子戰系統及技術特征探析[J].電子工程信息,2003(6):37-47.
[3] BLANCHETTE J,SUMMERFIELD M.C++ GUI Qt4 編程[M].2版.閆鋒欣,曾泉人,張志強,等譯.北京:電子工業出版社,2008.
DesignofReconfigurableSoftwareArchitectureforDisplayandControlofIntegratedRFSystem
REN Zhi-ming,DAI Zhen-min
(The 723 Institute of CSIC,Yangzhou 225001,China)
The integrated radio frequency (RF) system has many fighting capabilities such as radar,electronic countermeasure,communication and so on.It uses front-end antenna array separation,centralized data processing,unified task scheduling and unified display and control to realize the collaborative integration of operational functions,thereby improves the overall combat effectiveness of weapon system.Thus,the display and control sub-system of integrated RF system need to be combined for the functions,namely reconstructs the function modules according to current operational requirements.Considering the requirements of integrated RF system's display and control sub-system,this paper designs a software architecture supporting software model reconstruction,and implements this software architecture through Qt,then applies it to several projects.
integrated radio frequency system;display and control;software architecture;data bus;reconstruction
2017-03-06
TP302
:A
:CN32-1413(2017)03-0073-03
10.16426/j.cnki.jcdzdk.2017.03.017