王曉梅
摘 要:為了使IEEE 1394在軍事和飛行器中的安全關(guān)鍵/任務(wù)關(guān)鍵系統(tǒng)中應(yīng)用,對(duì)IEEE 1394協(xié)議的擴(kuò)展和約束。提出一種基于AS5463協(xié)議的飛行管理系統(tǒng)仿真系統(tǒng)設(shè)計(jì)方法,探討了AS5463協(xié)議在飛管總線中應(yīng)用的優(yōu)點(diǎn)及可能性。仿真系統(tǒng)硬件通過AS5463協(xié)議通信卡及工控機(jī)實(shí)現(xiàn),軟件通過模塊化設(shè)計(jì)方法實(shí)現(xiàn)。通信仿真系統(tǒng)實(shí)現(xiàn)了各子系統(tǒng)相關(guān)數(shù)據(jù)的傳送、處理,以及相關(guān)信息的實(shí)時(shí)顯示。測(cè)試表明,飛行管理系統(tǒng)仿真系統(tǒng)工作正常、性能良好,能實(shí)現(xiàn)測(cè)試設(shè)備之間高速率的數(shù)據(jù)傳輸與轉(zhuǎn)換,具有良好的實(shí)用價(jià)值。
關(guān)鍵詞:飛行管理; AS5463協(xié)議; AS5463協(xié)議通信卡; 通信仿真系統(tǒng)
中圖分類號(hào):TN964?34 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004?373X(2013)02?0071?03
在飛機(jī)的機(jī)載設(shè)備中,系統(tǒng)之間、系統(tǒng)和部件之間存在著大量信息需要傳遞。這些信息要求通信實(shí)時(shí)、準(zhǔn)確,同時(shí)在機(jī)載設(shè)備中希望飛行管理系統(tǒng)控制起來更加靈活,與其他子系統(tǒng)通信更加合理,所以應(yīng)盡量降低飛行管理系統(tǒng)中電氣連線的復(fù)雜性,那么選用一種合適的總線來承擔(dān)此任務(wù)是至關(guān)重要的。使用AS5643協(xié)議的IEEE 1394總線[1?2]其設(shè)計(jì)思想獨(dú)特、性能優(yōu)良并且可靠性極高[3?4],可以很好完成上述任務(wù),所以將基于AS5643協(xié)議的IEEE 1394總線應(yīng)用在飛行管理系統(tǒng)的仿真系統(tǒng)中,可以說是對(duì)于航空領(lǐng)域應(yīng)用的一次新的嘗試[5?6]。本文遵循AS5643協(xié)議,傳輸總線采用IEEE 1394總線,仿真機(jī)的通信系統(tǒng)采用工控機(jī)子系統(tǒng),其整個(gè)通信系統(tǒng)拓?fù)洳捎每偩€型拓?fù)浣Y(jié)構(gòu)。該模型可用于仿真飛機(jī)某些子系統(tǒng)的功能、估算總線性能情況,測(cè)試仿真系統(tǒng)的執(zhí)行效率和穩(wěn)定性,為基于AS5643協(xié)議的IEEE 1394總線在航空領(lǐng)域的應(yīng)用提供案例。
1 仿真系統(tǒng)的功能
基于AS5643協(xié)議的IEEE 1394總線飛行管理仿真系統(tǒng)分為CC(控制計(jì)算機(jī)),RN(遠(yuǎn)程節(jié)點(diǎn))和BM(總線監(jiān)控)三個(gè)子系統(tǒng)。該仿真系統(tǒng)必須實(shí)現(xiàn)各子系統(tǒng)之間準(zhǔn)確、實(shí)時(shí)的數(shù)據(jù)傳輸,并能夠根據(jù)用戶需求設(shè)置各種系統(tǒng)通信參數(shù),諸如發(fā)送方式、通信方式、通信速率、周期、定時(shí)等,顯示仿真通信參數(shù)、本機(jī)參數(shù)、定時(shí)信息、心跳字信息、系統(tǒng)參數(shù)等,實(shí)時(shí)更新展示系統(tǒng)接收的最新數(shù)據(jù),保存通信數(shù)據(jù)?;贏S5643協(xié)議的IEEE 1394通信總線仿真系統(tǒng)由軟件和硬件兩部分組成。軟件的主要功能是根據(jù)相應(yīng)工作狀態(tài)對(duì)數(shù)據(jù)進(jìn)行處理、顯示以及傳輸。硬件主要包括PCI_1394,PCIE_1394,CPCI_1394,USB_1394通信接口板、仿真計(jì)算機(jī)及IEEE 1394總線等,該總線的拓?fù)浣Y(jié)構(gòu)為總線型拓?fù)浣Y(jié)構(gòu)。典型的基于AS5643協(xié)議的IEEE 1394總線的三余度飛行管理仿真系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖1所示。
2 仿真系統(tǒng)的功能
整個(gè)仿真系統(tǒng)硬件設(shè)計(jì)的關(guān)鍵部分是AS5643協(xié)議通信卡,主要由三大部分組成,包括PCI/PCI?E總線接口部分、通信控制部分和IEEE 1394總線接口部分。其電路設(shè)計(jì)的原理框圖如圖2所示。其中使用PCI9052作為PCI協(xié)議通信芯片,使用PLX8111作為PCI?E協(xié)議通信芯片,并使用512 MB RAM 來緩存數(shù)據(jù)。
2.1 硬件設(shè)計(jì)
AS5643協(xié)議通信卡的特性包括以下幾點(diǎn):
(1)采用FPGA處理AS5643協(xié)議,設(shè)計(jì)更加靈活,通過更改FPGA 邏輯就可以實(shí)現(xiàn)CC/RN/BM節(jié)點(diǎn)功能,而且處理速度更快[7];
(2)應(yīng)用API操作接口簡(jiǎn)潔,上層應(yīng)用只需實(shí)現(xiàn)系統(tǒng)狀態(tài)控制、數(shù)據(jù)啟動(dòng)停止,數(shù)據(jù)填充等基本操作;
(3)為提高系統(tǒng)實(shí)時(shí)性,AS5643協(xié)議全部通過硬件邏輯實(shí)現(xiàn);
(4)FPGA在邏輯設(shè)計(jì)保留多種通信接口,方便系統(tǒng)設(shè)計(jì)與維護(hù)[8]。
FPGA 器件選型時(shí)充分考慮AS5643 協(xié)議處理要求,從邏輯規(guī)模、資源等方面綜合評(píng)估[9],選用Xilinx公司高速芯片。
2.2 硬件實(shí)現(xiàn)
AS5643協(xié)議通信卡設(shè)計(jì)由三部分組成,便于根據(jù)需要進(jìn)行接口變更,包括:PCI/PCIE/USB/CPCI母卡、FPGA子卡和鏈路物理層子卡。CC/RN/BM 上的AS5643協(xié)議功能由FPGA子卡上的邏輯實(shí)現(xiàn)。同時(shí)鏈路物理層子卡上的物理層芯片TSB41BA3B和鏈路層芯片TSB12LV32由FPGA子卡操縱,實(shí)現(xiàn)IEEE 1394的物理層特性和鏈路層規(guī)程。而PCI/PCIE/USB/CPCI接口控制、AS5643 協(xié)議、配置表的硬件加載、硬件邏輯自測(cè)試和健康監(jiān)控等功能由FPGA實(shí)現(xiàn),其原理框圖如圖2 所示。
3 軟件設(shè)計(jì)
系統(tǒng)軟件開發(fā)設(shè)計(jì)基于是Windows XP操作系統(tǒng),采用Visual Studio 2008 開發(fā),使用面向?qū)ο蟮脑O(shè)計(jì)方法開發(fā)。系統(tǒng)軟件的結(jié)構(gòu)分為5層,如圖3所示。
圖2 IEEE 1394總線通信卡電路設(shè)計(jì)原理框圖
五層中,L0層為驅(qū)動(dòng),采用DDK進(jìn)行開發(fā),直接訪問硬件資源和FPGA協(xié)調(diào)工作。L1層為驅(qū)動(dòng)接口層,提供其他語(yǔ)言的訪問接口。L2層為對(duì)L1層采用.NET Framework技術(shù)封裝,主要目的是為方便支持.NET Framework的其他對(duì)象訪問驅(qū)動(dòng),并提供對(duì)TCP/IP的遠(yuǎn)程服務(wù)訪問能力。L3層為采用面向?qū)ο蠹夹g(shù)對(duì)CC,RN,BM實(shí)現(xiàn)業(yè)務(wù)邏輯和狀態(tài)變遷的封裝。L4是應(yīng)用表示層用于數(shù)據(jù)呈現(xiàn)。軟件流程圖如圖4所示。
圖3 系統(tǒng)軟件結(jié)構(gòu)圖
圖4 軟件流程圖
3.1 系統(tǒng)主模塊
系統(tǒng)主模塊通過調(diào)用相應(yīng)功能模塊,控制仿真系統(tǒng)初始化,以及整個(gè)仿真系統(tǒng)軟件的流程。
3.2 初始化模塊
初始化模塊通過調(diào)用API函數(shù)進(jìn)行硬件初始化和軟件初始化。將各子系統(tǒng)之間通信所需的發(fā)送方式、通信方式、通信速率、周期、定時(shí)等參數(shù)進(jìn)行初始化配置。
3.3 數(shù)據(jù)管理模塊
數(shù)據(jù)管理模塊在運(yùn)行過程中,完成實(shí)時(shí)編碼要發(fā)送的數(shù)據(jù)和實(shí)時(shí)解碼接收到相關(guān)數(shù)據(jù)塊。數(shù)據(jù)處理的主要功能是根據(jù)接口控制文件(ICD)文件數(shù)據(jù)塊的大小,通過配合發(fā)送、接收模塊,完成對(duì)數(shù)據(jù)幀的封裝和解析。ICD文件中的參數(shù)通過編碼組成相對(duì)應(yīng)的AS5643協(xié)議的異步流包的形式進(jìn)行傳送。
3.4 控制模塊
控制模塊完成系統(tǒng)狀態(tài)、通信、總線復(fù)位,遠(yuǎn)端根節(jié)點(diǎn)以及顯示的控制,根據(jù)用戶的輸入操作和相關(guān)其他節(jié)點(diǎn)的相應(yīng)狀態(tài),確定整個(gè)仿真系統(tǒng)的運(yùn)行狀態(tài)與工作方式的控制與切換和相關(guān)數(shù)據(jù)通信控制等操作。
3.5 通信模塊
通信模塊通過訪問通信卡的本地對(duì)象、遠(yuǎn)程對(duì)象或底層的API函數(shù),配合數(shù)據(jù)發(fā)送接收等模塊,實(shí)現(xiàn)各子系統(tǒng)的數(shù)據(jù)發(fā)送和接收功能。
3.6 網(wǎng)絡(luò)拓?fù)淠K
拓?fù)淠K通過獲取鏈路層的寄存器的自標(biāo)識(shí)包,計(jì)算出當(dāng)前的網(wǎng)絡(luò)拓?fù)洹S捎贗EEE 1394設(shè)備配置不需要主機(jī)干預(yù),是在本地總線上完成的。每當(dāng)一個(gè)新的設(shè)備或節(jié)點(diǎn)被連入或從總線上移除時(shí),整個(gè)總線都要復(fù)位并重新配置。在配置中,下面三個(gè)步驟必須執(zhí)行:樹標(biāo)識(shí)、自標(biāo)識(shí)、速度標(biāo)識(shí)??偩€初始化之后,節(jié)點(diǎn)開始進(jìn)行樹標(biāo)識(shí)以識(shí)別根節(jié)點(diǎn)和所有連接節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。樹標(biāo)識(shí)以后生成一個(gè)分層樹結(jié)構(gòu)。樹標(biāo)識(shí)結(jié)束后進(jìn)行自標(biāo)識(shí),節(jié)點(diǎn)在這一過程中開始配置。自標(biāo)識(shí)主要執(zhí)行以下動(dòng)作:給每個(gè)節(jié)點(diǎn)分配物理ID、 鄰近節(jié)點(diǎn)交換傳輸速度能力、把樹標(biāo)識(shí)中定義的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)廣播給所有節(jié)點(diǎn)。總線配置完成后,擁有最大節(jié)點(diǎn)ID的節(jié)點(diǎn)為根結(jié)點(diǎn)。如果定義了等時(shí)包,那么設(shè)置了IRM寄存器的競(jìng)爭(zhēng)位的根節(jié)點(diǎn)將成為等時(shí)資源管理器。離根節(jié)點(diǎn)最遠(yuǎn)節(jié)點(diǎn)的節(jié)點(diǎn)ID為0。節(jié)點(diǎn)號(hào)隨著離根節(jié)點(diǎn)的距離而遞減[2?3]。因此,對(duì)于拓?fù)浣Y(jié)構(gòu)的生成,必須根據(jù)自標(biāo)識(shí)包的信息進(jìn)行計(jì)算,才能得到當(dāng)前的網(wǎng)絡(luò)結(jié)構(gòu)。
3.7 傳輸層協(xié)議
由于AS5643 協(xié)議只規(guī)定物理層和鏈路層的標(biāo)準(zhǔn),沒有規(guī)定傳輸層通信協(xié)議,而數(shù)據(jù)的通信必須按照傳輸層協(xié)議來封裝幀、解析幀??紤]到AFDX網(wǎng)絡(luò)中的軟件都支持UDP通信,為便于將AFDX上的軟件移植到AS5643上來,為此,為本文提供了UDP協(xié)議棧,便于應(yīng)用系統(tǒng)的移植。
4 結(jié) 語(yǔ)
IEEE 1394總線傳輸速度快、傳輸距離長(zhǎng)、驅(qū)動(dòng)能力強(qiáng),系統(tǒng)靈活、可擴(kuò)展性強(qiáng),可以實(shí)現(xiàn)實(shí)時(shí)、確定的點(diǎn)對(duì)點(diǎn)傳輸。安裝簡(jiǎn)單,易于維護(hù),經(jīng)濟(jì)性好[10]。該仿真系統(tǒng)已測(cè)試使用。測(cè)試結(jié)果表明,該飛行管理仿真系統(tǒng)通信卡工作良好,系統(tǒng)工作正常,實(shí)現(xiàn)了各子系統(tǒng)之間的通信,人機(jī)界面友好,為飛管綜合控制系統(tǒng)不斷發(fā)展做好技術(shù)和物質(zhì)準(zhǔn)備。
參考文獻(xiàn)
[1] Society of Automotive Engineers. IEEE 1394b interface requirements for military and aerospace vehicle applications [S]. USA: SAE, 2004.
[2] BAI Hao?wei. Analysis of a SAE AS5643 Mil?1394b based high?speed avionics network architecture for space and defense application [C]// Proceedings of 2007 IEEE Aerospace Conference. Minneapolis, USA: Honeywell Labs, 2007: 1?9.
[3] IEEE Computer Society. IEEE Std 1394b TM?2002 IEEE standard for a high performance serial bus amendment [S]. USA: IEEE Computer Society, 2002.
[4] 田澤,李娜,程國(guó)建.飛行控制系統(tǒng)中Mil?1394b 仿真節(jié)點(diǎn)實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2011(7):3120?3121.
[5] 王海涌,黃江艷.一種基于IEEE1394 總線的高速數(shù)據(jù)傳輸設(shè)備的設(shè)計(jì)[J].測(cè)控技術(shù),2009,28(6):65?68.
[6] 劉光遠(yuǎn),張濤,鄭偉波.基于FPGA 的數(shù)據(jù)采集系統(tǒng)IEEE 1394 接口設(shè)計(jì)[J].儀表技術(shù)與傳感器,2009(12):46?48.
[7] 杜寧.航電系統(tǒng)中1553B總線監(jiān)控器的設(shè)計(jì)[J].科技與企業(yè),2012(4):304?305.
[8] 王小麗.IEEE 1394接口技術(shù)及其應(yīng)用[J].電子世界,2011(12):7?9.
[9] 王苗苗,張春熹,史潔琴.IEEE 1394應(yīng)用于航空電子系統(tǒng)圖像通信的研究[J].微計(jì)算機(jī)信息,2006(22):225?227.
[10] 房海濤.總線技術(shù)在民用飛機(jī)上的應(yīng)用研究[J].科技傳播,2011(10):179?180.