基于AS5464協(xié)議的飛行管理仿真系統(tǒng)的設(shè)計(jì)
3 軟件設(shè)計(jì)
系統(tǒng)軟件開(kāi)發(fā)設(shè)計(jì)基于是Windows XP操作系統(tǒng),采用Visual Studio 2008開(kāi)發(fā),使用面向?qū)ο蟮脑O(shè)計(jì)方法開(kāi)發(fā)。系統(tǒng)軟件的結(jié)構(gòu)分為5層,如圖3所示。本文引用地址:http://cafeforensic.com/article/153517.htm
五層中,L0層為驅(qū)動(dòng),采用DDK進(jìn)行開(kāi)發(fā),直接訪問(wèn)硬件資源和FPGA協(xié)調(diào)工作。L1層為驅(qū)動(dòng)接口層,提供其他語(yǔ)言的訪問(wèn)接口。L2層為對(duì)L1層采用.NET Framework技術(shù)封裝,主要目的是為方便支持.NET Framework的其他對(duì)象訪問(wèn)驅(qū)動(dòng),并提供對(duì)TCP/IP的遠(yuǎn)程服務(wù)訪問(wèn)能力。 L3層為采用面向?qū)ο蠹夹g(shù)對(duì)CC,RN,BM實(shí)現(xiàn)業(yè)務(wù)邏輯和狀態(tài)變遷的封裝。L4是應(yīng)用表示層用于數(shù)據(jù)呈現(xiàn)。軟件流程圖如圖4所示。
3.1 系統(tǒng)主模塊
系統(tǒng)主模塊通過(guò)調(diào)用相應(yīng)功能模塊,控制仿真系統(tǒng)初始化,以及整個(gè)仿真系統(tǒng)軟件的流程。
3.2 初始化模塊
初始化模塊通過(guò)調(diào)用API函數(shù)進(jìn)行硬件初始化和軟件初始化。將各子系統(tǒng)之間通信所需的發(fā)送方式、通信方式、通信速率、周期、定時(shí)等參數(shù)進(jìn)行初始化配置。
3.3 數(shù)據(jù)管理模塊
數(shù)據(jù)管理模塊在運(yùn)行過(guò)程中,完成實(shí)時(shí)編碼要發(fā)送的數(shù)據(jù)和實(shí)時(shí)解碼接收到相關(guān)數(shù)據(jù)塊。數(shù)據(jù)處理的主要功能是根據(jù)接口控制文件(ICD)文件數(shù)據(jù)塊的大小,通過(guò)配合發(fā)送、接收模塊,完成對(duì)數(shù)據(jù)幀的封裝和解析。ICD文件中的參數(shù)通過(guò)編碼組成相對(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 通信模塊
通信模塊通過(guò)訪問(wèn)通信卡的本地對(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通過(guò)獲取鏈路層的寄存器的自標(biāo)識(shí)包,計(jì)算出當(dāng)前的網(wǎng)絡(luò)拓?fù)?。由于IEEE 1394設(shè)備配置不需要主機(jī)干預(yù),是在本地總線上完成的。每當(dāng)一個(gè)新的設(shè)備或節(jié)點(diǎn)被連入或從總線上移除時(shí),整個(gè)總線都要復(fù)位并重新配置。在配置中,下面三個(gè)步驟必須執(zhí)行:樹(shù)標(biāo)識(shí)、自標(biāo)識(shí)、速度標(biāo)識(shí)。總線初始化之后,節(jié)點(diǎn)開(kāi)始進(jìn)行樹(shù)標(biāo)識(shí)以識(shí)別根節(jié)點(diǎn)和所有連接節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。樹(shù)標(biāo)識(shí)以后生成一個(gè)分層樹(shù)結(jié)構(gòu)。樹(shù)標(biāo)識(shí)結(jié)束后進(jìn)行自標(biāo)識(shí),節(jié)點(diǎn)在這一過(guò)程中開(kāi)始配置。自標(biāo)識(shí)主要執(zhí)行以下動(dòng)作:給每個(gè)節(jié)點(diǎn)分配物理ID、鄰近節(jié)點(diǎn)交換傳輸速度能力、把樹(shù)標(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)隨著離根帑贏的距離而遞減。因此,對(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),沒(méi)有規(guī)定傳輸層通信協(xié)議,而數(shù)據(jù)的通信必須按照傳輸層協(xié)議來(lái)封裝幀、解析幀??紤]到AFDX網(wǎng)絡(luò)中的軟件都支持UDP通信,為便于將AFDX上的軟件移植到AS5643上來(lái),為此,為本文提供了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ì)性好。該仿真系統(tǒng)已測(cè)試使用。測(cè)試結(jié)果表明,該飛行管理仿真系統(tǒng)通信卡工作良好,系統(tǒng)工作正常,實(shí)現(xiàn)了各子系統(tǒng)之間的通信,人機(jī)界面友好,為飛管綜合控制系統(tǒng)不斷發(fā)展做好技術(shù)和物質(zhì)準(zhǔn)備。
評(píng)論