国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種快速可重構的1553B總線測試軟件設計

2015-07-22 22:17:38朱珂劉彥偉丁凱劉偉升
現(xiàn)代電子技術 2015年14期
關鍵詞:測試軟件應用層配置文件

朱珂+劉彥偉+丁凱+劉偉升

摘 要: 為了提高1553B總線測試系統(tǒng)應對被測系統(tǒng)在拓撲結構或通信協(xié)議變化時的快速可重構性,提出一種基于通用1553B總線仿真卡的快速可重構的1553B總線測試軟件設計方法。分析當前1553B總線測試系統(tǒng)可重構性不足的缺點,詳細介紹快速可重構1553B總線測試軟件的設計架構和實現(xiàn)方法。這里提出的軟件設計方法通過總線服務劃分和代理托管的方式使軟件的代碼實現(xiàn)不依賴于總線協(xié)議的具體格式,并且極大地減少了軟件編程的代碼量,從而在代碼可重構和配置可重構兩方面實現(xiàn)軟件的快速可重構。該軟件設計具有可靠性強、編程效率高、重構速度快,現(xiàn)場可重配置等特點,其應用實例軟件的代碼重構率小于1‰,并已經(jīng)在多個航天器的1553B總線子系統(tǒng)測試中取得了良好的效果。

關鍵詞: 快速可重構性; 1553B總線; 測試軟件; 軟件設計

中圖分類號: TN912.202?34 文獻標識碼: A 文章編號: 1004?373X(2015)14?0059?05

0 引 言

1553B總線,全稱為MIL?STD?1553B總線,是一種集中控制式的數(shù)字時分命令/響應型多路串行數(shù)據(jù)總線標準,具有互連簡單、高可靠、靈活性強和速率較高等優(yōu)點。近年來,隨著航天技術的進步,1553B總線在航空航天等軍工電子信息系統(tǒng)中已經(jīng)得到了越來越廣泛的應用[1?3]。

1553B總線系統(tǒng)采用集中控制、分布式處理的雙冗余度總線系統(tǒng)結構,連接在1553B總線上的設備稱為終端,分為總線控制器(BC)、遠程終端(RT)和總線監(jiān)視器(BM)3類。其中BM實現(xiàn)對總線上傳輸數(shù)據(jù)的采集監(jiān)視,BC掌握總線系統(tǒng)的所有控制權,總線上的一切活動都由BC端發(fā)起和控制,BC與RT之間、RT與RT之間的相互通信遵循規(guī)定的1553B總線協(xié)議。通常在1553總線通信系統(tǒng)研制過程中,對BC和各RT終端之間規(guī)定的總線通信協(xié)議實現(xiàn)正確性的測試是必不可少也是至關重要的環(huán)節(jié)。總線測試也即對各RT設備的1553B總線接口的匹配性、總線通信功能的正確性乃至特定總線協(xié)議符合性的綜合評價。

目前快速構建1553B總線測試系統(tǒng)的方法即是采用基于總線仿真卡的1553B進行應用軟件開發(fā),這樣的測試系統(tǒng)具備既簡單快捷又靈活方便的優(yōu)點,也正被越來越多的工程實踐所采用。1553B總線仿真卡可以實現(xiàn)對總線BC,RT,BM終端的模擬,通過硬件廠家提供的SDK庫即可實現(xiàn)1553B總線仿真模擬。雖然1553B仿真卡通常會自帶有總線測試軟件,但是這些軟件是面向總線消息,而難以模擬完整的總線協(xié)議也不利于被用戶直觀掌握被測系統(tǒng)的狀態(tài),測試效率低下。

現(xiàn)有的基于仿真卡的1553B總線測試軟件在應用上存在一定的局限:文獻[2?3]提出的1553B總線測試軟件雖然對1553B總線消息進行了仿真,但其主要側重RT終端接口正確性的測試或對某一特定協(xié)議符合性的測試,不具備通用性和可擴展性。文獻[1]雖然具有通用性設計,但軟件功能單一,僅能夠實現(xiàn)對總線消息進行單一解析,測試結果晦澀難懂,不具備人機交互性,測試效率較低,因而不能滿足復雜總線協(xié)議測試要求。

在實際應用中,對于不同型號項目而言,其總線系統(tǒng)拓撲結構和采用的1553B總線協(xié)議不可能完全一致,同一型號航天器的不同終端設備在1553B總線上傳輸數(shù)據(jù)的處理格式、內(nèi)容及物理意義不同,而現(xiàn)有軟件針對總線系統(tǒng)和通信協(xié)議多樣性的適應性和通用性均相對較差,難以直接移植,尤其在待測系統(tǒng)拓撲結構或者總線協(xié)議類型的變化時幾乎需要對整個軟件進行重新設計。因此,面對越來越多的型號研制任務,構建一種快速可重構的1553B總線測試仿真系統(tǒng),提供總線測試系統(tǒng)的構建效率對于提高型號研制效率,縮短研制進程,降低研制成本等各方面則顯得尤為必要,具有及其重要的意義。

本文設計并實現(xiàn)了一種基于仿真卡的快速可重構1553B總線測試軟件,通過配置可重構和代碼可重構兩方面手段,實現(xiàn)即能夠應對總線系統(tǒng)拓撲結構的變化,又能應對總線協(xié)議類型的變化。首先提出了基于仿真卡1553B總線快速可重構測試軟件的設計方案,分別對軟件架構、通信層設計、應用層設計和接口設計進行說明,其次在此基礎上對軟件的快速可重構特性設計從配置可重構和代碼可重構兩方面進行了詳細介紹;最后結合型號實際應用,給出基于該方法實現(xiàn)的軟件實例及其代碼評估。

1 1553B總線測試軟件設計

快速可重構的1553B總線測試軟件是基于1553B總線仿真卡開發(fā),實現(xiàn)對航天器總線通信協(xié)議的仿真模擬。軟件通過采用層次化設計架構將總線的底層總線消息通信和應用層總線通信協(xié)議仿真相分離,從而實現(xiàn)底層測試系統(tǒng)不依賴于1553B總線消息和RT終端參數(shù)的具體協(xié)議定義,保證了應用層面向總線通信協(xié)議的快速可重構的特性。

1.1 軟件架構

快速可重構的1553B總線測試軟件總體上劃分為應用層和通信層2部分。應用層負責和用戶進行界面顯示與交互;通信層負責通過1553B仿真卡與各終端設備之間進行總線數(shù)據(jù)通信。為實現(xiàn)軟件的快速可重構特性,軟件盡可能降低用戶層和通信層之間的耦合度,即用戶層和通信層在設計時通過獨立的代碼實現(xiàn),其之間的信息交換通過特定接口開展,軟件主要劃分為3個部分:

(1) 應用層:實行與用戶直接的對話,包括界面顯示與交互、用戶對仿真卡的啟動和停止的控制、被測系統(tǒng)面向用戶的數(shù)據(jù)解析處理等功能;

(2) 通信層:主要完成對1553B仿真卡的控制、總線消息數(shù)據(jù)的發(fā)送和接收、周期性消息的更新與發(fā)送或接收;

(3) 數(shù)據(jù)接口:主要完成應用層和通信層之間的數(shù)據(jù)和控制信息的交換,并完成數(shù)據(jù)區(qū)的管理和維護。

軟件的整體系統(tǒng)架構如圖1所示。

圖1 快速可重構1553B總線測試軟件系統(tǒng)架構

通過層次化的軟件架構設計,便于將1553總線通信協(xié)議中的子地址協(xié)議轉換為通信層的服務項,從而被應用層各RT對象所復用,大大減少應用層RT對象實例化的軟件代碼量,提高了應用層程序快速重構的效率。

1.2 通信層設計

通信層作為底層實現(xiàn)被劃分為各種向應用層提供的數(shù)據(jù)服務。通信層軟件代碼通過調(diào)用1553B板卡提供的SDK驅動程序,實現(xiàn)與1553B總線仿真卡的通信和控制;驅動總線仿真卡實現(xiàn)與總線終端的物理通信。通信層程序將需要通過總線發(fā)送的數(shù)據(jù)進行分解并通過驅動程序轉換為遵循MIL?STD?1553B總線標準的消息字進行發(fā)送,同時也接收來自總線其他終端發(fā)送的消息字,對消息字中的數(shù)據(jù)進行整合,從而供應用層使用。

通信層將總線消息劃分為2類:周期性消息和非周期性消息。其中周期性消息不需要用戶通過應用層進行干預;而非周期性消息完全根據(jù)應用層的用戶指令進行控制。由于二者之間沒有直接的數(shù)據(jù)通信,因此分別采用獨立的線程實現(xiàn),以提高程序的運行效率。為避免2個線程同時占用硬件板卡而導致數(shù)據(jù)就丟失,線程間采取互斥鎖的方式實現(xiàn)線程同步并控制最小的總線消息間隔。

這樣的通信層設計,能夠將底層實現(xiàn)劃分為各種數(shù)據(jù)服務類型,而被應用層所調(diào)用。通信層所處理的內(nèi)容僅需限制在數(shù)據(jù)本身,而不需要考慮數(shù)據(jù)的對于用戶而言的物理意義,因此可以很方便的根據(jù)不同的總線通信協(xié)議需求擴展服務類型,從而為面向用戶的應用層快速可重構提供了基礎。

1.3 應用層設計

應用層實現(xiàn)與用戶之間的交互,其核心作用在于將不易被用戶識別的底層數(shù)據(jù)轉換為用戶可以方便識別的應用信息。應用層首先構建與用戶之間的軟件界面,實現(xiàn)與用戶的信息傳遞,并在界面基礎上開展總線終端的管理。

應用層對于各RT終端通信的管理采用類的形式進行分裝,從而能夠通過類的接口特性實現(xiàn)外部控制,并利用類的可重用性和繼承性實現(xiàn)代碼的快速可重構性。與通信層類似,應用層RT終端類也能夠根據(jù)不同子地址劃分為不同的服務項。但與通信層不同,應用層需要面對不同RT終端應用項目進行重構,如設備遙測的信息,其在數(shù)量,物理含義上對于不同終端而言都可能相去甚遠。因此,如果僅簡單的采用類的繼承方式實現(xiàn)重構,不同的RT終端類僅能單純地繼承父類的接口函數(shù),而主要的編程工作需要集中于接口函數(shù)的重構,這種繼承方式仍然需要較大的代碼量,難以實現(xiàn)測試軟件的快速可重構性。

為解決1553B總線測試軟件應用層設計的快速可重構問題,軟件對于總線終端相關的各類服務項采用代理程序(或代理子類)的方式實現(xiàn),每種服務項對應一項代理程序,通過代理程序讀取對應總線終端的應用層協(xié)議描述文件完成應用層到通信層之間接口數(shù)據(jù)的解析處理,如圖1中的應用層構造所示。每項代理程序與總線協(xié)議中的一種消息類型(總線子地址)對應,每種代理程序能夠被所需要的總線終端類直接復用,只需在程序外部通過配置不同的描述文件就能夠實現(xiàn)不同終端各自所需的應用層協(xié)議,從而大大減少了類重構所需要編寫的代碼量,既能簡化軟件本身的設計,又能夠在不改變軟件代碼的情況下實現(xiàn)總線終端的協(xié)議重配置,從而保證了整個測試系統(tǒng)的快速可重構性。與通信層相同,應用層也通過獨立的線程實現(xiàn)。

1.4 數(shù)據(jù)接口設計

數(shù)據(jù)接口用于實現(xiàn)應用層與通信層之間的數(shù)據(jù)交換,為達到快速可重構的目的,要求數(shù)據(jù)接口具備可擴展性。本軟件專門設計一個接口類用于數(shù)據(jù)交換,對終端及其各子地址需要的總線數(shù)據(jù)進行內(nèi)存的管理,并提供寫入與讀取函數(shù)的接口。由于應用層與通信層采用多線程的設計,接口類中設計了互斥量來表征不同線程對終端收發(fā)總線數(shù)據(jù)的訪問權限,實現(xiàn)不同線程之間數(shù)據(jù)正常傳遞并且避免不同線程中程序對同一數(shù)據(jù)資源的同時訪問。

2 快速可重構設計

本文給出的軟件針對配置和代碼2個方面開展了快速可重構設計。一方面在層次式的軟件架構基礎上實現(xiàn)代碼的快速可重構;另一方面通過配置文件實現(xiàn)應用層的用戶信息與底層數(shù)據(jù)的相互轉換格式和通信層的總線消息數(shù)據(jù)格式的快速可重構。配置文件的快速可重構可以在總線終端拓撲不變的前提下,便于用戶變更總線數(shù)據(jù)的格式和內(nèi)容。代碼的快速可重構可以在總線終端拓撲或協(xié)議發(fā)生變化時,增添新的終端實例和服務程序。下面給出了配置可重構和代碼可重構的具體實現(xiàn)。

2.1 代碼可重構

代碼可重構主要應對被測總線系統(tǒng)的拓撲結構發(fā)生變化,其分為2類:

(1) 總線終端數(shù)量可重構;

(2) 總線協(xié)議數(shù)據(jù)類型可擴展。

首先,當被測系統(tǒng)的總線終端數(shù)量發(fā)生變化時,由于應用層和通信層之間相互獨立,在軟件應用層代碼中可以通過繼承當前已有的總線終端類并加載相關的代理程序即可增加新的總線終端,同時在數(shù)據(jù)接口上派生新的數(shù)據(jù)接口類并創(chuàng)建實例對象即可實現(xiàn)應用層新增終端使用通信層提供的底層服務。其次,在前文的軟件架構中,每種總線協(xié)議的數(shù)據(jù)類型(即子地址)作為通信層中的一種服務類型進行管理,當總線協(xié)議的數(shù)據(jù)類型發(fā)生變化時,首先對通信層中的服務程序進行變更或增加,并在數(shù)據(jù)接口上派生新的數(shù)據(jù)接口類增加相應的數(shù)據(jù)管理功能,而應用層程序只需增加對數(shù)據(jù)接口中管理新數(shù)據(jù)的服務代理程序并加載至相關的總線終端類即可完成對新協(xié)議數(shù)據(jù)的操作。代碼可重構的模型示意圖如圖2所示,其中RT?3繼承于RT?1或RT?2的終端類及其代理程序,同時對于RT?3需要支持的新的總線協(xié)議向,在各層創(chuàng)建新的服務代理程序即可實現(xiàn)。這種軟件設計能夠充分的復用代理程序,極大的減少應用層總線終端類的重構代碼量。

圖2 代碼可重構的模型示意圖

2.2 配置可重構

配置可重構能夠實現(xiàn)待測總線系統(tǒng)拓撲結構未變化而總線協(xié)議數(shù)據(jù)類型發(fā)生變化時的快速可重構。配置可重構只需要改變軟件外部的配置文件而不需要更改軟件代碼,具有快速靈活的特定。配置文件被設計為2種類型:

(1) 通信層總線消息配置文件和;

(2) 應用層參數(shù)配置文件。

總線消息配置文件以總線消息為基本單位對航天器1553B總線消息協(xié)議進行描述,軟件啟動初始化時對總線消息描述文件進行解析,軟件運行時,按照總線消息執(zhí)行列表進行總線消息的發(fā)送或接收。通信層總線消息描述文件內(nèi)容以消息序號為行,以消息屬性為列,其中消息屬性包含消息名稱、消息內(nèi)容、RT地址、子地址、通信方式、消息數(shù) 、數(shù)據(jù)字計數(shù)、是否循環(huán)緩沖、消息周期、優(yōu)先級、消息間隔,文件內(nèi)容格式如圖3所示。

圖3 通信層總線消息描述文件格式

應用層參數(shù)配置文件以用戶接收終端或向終端發(fā)送的數(shù)據(jù)參數(shù)配置文件為例,針對不同終端設備,軟件配置不同的參數(shù)描述文件。在軟件啟動時,各終端對象的代理程序對參數(shù)配置文件進行解析,軟件運行時,終端實例將通信層接收到的總線消息送給代理程序根據(jù)配置文件進行解析,再將解析后的參數(shù)值等信息顯示到指定界面。應用層參數(shù)文件以單個參數(shù)為行,以參數(shù)屬性為列,其中參數(shù)屬性包含參數(shù)代號、參數(shù)名稱、位置類型、起始字節(jié)、起始比特、比特長度、數(shù)據(jù)類型、是否解析、解析公式、公式系數(shù)、正常范圍等,文件內(nèi)容格式如圖4所示。

圖4 應用層參數(shù)配置文件格式

對于用戶在軟件界面上輸入的向終端發(fā)送的注入數(shù)據(jù)或指令等信息,軟件終端將數(shù)據(jù)發(fā)送至代理程序,通過代理程序將用戶信息轉換為總線指令碼數(shù)據(jù),再通過數(shù)據(jù)接口轉發(fā)給通信層發(fā)送至終端設備。以總線指令參數(shù)配置文件為例,其中包含指令代號指令名稱和指令碼等參數(shù),文件內(nèi)容格式如圖5所示。

圖5 注入數(shù)據(jù)或指令配置文件格式

2.3 軟件信息流

軟件中的終端對象、代理程序和配置文件各模塊之間的信息流向如圖6所示。

圖6 軟件信息流向圖

對于軟件向總線上發(fā)出的消息,用戶通過軟件界面提出發(fā)送請求(如點擊某總線指令發(fā)送按鈕),軟件RT終端收到用戶的發(fā)送請求后將界面的發(fā)送消息信息(如指令代號)提交代理程序,代理程序根據(jù)預先讀入的指令配置文件將該指令轉換為指令代碼,并通過數(shù)據(jù)接口傳送給通信層程序,通信層程序再根據(jù)指令代碼轉換為總線消息發(fā)送至總線硬件系統(tǒng)。對于從總線上接收的消息,通信層程序先將總線消息轉換為數(shù)據(jù)源碼并通過數(shù)據(jù)接口傳輸給RT終端,RT終端將數(shù)據(jù)源碼提交代理程序,通過代理程序對數(shù)據(jù)源碼進行解析處理后形成應用層數(shù)據(jù)反饋給RT終端,最后由RT終端將應用層數(shù)據(jù)送給軟件界面向用戶顯示。

3 應用實例

基于本文軟件設計方法實現(xiàn)的基于總線仿真卡的1553B總線測試軟件,已成功應用于某航天器總線通信子系統(tǒng)的通信協(xié)議測試驗證。例如應用于某分系統(tǒng)的8臺總線RT終端的測試系統(tǒng),硬件平臺的1553B總線仿真卡采用美國GE Condor公司的型號為QCP?1553?2M的標準1553B仿真測試卡,軟件界面集成了8個終端設備仿真通信控制界面,通過配置1個通信層總線消息描述文件、8個應用層終端參數(shù)配置文件、8個指令配置文件和4個注入數(shù)據(jù)配置文件實現(xiàn)與各終端設備的不同總線數(shù)據(jù)格式的關聯(lián)。軟件設計的總線數(shù)據(jù)類型包括注入數(shù)據(jù)、總線指令、總線遙測參數(shù)、廣播消息等。圖7給出了軟件模擬的BC終端與被測RT終端設備1進行總線通信的顯示與交互界面。

圖7 軟件對被測終端1進行測試的界面示例

該軟件總代碼行數(shù)為14 573行,其中通信層代碼為9 711行,約占總代碼量的66%,應用層代碼為2 822行,占19%,其中應用層的代理程序代碼為1 766行,占應用層代碼的62%,而8個RT終端協(xié)議管理對象代碼共計1 056行,平均每個RT終端的代碼行數(shù)為132行,占總代碼量的0.7%,即單個終端的代碼量能夠達到小于軟件總代碼量1‰。從實際應用可以看出,應用本文設計方法實現(xiàn)的軟件,如果被測試系統(tǒng)不增加總線RT終端的數(shù)量只改變總線協(xié)議,則不需要對軟代碼進行更改,只需要重新配置相關的參數(shù)文件,如果被測系統(tǒng)新增RT終端,其代碼的重構量也平均在1‰左右,且不會隨RT終端的協(xié)議數(shù)據(jù)量的增加而增大,在快速可重構方面具有明顯的優(yōu)越性。

4 結 語

作為型號研制的重要環(huán)節(jié),1553B總線通信系統(tǒng)的測試已經(jīng)成為必不可少的環(huán)節(jié),本文針對當前基于1553B總線仿真卡的測試軟件靈活性和兼容性不足的問題,提出了的一種快速可重構的1553B總線測試軟件設計。首先,軟件采用通信層和應用層的分離的架構,使得總線通信協(xié)議的實現(xiàn)不依賴底層總線仿真卡通信的特性,極大地增加了軟件的靈活性。其次,軟件將通信層和應用層的服務項與總線通信協(xié)議的子地址關聯(lián),通過服務代理的方式實現(xiàn)測試系統(tǒng)應用協(xié)議的現(xiàn)場可重構能力。最后,應用層總線終端的協(xié)議管理通過總線終端類的繼承結合服務代理應用的方式實現(xiàn),極大的減少了派生類所需要重構的軟件代碼,從而能夠快速應對總線系統(tǒng)拓撲結構上的變化。文本給出的應用實例表明,基于該方法實現(xiàn)的1553B總線測試軟件其總線協(xié)議管理程序的代碼量僅為整個程序的1‰,具備極強的快速可重構能力,目前已成功應用于多型號航天器1553B總線子系統(tǒng)的測試,極大地提高了構建測試系統(tǒng)的效率,取得了良好的效果。

參考文獻

[1] 李筱雅,尚麗娜,張芹芹.1553B總線測試仿真系統(tǒng)設計與實現(xiàn)[J].現(xiàn)代電子技術,2012,35(10):54?60.

[2] 梁林燦.1553B總線測試系統(tǒng)中上位機軟件的設計與實現(xiàn)[D].廣州:中山大學,2007.

[3] 郭堅,張紅軍,付連芳.面向星載應用的1553B總線仿真卡二次開發(fā)軟件[J].航天器工程,2012,21(4):78?82.

[4] 趙爽,劉占渠,苗克堅.通用1553B總線消息解析軟件的設計與實現(xiàn)[J].電子測量技術,2010,33(1):78?81.

[5] 史國慶,高曉光,吳勇,等.1553B總線監(jiān)測儀系統(tǒng)軟件設計[J].火力與指揮控制,2009,34(6):141?143.

[6] 劉桂山,胡軍程.1553B總線信息流設計[J].北京理工大學學報,2003(3):301?304.

猜你喜歡
測試軟件應用層配置文件
提示用戶配置文件錯誤 這樣解決
網(wǎng)絡自適應測試軟件運行方法設計
搭建簡單的Kubernetes集群
互不干涉混用Chromium Edge
忘記ESXi主機root密碼怎么辦
自動化檢測EPU10A板卡系統(tǒng)設計與實現(xiàn)
基于分級保護的OA系統(tǒng)應用層訪問控制研究
新一代雙向互動電力線通信技術的應用層協(xié)議研究
物聯(lián)網(wǎng)技術在信息機房制冷系統(tǒng)中的應用
遠程開放教育學生自主學習能力評價的研究
青州市| 梁山县| 道真| 灌云县| 朝阳县| 阿拉尔市| 鲁甸县| 云阳县| 云南省| 威海市| 塔城市| 洪江市| 民和| 兴国县| 牟定县| 星座| 安福县| 定安县| 彭山县| 宁强县| 军事| 昌江| 赤水市| 万全县| 元江| 新密市| 涿州市| 贡嘎县| 云霄县| 泽州县| 西峡县| 镇原县| 宾阳县| 革吉县| 乌拉特中旗| 五原县| 田林县| 拉萨市| 瓮安县| 嘉黎县| 五指山市|