朱珂+劉彥偉+丁凱+劉偉升
摘 要: 為了提高1553B總線測(cè)試系統(tǒng)應(yīng)對(duì)被測(cè)系統(tǒng)在拓?fù)浣Y(jié)構(gòu)或通信協(xié)議變化時(shí)的快速可重構(gòu)性,提出一種基于通用1553B總線仿真卡的快速可重構(gòu)的1553B總線測(cè)試軟件設(shè)計(jì)方法。分析當(dāng)前1553B總線測(cè)試系統(tǒng)可重構(gòu)性不足的缺點(diǎn),詳細(xì)介紹快速可重構(gòu)1553B總線測(cè)試軟件的設(shè)計(jì)架構(gòu)和實(shí)現(xiàn)方法。這里提出的軟件設(shè)計(jì)方法通過總線服務(wù)劃分和代理托管的方式使軟件的代碼實(shí)現(xiàn)不依賴于總線協(xié)議的具體格式,并且極大地減少了軟件編程的代碼量,從而在代碼可重構(gòu)和配置可重構(gòu)兩方面實(shí)現(xiàn)軟件的快速可重構(gòu)。該軟件設(shè)計(jì)具有可靠性強(qiáng)、編程效率高、重構(gòu)速度快,現(xiàn)場(chǎng)可重配置等特點(diǎn),其應(yīng)用實(shí)例軟件的代碼重構(gòu)率小于1‰,并已經(jīng)在多個(gè)航天器的1553B總線子系統(tǒng)測(cè)試中取得了良好的效果。
關(guān)鍵詞: 快速可重構(gòu)性; 1553B總線; 測(cè)試軟件; 軟件設(shè)計(jì)
中圖分類號(hào): TN912.202?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)14?0059?05
0 引 言
1553B總線,全稱為MIL?STD?1553B總線,是一種集中控制式的數(shù)字時(shí)分命令/響應(yīng)型多路串行數(shù)據(jù)總線標(biāo)準(zhǔn),具有互連簡(jiǎn)單、高可靠、靈活性強(qiáng)和速率較高等優(yōu)點(diǎn)。近年來,隨著航天技術(shù)的進(jìn)步,1553B總線在航空航天等軍工電子信息系統(tǒng)中已經(jīng)得到了越來越廣泛的應(yīng)用[1?3]。
1553B總線系統(tǒng)采用集中控制、分布式處理的雙冗余度總線系統(tǒng)結(jié)構(gòu),連接在1553B總線上的設(shè)備稱為終端,分為總線控制器(BC)、遠(yuǎn)程終端(RT)和總線監(jiān)視器(BM)3類。其中BM實(shí)現(xiàn)對(duì)總線上傳輸數(shù)據(jù)的采集監(jiān)視,BC掌握總線系統(tǒng)的所有控制權(quán),總線上的一切活動(dòng)都由BC端發(fā)起和控制,BC與RT之間、RT與RT之間的相互通信遵循規(guī)定的1553B總線協(xié)議。通常在1553總線通信系統(tǒng)研制過程中,對(duì)BC和各RT終端之間規(guī)定的總線通信協(xié)議實(shí)現(xiàn)正確性的測(cè)試是必不可少也是至關(guān)重要的環(huán)節(jié)。總線測(cè)試也即對(duì)各RT設(shè)備的1553B總線接口的匹配性、總線通信功能的正確性乃至特定總線協(xié)議符合性的綜合評(píng)價(jià)。
目前快速構(gòu)建1553B總線測(cè)試系統(tǒng)的方法即是采用基于總線仿真卡的1553B進(jìn)行應(yīng)用軟件開發(fā),這樣的測(cè)試系統(tǒng)具備既簡(jiǎn)單快捷又靈活方便的優(yōu)點(diǎn),也正被越來越多的工程實(shí)踐所采用。1553B總線仿真卡可以實(shí)現(xiàn)對(duì)總線BC,RT,BM終端的模擬,通過硬件廠家提供的SDK庫(kù)即可實(shí)現(xiàn)1553B總線仿真模擬。雖然1553B仿真卡通常會(huì)自帶有總線測(cè)試軟件,但是這些軟件是面向總線消息,而難以模擬完整的總線協(xié)議也不利于被用戶直觀掌握被測(cè)系統(tǒng)的狀態(tài),測(cè)試效率低下。
現(xiàn)有的基于仿真卡的1553B總線測(cè)試軟件在應(yīng)用上存在一定的局限:文獻(xiàn)[2?3]提出的1553B總線測(cè)試軟件雖然對(duì)1553B總線消息進(jìn)行了仿真,但其主要側(cè)重RT終端接口正確性的測(cè)試或?qū)δ骋惶囟▍f(xié)議符合性的測(cè)試,不具備通用性和可擴(kuò)展性。文獻(xiàn)[1]雖然具有通用性設(shè)計(jì),但軟件功能單一,僅能夠?qū)崿F(xiàn)對(duì)總線消息進(jìn)行單一解析,測(cè)試結(jié)果晦澀難懂,不具備人機(jī)交互性,測(cè)試效率較低,因而不能滿足復(fù)雜總線協(xié)議測(cè)試要求。
在實(shí)際應(yīng)用中,對(duì)于不同型號(hào)項(xiàng)目而言,其總線系統(tǒng)拓?fù)浣Y(jié)構(gòu)和采用的1553B總線協(xié)議不可能完全一致,同一型號(hào)航天器的不同終端設(shè)備在1553B總線上傳輸數(shù)據(jù)的處理格式、內(nèi)容及物理意義不同,而現(xiàn)有軟件針對(duì)總線系統(tǒng)和通信協(xié)議多樣性的適應(yīng)性和通用性均相對(duì)較差,難以直接移植,尤其在待測(cè)系統(tǒng)拓?fù)浣Y(jié)構(gòu)或者總線協(xié)議類型的變化時(shí)幾乎需要對(duì)整個(gè)軟件進(jìn)行重新設(shè)計(jì)。因此,面對(duì)越來越多的型號(hào)研制任務(wù),構(gòu)建一種快速可重構(gòu)的1553B總線測(cè)試仿真系統(tǒng),提供總線測(cè)試系統(tǒng)的構(gòu)建效率對(duì)于提高型號(hào)研制效率,縮短研制進(jìn)程,降低研制成本等各方面則顯得尤為必要,具有及其重要的意義。
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于仿真卡的快速可重構(gòu)1553B總線測(cè)試軟件,通過配置可重構(gòu)和代碼可重構(gòu)兩方面手段,實(shí)現(xiàn)即能夠應(yīng)對(duì)總線系統(tǒng)拓?fù)浣Y(jié)構(gòu)的變化,又能應(yīng)對(duì)總線協(xié)議類型的變化。首先提出了基于仿真卡1553B總線快速可重構(gòu)測(cè)試軟件的設(shè)計(jì)方案,分別對(duì)軟件架構(gòu)、通信層設(shè)計(jì)、應(yīng)用層設(shè)計(jì)和接口設(shè)計(jì)進(jìn)行說明,其次在此基礎(chǔ)上對(duì)軟件的快速可重構(gòu)特性設(shè)計(jì)從配置可重構(gòu)和代碼可重構(gòu)兩方面進(jìn)行了詳細(xì)介紹;最后結(jié)合型號(hào)實(shí)際應(yīng)用,給出基于該方法實(shí)現(xiàn)的軟件實(shí)例及其代碼評(píng)估。
1 1553B總線測(cè)試軟件設(shè)計(jì)
快速可重構(gòu)的1553B總線測(cè)試軟件是基于1553B總線仿真卡開發(fā),實(shí)現(xiàn)對(duì)航天器總線通信協(xié)議的仿真模擬。軟件通過采用層次化設(shè)計(jì)架構(gòu)將總線的底層總線消息通信和應(yīng)用層總線通信協(xié)議仿真相分離,從而實(shí)現(xiàn)底層測(cè)試系統(tǒng)不依賴于1553B總線消息和RT終端參數(shù)的具體協(xié)議定義,保證了應(yīng)用層面向總線通信協(xié)議的快速可重構(gòu)的特性。
1.1 軟件架構(gòu)
快速可重構(gòu)的1553B總線測(cè)試軟件總體上劃分為應(yīng)用層和通信層2部分。應(yīng)用層負(fù)責(zé)和用戶進(jìn)行界面顯示與交互;通信層負(fù)責(zé)通過1553B仿真卡與各終端設(shè)備之間進(jìn)行總線數(shù)據(jù)通信。為實(shí)現(xiàn)軟件的快速可重構(gòu)特性,軟件盡可能降低用戶層和通信層之間的耦合度,即用戶層和通信層在設(shè)計(jì)時(shí)通過獨(dú)立的代碼實(shí)現(xiàn),其之間的信息交換通過特定接口開展,軟件主要?jiǎng)澐譃?個(gè)部分:
(1) 應(yīng)用層:實(shí)行與用戶直接的對(duì)話,包括界面顯示與交互、用戶對(duì)仿真卡的啟動(dòng)和停止的控制、被測(cè)系統(tǒng)面向用戶的數(shù)據(jù)解析處理等功能;
(2) 通信層:主要完成對(duì)1553B仿真卡的控制、總線消息數(shù)據(jù)的發(fā)送和接收、周期性消息的更新與發(fā)送或接收;
(3) 數(shù)據(jù)接口:主要完成應(yīng)用層和通信層之間的數(shù)據(jù)和控制信息的交換,并完成數(shù)據(jù)區(qū)的管理和維護(hù)。
軟件的整體系統(tǒng)架構(gòu)如圖1所示。
圖1 快速可重構(gòu)1553B總線測(cè)試軟件系統(tǒng)架構(gòu)
通過層次化的軟件架構(gòu)設(shè)計(jì),便于將1553總線通信協(xié)議中的子地址協(xié)議轉(zhuǎn)換為通信層的服務(wù)項(xiàng),從而被應(yīng)用層各RT對(duì)象所復(fù)用,大大減少應(yīng)用層RT對(duì)象實(shí)例化的軟件代碼量,提高了應(yīng)用層程序快速重構(gòu)的效率。
1.2 通信層設(shè)計(jì)
通信層作為底層實(shí)現(xiàn)被劃分為各種向應(yīng)用層提供的數(shù)據(jù)服務(wù)。通信層軟件代碼通過調(diào)用1553B板卡提供的SDK驅(qū)動(dòng)程序,實(shí)現(xiàn)與1553B總線仿真卡的通信和控制;驅(qū)動(dòng)總線仿真卡實(shí)現(xiàn)與總線終端的物理通信。通信層程序?qū)⑿枰ㄟ^總線發(fā)送的數(shù)據(jù)進(jìn)行分解并通過驅(qū)動(dòng)程序轉(zhuǎn)換為遵循MIL?STD?1553B總線標(biāo)準(zhǔn)的消息字進(jìn)行發(fā)送,同時(shí)也接收來自總線其他終端發(fā)送的消息字,對(duì)消息字中的數(shù)據(jù)進(jìn)行整合,從而供應(yīng)用層使用。
通信層將總線消息劃分為2類:周期性消息和非周期性消息。其中周期性消息不需要用戶通過應(yīng)用層進(jìn)行干預(yù);而非周期性消息完全根據(jù)應(yīng)用層的用戶指令進(jìn)行控制。由于二者之間沒有直接的數(shù)據(jù)通信,因此分別采用獨(dú)立的線程實(shí)現(xiàn),以提高程序的運(yùn)行效率。為避免2個(gè)線程同時(shí)占用硬件板卡而導(dǎo)致數(shù)據(jù)就丟失,線程間采取互斥鎖的方式實(shí)現(xiàn)線程同步并控制最小的總線消息間隔。
這樣的通信層設(shè)計(jì),能夠?qū)⒌讓訉?shí)現(xiàn)劃分為各種數(shù)據(jù)服務(wù)類型,而被應(yīng)用層所調(diào)用。通信層所處理的內(nèi)容僅需限制在數(shù)據(jù)本身,而不需要考慮數(shù)據(jù)的對(duì)于用戶而言的物理意義,因此可以很方便的根據(jù)不同的總線通信協(xié)議需求擴(kuò)展服務(wù)類型,從而為面向用戶的應(yīng)用層快速可重構(gòu)提供了基礎(chǔ)。
1.3 應(yīng)用層設(shè)計(jì)
應(yīng)用層實(shí)現(xiàn)與用戶之間的交互,其核心作用在于將不易被用戶識(shí)別的底層數(shù)據(jù)轉(zhuǎn)換為用戶可以方便識(shí)別的應(yīng)用信息。應(yīng)用層首先構(gòu)建與用戶之間的軟件界面,實(shí)現(xiàn)與用戶的信息傳遞,并在界面基礎(chǔ)上開展總線終端的管理。
應(yīng)用層對(duì)于各RT終端通信的管理采用類的形式進(jìn)行分裝,從而能夠通過類的接口特性實(shí)現(xiàn)外部控制,并利用類的可重用性和繼承性實(shí)現(xiàn)代碼的快速可重構(gòu)性。與通信層類似,應(yīng)用層RT終端類也能夠根據(jù)不同子地址劃分為不同的服務(wù)項(xiàng)。但與通信層不同,應(yīng)用層需要面對(duì)不同RT終端應(yīng)用項(xiàng)目進(jìn)行重構(gòu),如設(shè)備遙測(cè)的信息,其在數(shù)量,物理含義上對(duì)于不同終端而言都可能相去甚遠(yuǎn)。因此,如果僅簡(jiǎn)單的采用類的繼承方式實(shí)現(xiàn)重構(gòu),不同的RT終端類僅能單純地繼承父類的接口函數(shù),而主要的編程工作需要集中于接口函數(shù)的重構(gòu),這種繼承方式仍然需要較大的代碼量,難以實(shí)現(xiàn)測(cè)試軟件的快速可重構(gòu)性。
為解決1553B總線測(cè)試軟件應(yīng)用層設(shè)計(jì)的快速可重構(gòu)問題,軟件對(duì)于總線終端相關(guān)的各類服務(wù)項(xiàng)采用代理程序(或代理子類)的方式實(shí)現(xiàn),每種服務(wù)項(xiàng)對(duì)應(yīng)一項(xiàng)代理程序,通過代理程序讀取對(duì)應(yīng)總線終端的應(yīng)用層協(xié)議描述文件完成應(yīng)用層到通信層之間接口數(shù)據(jù)的解析處理,如圖1中的應(yīng)用層構(gòu)造所示。每項(xiàng)代理程序與總線協(xié)議中的一種消息類型(總線子地址)對(duì)應(yīng),每種代理程序能夠被所需要的總線終端類直接復(fù)用,只需在程序外部通過配置不同的描述文件就能夠?qū)崿F(xiàn)不同終端各自所需的應(yīng)用層協(xié)議,從而大大減少了類重構(gòu)所需要編寫的代碼量,既能簡(jiǎn)化軟件本身的設(shè)計(jì),又能夠在不改變軟件代碼的情況下實(shí)現(xiàn)總線終端的協(xié)議重配置,從而保證了整個(gè)測(cè)試系統(tǒng)的快速可重構(gòu)性。與通信層相同,應(yīng)用層也通過獨(dú)立的線程實(shí)現(xiàn)。
1.4 數(shù)據(jù)接口設(shè)計(jì)
數(shù)據(jù)接口用于實(shí)現(xiàn)應(yīng)用層與通信層之間的數(shù)據(jù)交換,為達(dá)到快速可重構(gòu)的目的,要求數(shù)據(jù)接口具備可擴(kuò)展性。本軟件專門設(shè)計(jì)一個(gè)接口類用于數(shù)據(jù)交換,對(duì)終端及其各子地址需要的總線數(shù)據(jù)進(jìn)行內(nèi)存的管理,并提供寫入與讀取函數(shù)的接口。由于應(yīng)用層與通信層采用多線程的設(shè)計(jì),接口類中設(shè)計(jì)了互斥量來表征不同線程對(duì)終端收發(fā)總線數(shù)據(jù)的訪問權(quán)限,實(shí)現(xiàn)不同線程之間數(shù)據(jù)正常傳遞并且避免不同線程中程序?qū)ν粩?shù)據(jù)資源的同時(shí)訪問。
2 快速可重構(gòu)設(shè)計(jì)
本文給出的軟件針對(duì)配置和代碼2個(gè)方面開展了快速可重構(gòu)設(shè)計(jì)。一方面在層次式的軟件架構(gòu)基礎(chǔ)上實(shí)現(xiàn)代碼的快速可重構(gòu);另一方面通過配置文件實(shí)現(xiàn)應(yīng)用層的用戶信息與底層數(shù)據(jù)的相互轉(zhuǎn)換格式和通信層的總線消息數(shù)據(jù)格式的快速可重構(gòu)。配置文件的快速可重構(gòu)可以在總線終端拓?fù)洳蛔兊那疤嵯?,便于用戶變更總線數(shù)據(jù)的格式和內(nèi)容。代碼的快速可重構(gòu)可以在總線終端拓?fù)浠騾f(xié)議發(fā)生變化時(shí),增添新的終端實(shí)例和服務(wù)程序。下面給出了配置可重構(gòu)和代碼可重構(gòu)的具體實(shí)現(xiàn)。
2.1 代碼可重構(gòu)
代碼可重構(gòu)主要應(yīng)對(duì)被測(cè)總線系統(tǒng)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化,其分為2類:
(1) 總線終端數(shù)量可重構(gòu);
(2) 總線協(xié)議數(shù)據(jù)類型可擴(kuò)展。
首先,當(dāng)被測(cè)系統(tǒng)的總線終端數(shù)量發(fā)生變化時(shí),由于應(yīng)用層和通信層之間相互獨(dú)立,在軟件應(yīng)用層代碼中可以通過繼承當(dāng)前已有的總線終端類并加載相關(guān)的代理程序即可增加新的總線終端,同時(shí)在數(shù)據(jù)接口上派生新的數(shù)據(jù)接口類并創(chuàng)建實(shí)例對(duì)象即可實(shí)現(xiàn)應(yīng)用層新增終端使用通信層提供的底層服務(wù)。其次,在前文的軟件架構(gòu)中,每種總線協(xié)議的數(shù)據(jù)類型(即子地址)作為通信層中的一種服務(wù)類型進(jìn)行管理,當(dāng)總線協(xié)議的數(shù)據(jù)類型發(fā)生變化時(shí),首先對(duì)通信層中的服務(wù)程序進(jìn)行變更或增加,并在數(shù)據(jù)接口上派生新的數(shù)據(jù)接口類增加相應(yīng)的數(shù)據(jù)管理功能,而應(yīng)用層程序只需增加對(duì)數(shù)據(jù)接口中管理新數(shù)據(jù)的服務(wù)代理程序并加載至相關(guān)的總線終端類即可完成對(duì)新協(xié)議數(shù)據(jù)的操作。代碼可重構(gòu)的模型示意圖如圖2所示,其中RT?3繼承于RT?1或RT?2的終端類及其代理程序,同時(shí)對(duì)于RT?3需要支持的新的總線協(xié)議向,在各層創(chuàng)建新的服務(wù)代理程序即可實(shí)現(xiàn)。這種軟件設(shè)計(jì)能夠充分的復(fù)用代理程序,極大的減少應(yīng)用層總線終端類的重構(gòu)代碼量。
圖2 代碼可重構(gòu)的模型示意圖
2.2 配置可重構(gòu)
配置可重構(gòu)能夠?qū)崿F(xiàn)待測(cè)總線系統(tǒng)拓?fù)浣Y(jié)構(gòu)未變化而總線協(xié)議數(shù)據(jù)類型發(fā)生變化時(shí)的快速可重構(gòu)。配置可重構(gòu)只需要改變軟件外部的配置文件而不需要更改軟件代碼,具有快速靈活的特定。配置文件被設(shè)計(jì)為2種類型:
(1) 通信層總線消息配置文件和;
(2) 應(yīng)用層參數(shù)配置文件。
總線消息配置文件以總線消息為基本單位對(duì)航天器1553B總線消息協(xié)議進(jìn)行描述,軟件啟動(dòng)初始化時(shí)對(duì)總線消息描述文件進(jìn)行解析,軟件運(yùn)行時(shí),按照總線消息執(zhí)行列表進(jìn)行總線消息的發(fā)送或接收。通信層總線消息描述文件內(nèi)容以消息序號(hào)為行,以消息屬性為列,其中消息屬性包含消息名稱、消息內(nèi)容、RT地址、子地址、通信方式、消息數(shù) 、數(shù)據(jù)字計(jì)數(shù)、是否循環(huán)緩沖、消息周期、優(yōu)先級(jí)、消息間隔,文件內(nèi)容格式如圖3所示。
圖3 通信層總線消息描述文件格式
應(yīng)用層參數(shù)配置文件以用戶接收終端或向終端發(fā)送的數(shù)據(jù)參數(shù)配置文件為例,針對(duì)不同終端設(shè)備,軟件配置不同的參數(shù)描述文件。在軟件啟動(dòng)時(shí),各終端對(duì)象的代理程序?qū)?shù)配置文件進(jìn)行解析,軟件運(yùn)行時(shí),終端實(shí)例將通信層接收到的總線消息送給代理程序根據(jù)配置文件進(jìn)行解析,再將解析后的參數(shù)值等信息顯示到指定界面。應(yīng)用層參數(shù)文件以單個(gè)參數(shù)為行,以參數(shù)屬性為列,其中參數(shù)屬性包含參數(shù)代號(hào)、參數(shù)名稱、位置類型、起始字節(jié)、起始比特、比特長(zhǎng)度、數(shù)據(jù)類型、是否解析、解析公式、公式系數(shù)、正常范圍等,文件內(nèi)容格式如圖4所示。
圖4 應(yīng)用層參數(shù)配置文件格式
對(duì)于用戶在軟件界面上輸入的向終端發(fā)送的注入數(shù)據(jù)或指令等信息,軟件終端將數(shù)據(jù)發(fā)送至代理程序,通過代理程序?qū)⒂脩粜畔⑥D(zhuǎn)換為總線指令碼數(shù)據(jù),再通過數(shù)據(jù)接口轉(zhuǎn)發(fā)給通信層發(fā)送至終端設(shè)備。以總線指令參數(shù)配置文件為例,其中包含指令代號(hào)指令名稱和指令碼等參數(shù),文件內(nèi)容格式如圖5所示。
圖5 注入數(shù)據(jù)或指令配置文件格式
2.3 軟件信息流
軟件中的終端對(duì)象、代理程序和配置文件各模塊之間的信息流向如圖6所示。
圖6 軟件信息流向圖
對(duì)于軟件向總線上發(fā)出的消息,用戶通過軟件界面提出發(fā)送請(qǐng)求(如點(diǎn)擊某總線指令發(fā)送按鈕),軟件RT終端收到用戶的發(fā)送請(qǐng)求后將界面的發(fā)送消息信息(如指令代號(hào))提交代理程序,代理程序根據(jù)預(yù)先讀入的指令配置文件將該指令轉(zhuǎn)換為指令代碼,并通過數(shù)據(jù)接口傳送給通信層程序,通信層程序再根據(jù)指令代碼轉(zhuǎn)換為總線消息發(fā)送至總線硬件系統(tǒng)。對(duì)于從總線上接收的消息,通信層程序先將總線消息轉(zhuǎn)換為數(shù)據(jù)源碼并通過數(shù)據(jù)接口傳輸給RT終端,RT終端將數(shù)據(jù)源碼提交代理程序,通過代理程序?qū)?shù)據(jù)源碼進(jìn)行解析處理后形成應(yīng)用層數(shù)據(jù)反饋給RT終端,最后由RT終端將應(yīng)用層數(shù)據(jù)送給軟件界面向用戶顯示。
3 應(yīng)用實(shí)例
基于本文軟件設(shè)計(jì)方法實(shí)現(xiàn)的基于總線仿真卡的1553B總線測(cè)試軟件,已成功應(yīng)用于某航天器總線通信子系統(tǒng)的通信協(xié)議測(cè)試驗(yàn)證。例如應(yīng)用于某分系統(tǒng)的8臺(tái)總線RT終端的測(cè)試系統(tǒng),硬件平臺(tái)的1553B總線仿真卡采用美國(guó)GE Condor公司的型號(hào)為QCP?1553?2M的標(biāo)準(zhǔn)1553B仿真測(cè)試卡,軟件界面集成了8個(gè)終端設(shè)備仿真通信控制界面,通過配置1個(gè)通信層總線消息描述文件、8個(gè)應(yīng)用層終端參數(shù)配置文件、8個(gè)指令配置文件和4個(gè)注入數(shù)據(jù)配置文件實(shí)現(xiàn)與各終端設(shè)備的不同總線數(shù)據(jù)格式的關(guān)聯(lián)。軟件設(shè)計(jì)的總線數(shù)據(jù)類型包括注入數(shù)據(jù)、總線指令、總線遙測(cè)參數(shù)、廣播消息等。圖7給出了軟件模擬的BC終端與被測(cè)RT終端設(shè)備1進(jìn)行總線通信的顯示與交互界面。
圖7 軟件對(duì)被測(cè)終端1進(jìn)行測(cè)試的界面示例
該軟件總代碼行數(shù)為14 573行,其中通信層代碼為9 711行,約占總代碼量的66%,應(yīng)用層代碼為2 822行,占19%,其中應(yīng)用層的代理程序代碼為1 766行,占應(yīng)用層代碼的62%,而8個(gè)RT終端協(xié)議管理對(duì)象代碼共計(jì)1 056行,平均每個(gè)RT終端的代碼行數(shù)為132行,占總代碼量的0.7%,即單個(gè)終端的代碼量能夠達(dá)到小于軟件總代碼量1‰。從實(shí)際應(yīng)用可以看出,應(yīng)用本文設(shè)計(jì)方法實(shí)現(xiàn)的軟件,如果被測(cè)試系統(tǒng)不增加總線RT終端的數(shù)量只改變總線協(xié)議,則不需要對(duì)軟代碼進(jìn)行更改,只需要重新配置相關(guān)的參數(shù)文件,如果被測(cè)系統(tǒng)新增RT終端,其代碼的重構(gòu)量也平均在1‰左右,且不會(huì)隨RT終端的協(xié)議數(shù)據(jù)量的增加而增大,在快速可重構(gòu)方面具有明顯的優(yōu)越性。
4 結(jié) 語(yǔ)
作為型號(hào)研制的重要環(huán)節(jié),1553B總線通信系統(tǒng)的測(cè)試已經(jīng)成為必不可少的環(huán)節(jié),本文針對(duì)當(dāng)前基于1553B總線仿真卡的測(cè)試軟件靈活性和兼容性不足的問題,提出了的一種快速可重構(gòu)的1553B總線測(cè)試軟件設(shè)計(jì)。首先,軟件采用通信層和應(yīng)用層的分離的架構(gòu),使得總線通信協(xié)議的實(shí)現(xiàn)不依賴底層總線仿真卡通信的特性,極大地增加了軟件的靈活性。其次,軟件將通信層和應(yīng)用層的服務(wù)項(xiàng)與總線通信協(xié)議的子地址關(guān)聯(lián),通過服務(wù)代理的方式實(shí)現(xiàn)測(cè)試系統(tǒng)應(yīng)用協(xié)議的現(xiàn)場(chǎng)可重構(gòu)能力。最后,應(yīng)用層總線終端的協(xié)議管理通過總線終端類的繼承結(jié)合服務(wù)代理應(yīng)用的方式實(shí)現(xiàn),極大的減少了派生類所需要重構(gòu)的軟件代碼,從而能夠快速應(yīng)對(duì)總線系統(tǒng)拓?fù)浣Y(jié)構(gòu)上的變化。文本給出的應(yīng)用實(shí)例表明,基于該方法實(shí)現(xiàn)的1553B總線測(cè)試軟件其總線協(xié)議管理程序的代碼量?jī)H為整個(gè)程序的1‰,具備極強(qiáng)的快速可重構(gòu)能力,目前已成功應(yīng)用于多型號(hào)航天器1553B總線子系統(tǒng)的測(cè)試,極大地提高了構(gòu)建測(cè)試系統(tǒng)的效率,取得了良好的效果。
參考文獻(xiàn)
[1] 李筱雅,尚麗娜,張芹芹.1553B總線測(cè)試仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(10):54?60.
[2] 梁林燦.1553B總線測(cè)試系統(tǒng)中上位機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:中山大學(xué),2007.
[3] 郭堅(jiān),張紅軍,付連芳.面向星載應(yīng)用的1553B總線仿真卡二次開發(fā)軟件[J].航天器工程,2012,21(4):78?82.
[4] 趙爽,劉占渠,苗克堅(jiān).通用1553B總線消息解析軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2010,33(1):78?81.
[5] 史國(guó)慶,高曉光,吳勇,等.1553B總線監(jiān)測(cè)儀系統(tǒng)軟件設(shè)計(jì)[J].火力與指揮控制,2009,34(6):141?143.
[6] 劉桂山,胡軍程.1553B總線信息流設(shè)計(jì)[J].北京理工大學(xué)學(xué)報(bào),2003(3):301?304.