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