魏雪菲 史巖 薛威
摘要:在航空、航天、兵器、艦船等領(lǐng)域,1553B數(shù)據(jù)總線應(yīng)用廣泛,但沒有統(tǒng)一的設(shè)備升級(jí)維護(hù)方法。傳統(tǒng)方式使用專用設(shè)備對(duì)每個(gè)總線設(shè)備進(jìn)行升級(jí)維護(hù),但該方式操作不方便且容易引入操作錯(cuò)誤。本文提出一種1553B總線的數(shù)據(jù)加卸載協(xié)議,規(guī)定一種輕量級(jí)的數(shù)據(jù)加卸載,用于完成1553B總線下的數(shù)據(jù)上傳和下載,實(shí)現(xiàn)配置文件、應(yīng)用軟件的在線加載、更新與數(shù)據(jù)文件的下載。上傳和下載操作以文件為單位進(jìn)行傳輸,傳輸文件以 Block為單位進(jìn)行校驗(yàn)、應(yīng)答和重傳,保證傳輸正確性和傳輸效率。支持一次加卸載多個(gè)數(shù)據(jù)文件,從而增強(qiáng)系統(tǒng)可維護(hù)性,提高系統(tǒng)維護(hù)效率,降低維護(hù)成本。最后,基于仿真卡和嵌入式環(huán)境下的遠(yuǎn)程終端(RT)設(shè)備,采用軟件形式化開發(fā)方法,實(shí)現(xiàn)!553B總線加卸載軟件。
關(guān)鍵詞:1553B;升級(jí)維護(hù);數(shù)據(jù)加卸載;Block
中圖分類號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A
1553B數(shù)據(jù)總線廣泛應(yīng)用于航空、航天、艦船及兵器等多個(gè)領(lǐng)域,涉及機(jī)電系統(tǒng)、飛行控制系統(tǒng)、航電系統(tǒng)和武器系統(tǒng)等多個(gè)系統(tǒng)[1]。1553B總線作為機(jī)載、車載網(wǎng)絡(luò)的二級(jí)總線,承擔(dān)了系統(tǒng)的內(nèi)部互聯(lián)。近年來,隨著海、陸、空一體化作戰(zhàn)的發(fā)展,機(jī)載、車載、艦載系統(tǒng)任務(wù)的數(shù)據(jù)量和復(fù)雜度呈幾何量級(jí)倍增,1553B設(shè)備的數(shù)量也急劇增長(zhǎng),網(wǎng)絡(luò)規(guī)模隨之增大。但1553B總線沒有統(tǒng)一的設(shè)備升級(jí)維護(hù)方法,仍采用傳統(tǒng)的針對(duì)單個(gè)機(jī)載設(shè)備使用專用仿真器設(shè)施進(jìn)行升級(jí)的維護(hù)方式。這種方式需要將機(jī)載、車載、艦載1553B設(shè)備逐個(gè)拆卸,再連接專用外接設(shè)備進(jìn)行維護(hù)升級(jí)。設(shè)備拆卸工作操作不便,增加了工作量和維護(hù)時(shí)間,影響機(jī)載設(shè)備使用壽命,同時(shí)增加人工操作失誤帶來的危險(xiǎn)。
1 系統(tǒng)設(shè)計(jì)
1.1 系統(tǒng)架構(gòu)
根據(jù)1553B總線通信特點(diǎn),系統(tǒng)包含加載器、加載控制器和被加載器三種角色,連接關(guān)系如圖1所示。其中BC為1553B總線控制器,承擔(dān)加載控制器角色;PMAT為具有1553 RT仿真卡的主機(jī),是一種PC機(jī)環(huán)境下的遠(yuǎn)程終端,承擔(dān)加載器角色;RT為1553B遠(yuǎn)程終端,承擔(dān)被加載器角色。若PMAT給BC加卸載文件,則BC既承擔(dān)加載控制器角色,又承擔(dān)被加載器角色[2,3]。
非加載模式下,總線網(wǎng)絡(luò)中包含三種角色:BC為1553B總線控制器,RT為1553B遠(yuǎn)程終端,BBC為備份總線控制器,在BC正常工作時(shí)BBC僅用作普通遠(yuǎn)程終端[4,5];BC在非加載模式下檢測(cè)PMAT是否在線,若檢測(cè)到PMAT在線,則切換至加載模式,終止正常通信,執(zhí)行加卸載功能。
該加卸載協(xié)議實(shí)現(xiàn)PMAT在用戶操作下,向被加載器加卸載配置表、軟件以及其他數(shù)據(jù)文件,實(shí)現(xiàn)配置表、軟件的統(tǒng)一管理和升級(jí),以及被加載器數(shù)據(jù)文件到PMAT的下載。
該協(xié)議具有以下特點(diǎn):
(1)網(wǎng)絡(luò)各節(jié)點(diǎn)在正常通信過程中不執(zhí)行加載操作,僅在系統(tǒng)切換到加載模式,正常通信終止,PMAT連人系統(tǒng)后,才能執(zhí)行加卸載功能。
(2)為保證傳輸效率和數(shù)據(jù)完整性,該加卸載方案將文件劃分為若干個(gè)Block,以Block為單位進(jìn)行校驗(yàn)、重傳,接收端接收到Block后進(jìn)行校驗(yàn),結(jié)果正確后,繼續(xù)下一個(gè)Block傳輸過程。
(3)每個(gè)Block包含若干數(shù)據(jù)幀,數(shù)據(jù)幀連續(xù)發(fā)送,不再單獨(dú)對(duì)其進(jìn)行校驗(yàn),以保證傳輸效率。
(4)文件傳輸完成后,針對(duì)整個(gè)文件,進(jìn)行循環(huán)冗余校驗(yàn)(CRC),保證文件傳輸?shù)恼_性和完整性,滿足安全關(guān)鍵數(shù)據(jù)的要求。
(5)該方案以Block為單位進(jìn)行校驗(yàn)、重傳,能夠支持傳輸大數(shù)據(jù)文件,對(duì)數(shù)據(jù)文件大小不做上限要求,但考慮加卸載效率,不建議進(jìn)行過大文件傳輸。
1.2 協(xié)議架構(gòu)
該協(xié)議架構(gòu)層次如圖2所示,涵蓋了1553B模塊驅(qū)動(dòng)層和主機(jī)應(yīng)用層[6]。若加卸載文件為配置文件或1553B模塊驅(qū)動(dòng)軟件,則主機(jī)應(yīng)用接收并存儲(chǔ)后,由1553B模塊驅(qū)動(dòng)層燒寫至 1553B模塊FLASH中;若加卸載文件為其他數(shù)據(jù)文件,則主機(jī)應(yīng)用層僅接收,不進(jìn)行燒寫固化;若數(shù)據(jù)文件為主機(jī)應(yīng)用軟件,則最終燒寫在CPU模塊的FLASH中。對(duì)于PMAT,則所有協(xié)議由主機(jī)應(yīng)用層實(shí)現(xiàn)。
2 算法流程
加卸載協(xié)議包含F(xiàn)IND操作、上傳操作和下載操作。
加卸載協(xié)議以文件為單位進(jìn)行傳輸,為保證傳輸正確性和傳輸效率,傳輸過程中將文件劃分為若干個(gè)Block,針對(duì)單個(gè)Block進(jìn)行校驗(yàn)、應(yīng)答,若出現(xiàn)錯(cuò)誤則以Block為單位進(jìn)行重傳。為保證整個(gè)文件的正確性,文件傳輸完成后對(duì)整個(gè)文件再進(jìn)行CRC校驗(yàn)。
經(jīng)過以Block為單位的累加和校驗(yàn)以及對(duì)整個(gè)文件的CRC校驗(yàn),避免了數(shù)據(jù)傳輸過程中的誤碼、丟包等故障造成的數(shù)據(jù)不完整錯(cuò)誤。以Block為單位的累加和校驗(yàn),保證了大數(shù)據(jù)文件傳輸過程中錯(cuò)誤的及時(shí)發(fā)現(xiàn)與更正,保證了傳輸文件的數(shù)據(jù)完整性和傳輸效率。
考慮1553B總線的通信特點(diǎn),PMAT、RT、BBC之間的數(shù)據(jù)直接通信,需要由BC進(jìn)行控制。
2.1 FIND操作
進(jìn)行文件上傳或下載操作前,需要通過FIND操作來查看被加載器是否在線,并通過FIND操作來獲取被加載器的軟硬件及其版本信息。
2.2 上傳操作
上傳操作實(shí)現(xiàn)加載器到被加載器的文件傳輸和燒寫功能,加載器通過加載控制器與被加載器建立傳輸連接后,在加載控制器的干預(yù)下,完成數(shù)據(jù)文件到目標(biāo)機(jī)的上傳操作。上傳操作的流程可分為加載初始化和加載兩部分。上傳過程中一個(gè)文件劃分為若干個(gè)Block,一個(gè)Block大小可通過協(xié)商確定,也可根據(jù)實(shí)際需要確定。
上傳操作的流程可分為上傳初始化和上傳階段兩部分,上傳初始化實(shí)現(xiàn)被加載器狀態(tài)查詢,確認(rèn)當(dāng)前被加載器是否在線、是否允許上傳;上傳階段加載器在加載控制器的干預(yù)下以Block為單位,逐塊向被加載器發(fā)送數(shù)據(jù)文件,直至文件傳輸完成。一次正常的文件上傳流程如圖3所示。
2.3 下載操作
下載操作實(shí)現(xiàn)被加載器數(shù)據(jù)文件到加載器的下載功能。下載操作的過程是:加載器通過加載控制器與被加載器建立傳輸連接后,完成被加載器數(shù)據(jù)文件的下載操作。下載過程中一個(gè)文件劃分為若干個(gè)Block,一個(gè)Block大小可通過協(xié)商確定,也可根據(jù)實(shí)際需要確定。
下載操作的流程可分為下載初始化和下載階段兩部分,下載初始化實(shí)現(xiàn)被加載器狀態(tài)查詢,確認(rèn)當(dāng)前被加載器是否在線、是否允許下載;下載階段將文件劃分成若干Block進(jìn)行連續(xù)傳輸,直至文件傳輸完畢。一次正常的文件下載流程如圖4所示。
3 軟件設(shè)計(jì)與實(shí)現(xiàn)
軟件包含加載器、加載控制器和被加載器三部分,分別駐留在PMaT、嵌入式1553BBC設(shè)備和嵌入式1553BRT設(shè)備上,這三部分軟件通過1553B總線進(jìn)行通信,完成協(xié)議功能。加載器、加載控制器和被加載器軟件需求均通過協(xié)議進(jìn)行分析獲取,通過形式化方法進(jìn)行軟件開發(fā)的分析、設(shè)計(jì)和實(shí)現(xiàn)[7]。
3.1 軟件形式化規(guī)格
有限狀態(tài)機(jī)是有限計(jì)算的基本模型,也是許多形式化規(guī)格、驗(yàn)證方法的基礎(chǔ)模型。加載器軟件通過1553B數(shù)據(jù)加卸載協(xié)議獲取需求,用有限狀態(tài)機(jī)對(duì)其進(jìn)行形式化規(guī)格描述,有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖如圖5所示。
加載控制器若收到的操作被加載器是自身時(shí),則其有限狀態(tài)機(jī)與被加載端相同;若其收到的操作被加載器為其他RT或BBC時(shí),有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖如圖7所示。
3.2 軟件實(shí)現(xiàn)
根據(jù)加載器、加載控制器和被加載器有限狀態(tài)機(jī),基于1553B仿真卡和嵌入式平臺(tái)實(shí)現(xiàn)該加卸載協(xié)議,加載器仿真卡采用自主研發(fā)的1553B PCI仿真卡,主機(jī)采用WindowsXP操作系統(tǒng),Microsoft Visual Studio 2010開發(fā)環(huán)境。加載控制器和被加載器采用國(guó)產(chǎn)1553B SOC芯片,基于PowerPC處理器實(shí)現(xiàn),采用XMC接口與主機(jī)中央處理器(CPU)交互、供電。主機(jī)采用VxWorks 6.6,使用WorkBench開發(fā)環(huán)境,SOC芯片使用C*CORE 1DE開發(fā)環(huán)境。
加載器軟件采用分層方式實(shí)現(xiàn),協(xié)議軟件采用C語(yǔ)言開發(fā),封裝成lib庫(kù),供上層調(diào)用,上層提供用戶操作界面,采用C++語(yǔ)言實(shí)現(xiàn)。加載控制器和被加載器采用C語(yǔ)言。
經(jīng)測(cè)試,加卸載軟件加載并固化32KB文件需要4s,平均速率8kB/s。
4 結(jié)束語(yǔ)
本文設(shè)計(jì)并實(shí)現(xiàn)了1553B總線數(shù)據(jù)加卸載軟件,達(dá)到了64kB/s的傳輸速率,1553B總線速率為1MB/s,因此該速率仍有進(jìn)州步提升空間,需針對(duì)加載器、加載控制器和被加載器等待時(shí)間進(jìn)行研究,縮短等待時(shí)間開銷,提高通信速率。1553B總線加卸載軟件的實(shí)現(xiàn),為1553B設(shè)備提供了一種在線升級(jí)維護(hù)方法,在機(jī)載、艦載、車載1553B設(shè)備中有廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1]劉士全,雋揚(yáng),蔡潔明,等.1553B總線應(yīng)用發(fā)展研究[J].電子與封裝,2013,13(12):12-15.
[2]ARINC 615A-3-2007 Software data loader using ethernet in-terface[S].ARINC Airlines Electronic Engineering Committee,2007.
[3]ARINC 615-4 Airborne computer high speed data loader[S].ARINC Airlines Electronic Engineering Committee,2002.
[4]MIL-STD-1553 Protocol tutorial[S].Condor EngineeringInc.,2004.
[5]楊衛(wèi)軍,許化龍,訾向勇.基于 1553B總線的嵌入式網(wǎng)絡(luò)BBC設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2007,24(1):63-65.
[6]刑秀琴,姚竹亭.基于1553B總線的通信接口及其應(yīng)用[J].中北大學(xué)學(xué)報(bào):自然科學(xué)版,2007,28(1):91-94.
[7]古天龍.軟件開發(fā)的形式化方法[M].北京:高等教育出版社,2005.