任志明,戴振民
(中國(guó)船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225001)
?
綜合射頻系統(tǒng)顯控的可重構(gòu)軟件架構(gòu)設(shè)計(jì)
任志明,戴振民
(中國(guó)船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225001)
綜合射頻系統(tǒng)具備雷達(dá)、電子對(duì)抗、通信等多種作戰(zhàn)能力,其通過(guò)前端天線陣面分置、集中數(shù)據(jù)處理、統(tǒng)一任務(wù)調(diào)度,統(tǒng)一顯示控制,實(shí)現(xiàn)作戰(zhàn)功能的協(xié)同整合,從而提升系統(tǒng)整體作戰(zhàn)效能。為此,綜合射頻系統(tǒng)的顯控分系統(tǒng)需要能夠進(jìn)行功能組合,按照當(dāng)前的作戰(zhàn)需求實(shí)現(xiàn)功能重構(gòu)。從綜合射頻系統(tǒng)顯控分系統(tǒng)的使用需求出發(fā),設(shè)計(jì)了一種支持軟件模塊進(jìn)行重構(gòu)的軟件架構(gòu),并用Qt實(shí)現(xiàn)了此軟件架構(gòu),然后將其應(yīng)用到多個(gè)工程中。
綜合射頻系統(tǒng);顯控;軟件架構(gòu);數(shù)據(jù)總線;重構(gòu)
綜合射頻系統(tǒng)將綜合推進(jìn)到天線及射頻前端,實(shí)現(xiàn)了最大化的作戰(zhàn)能力集成,將各型設(shè)備生成的數(shù)字波束合成(DBF)、脈沖描述字(PDW)等數(shù)據(jù)流通過(guò)光纖高速傳輸?shù)綌?shù)據(jù)處理中心進(jìn)行統(tǒng)一的數(shù)據(jù)處理,使雷達(dá)、通信、電子戰(zhàn)等功能能夠在統(tǒng)一的任務(wù)規(guī)劃下協(xié)同工作,提升了電子系統(tǒng)的作戰(zhàn)能力[1]。
綜合射頻系統(tǒng)顯控需要整合雷達(dá)、通信、電子對(duì)抗系統(tǒng)等多型設(shè)備或多種作戰(zhàn)能力的使用需求,跨越單個(gè)設(shè)備界限,設(shè)計(jì)可擴(kuò)展的、支持重構(gòu)的軟件架構(gòu),從作戰(zhàn)的角度對(duì)全系統(tǒng)所有設(shè)備的作戰(zhàn)能力進(jìn)行整合,實(shí)現(xiàn)統(tǒng)一的操控,以一致的風(fēng)格進(jìn)行人機(jī)交互[2]。
綜合射頻系統(tǒng)顯控的軟件架構(gòu)需要具備動(dòng)態(tài)擴(kuò)展的能力,單個(gè)的插件能夠無(wú)縫替換升級(jí),通過(guò)重構(gòu)集成新的功能模塊,滿足新的作戰(zhàn)需求。
綜合射頻系統(tǒng)顯控需要設(shè)計(jì)新的軟件架構(gòu),在統(tǒng)一架構(gòu)的前提下按照當(dāng)前的作戰(zhàn)需求將每個(gè)功能設(shè)計(jì)為獨(dú)立的插件,能夠動(dòng)態(tài)組合,實(shí)現(xiàn)功能重構(gòu),動(dòng)態(tài)生成顯控臺(tái)位。按照作戰(zhàn)能力劃分軟件模塊,如雷達(dá)探測(cè)功能、電子偵察功能、有源干擾功能、無(wú)源干擾功能等,顯控臺(tái)位啟動(dòng)的時(shí)候按照配置文件加載指定的功能模塊,生成相應(yīng)的功能臺(tái)。
在功能重構(gòu)的軟件架構(gòu)下,軟件模塊分為3種類型:
(1) 框架:提供插件的加載管理,設(shè)置插件的公共數(shù)據(jù)訪問(wèn)接口,對(duì)插件的畫(huà)面進(jìn)行布局,定義需要使用的數(shù)據(jù)總線;
(2) 數(shù)據(jù)總線:提供插件之間的通信機(jī)制,實(shí)現(xiàn)插件之間的通信和控制傳遞,提供插件對(duì)數(shù)據(jù)總線的掛接、卸載,接收數(shù)據(jù)寫(xiě)入的接口,將數(shù)據(jù)更新通知所有掛接的插件;
(3) 插件:提供具體的設(shè)備操控界面和功能,每個(gè)功能模塊通過(guò)統(tǒng)一定義的接口和外界進(jìn)行交互,負(fù)責(zé)各類數(shù)據(jù)的顯示和操控。下面對(duì)3個(gè)部分需要實(shí)現(xiàn)的功能進(jìn)行逐一分析。
1.1 框架的功能分析
框架需要定義插件的對(duì)外接口:插件的數(shù)據(jù)總線接口InterfaceDataBus,簡(jiǎn)稱為IDataBus;插件的顯示功能接口Interface_Display,簡(jiǎn)稱為IDisplay。
框架需要按照配置要求,分配相應(yīng)的資源,創(chuàng)建當(dāng)前的顯控臺(tái)位上需要的數(shù)據(jù)總線,設(shè)置插件訪問(wèn)數(shù)據(jù)總線的接口。
框架需要統(tǒng)一管理顯示畫(huà)面,在啟動(dòng)時(shí),加載指定的插件,對(duì)插件的窗口進(jìn)行統(tǒng)一布局,將插件的按鈕、菜單整合到界面中,生成操控界面。
框架需要設(shè)置統(tǒng)一的界面風(fēng)格,保證所有的插件能夠風(fēng)格一致。
1.2 數(shù)據(jù)總線的功能分析
在使用插件的軟件架構(gòu)下,插件之間沒(méi)有任何接口,是無(wú)法直接進(jìn)行通信的,插件之間通信必須通過(guò)數(shù)據(jù)總線進(jìn)行數(shù)據(jù)和控制的傳遞。
數(shù)據(jù)總線必須能夠動(dòng)態(tài)接收插件的掛接,提供數(shù)據(jù)總線的讀寫(xiě)訪問(wèn)接口。在總線上數(shù)據(jù)有更新的時(shí)候,必須通知掛接在數(shù)據(jù)總線上的所有插件。
在初始化的時(shí)候,軟件框架在創(chuàng)建插件后,設(shè)置插件訪問(wèn)數(shù)據(jù)總線的接口指針。插件通過(guò)接口指針掛接、訪問(wèn)數(shù)據(jù)總線。在插件將數(shù)據(jù)寫(xiě)入到數(shù)據(jù)總線時(shí),掛接在此總線上的插件會(huì)收到通知,對(duì)數(shù)據(jù)進(jìn)行讀取。插件可以掛接到任一個(gè)數(shù)據(jù)總線上,寫(xiě)入數(shù)據(jù)總線的數(shù)據(jù)實(shí)時(shí)廣播到每個(gè)掛接的插件。
數(shù)據(jù)總線涉及到3個(gè)角色:數(shù)據(jù)寫(xiě)入者、數(shù)據(jù)讀取者、數(shù)據(jù)更新通知的機(jī)制。數(shù)據(jù)寫(xiě)入者可以通過(guò)訪問(wèn)接口寫(xiě)入任意的數(shù)據(jù),總線接收數(shù)據(jù)后進(jìn)行存儲(chǔ),然后查詢找出所有掛接的插件,依次通知每個(gè)插件進(jìn)行數(shù)據(jù)讀取。圖1顯示了1個(gè)插件寫(xiě)入、2個(gè)插件讀取使用數(shù)據(jù)總線的序列圖。
1.3 插件的功能分析
將綜合射頻系統(tǒng)的作戰(zhàn)能力進(jìn)行分類,每個(gè)作戰(zhàn)能力實(shí)現(xiàn)為一個(gè)獨(dú)立的插件。在需要時(shí),被框架進(jìn)行加載。
插件實(shí)現(xiàn)框架定義的統(tǒng)一接口:數(shù)據(jù)總線接口IDataBus和顯示功能接口IDisplay。數(shù)據(jù)總線接口IDataBus提供對(duì)數(shù)據(jù)總線的訪問(wèn),顯示功能接口IDisplay將本插件的顯示窗口和界面元素菜單、工具欄等輸出給框架進(jìn)行統(tǒng)一的布局顯示。
如果插件沒(méi)有界面顯示元素輸出,如網(wǎng)絡(luò)通信插件,只需要實(shí)現(xiàn)數(shù)據(jù)總線接口,不需要實(shí)現(xiàn)顯示功能接口。插件如果有界面元素輸出,就需要實(shí)現(xiàn)數(shù)據(jù)總線接口和顯示功能接口。
此軟件架構(gòu)用Qt實(shí)現(xiàn),應(yīng)用了Qt的信號(hào)/槽技術(shù)。Qt是一個(gè)純面向?qū)ο蟮目缙脚_(tái)的軟件界面開(kāi)發(fā)包,對(duì)象之間通過(guò)信號(hào)/槽機(jī)制進(jìn)行通信,可以實(shí)現(xiàn)一對(duì)一、一對(duì)多,多對(duì)多的對(duì)象通信。信號(hào)/槽機(jī)制提供了任意2個(gè)對(duì)象之間通信的機(jī)制。每個(gè)對(duì)象可以聲明自己的信號(hào)Signal,聲明響應(yīng)函數(shù)Slot,每個(gè)Signal可以通過(guò)Qt的Connect機(jī)制連接到任意數(shù)量的Slot,每個(gè)Slot也可以接收任意數(shù)量的Signal的請(qǐng)求。Qt對(duì)象通過(guò)Signals聲明信號(hào),通過(guò)Slots聲明槽函數(shù),然后通過(guò)Connect函數(shù)將2個(gè)對(duì)象的信號(hào)和槽進(jìn)行連接[3]。
顯控軟件由三部分構(gòu)成:框架CorePlugIn,數(shù)據(jù)總線MemDataBus和插件組合。插件組合包括:網(wǎng)絡(luò)通信插件NetPlugIn,雷達(dá)顯示插件RadarPlugIn,電子偵察目標(biāo)顯示操控插件EsmTgtPlugIn,有源干擾顯示操控插件ActJamPlugIn,無(wú)源干擾顯示操控插件PassJamPlugIn,作戰(zhàn)任務(wù)顯示操控插件TaskPlugIn,BIT顯示插件BitPlugIn,數(shù)據(jù)綜合處理插件DataProPlugIn。
框架啟動(dòng)后,首先生成數(shù)據(jù)總線,從配置文件中讀取需要加載的插件名稱,加載插件,設(shè)置插件訪問(wèn)總線的接口。插件啟動(dòng)后,掛接相應(yīng)的數(shù)據(jù)總線。數(shù)據(jù)總線負(fù)責(zé)管理寫(xiě)入的數(shù)據(jù),發(fā)送通知消息到掛接在數(shù)據(jù)總線上的插件。
在CorePlugIn中加載完數(shù)據(jù)總線插件后,獲得了總線的訪問(wèn)接口,然后創(chuàng)建了網(wǎng)絡(luò)接收數(shù)據(jù)總線、網(wǎng)絡(luò)發(fā)送數(shù)據(jù)總線、雷達(dá)顯示數(shù)據(jù)總線、偵察目標(biāo)顯示數(shù)據(jù)總線、操控指令數(shù)據(jù)總線4個(gè)總線。
每個(gè)插件定義一個(gè)接口函數(shù),用于掛接到數(shù)據(jù)總線上接收更新通知,通知函數(shù)原型如下所示:
boolNotifyFunc(constQStringbusName,//總線名稱
const quint32 index,//寫(xiě)入的下標(biāo)
const quint32 bytes,//寫(xiě)入的字節(jié)數(shù)
const quint32 dataID)。//數(shù)據(jù)元素的ID
數(shù)據(jù)總線接收到數(shù)據(jù)寫(xiě)入更新后,通過(guò)NotifyFunc接口通知所有掛接的插件數(shù)據(jù)所在的數(shù)據(jù)總線名稱busName、數(shù)據(jù)的流水號(hào)index、字節(jié)數(shù)bytes、數(shù)據(jù)的特征dataID。插件從數(shù)據(jù)總線讀取數(shù)據(jù),然后進(jìn)行處理。
圖2顯示了框架、數(shù)據(jù)總線、插件三者之間關(guān)系的序列圖。
圖3顯示了從網(wǎng)絡(luò)接收到雷達(dá)數(shù)據(jù)后,相關(guān)的插件和數(shù)據(jù)總線處理的序列圖。
本文從綜合射頻系統(tǒng)顯控的需求出發(fā),分析了滿足動(dòng)態(tài)重構(gòu)的軟件架構(gòu)的能力要求,確定了綜合射頻系統(tǒng)顯控的3個(gè)組成部分,采用Qt技術(shù)實(shí)現(xiàn)了以框架、數(shù)據(jù)總線、插件組合的系統(tǒng)軟件架構(gòu),每個(gè)插件可以無(wú)縫升級(jí),新的插件可以動(dòng)態(tài)集成,具備較強(qiáng)的可擴(kuò)展性,實(shí)現(xiàn)了顯控功能重構(gòu),滿足了綜合射頻系統(tǒng)顯控要求,在多個(gè)工程中得到了應(yīng)用。
[1] 薛慧,王虎.艦載多功能綜合射頻一體化研究發(fā)展現(xiàn)狀[J].飛航導(dǎo)彈,2016(9):46-49.
[2] 許中行.綜合一體化雷達(dá)電子戰(zhàn)系統(tǒng)及技術(shù)特征探析[J].電子工程信息,2003(6):37-47.
[3] BLANCHETTE J,SUMMERFIELD M.C++ GUI Qt4 編程[M].2版.閆鋒欣,曾泉人,張志強(qiáng),等譯.北京:電子工業(yè)出版社,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