趙文龍,張杰,曹峰,李峭
(1.中航工業(yè)雷達(dá)與電子設(shè)備研究院,蘇州 215151;2.北京航空航天大學(xué))
?
趙文龍1,張杰1,曹峰1,李峭2
(1.中航工業(yè)雷達(dá)與電子設(shè)備研究院,蘇州 215151;2.北京航空航天大學(xué))
隨著航空需求的不斷提高,傳統(tǒng)的航空總線已經(jīng)不能滿足新一代航空電子系統(tǒng)對(duì)高速數(shù)據(jù)通信的要求,AFDX成為下一代航空電子數(shù)據(jù)通信總線,基于此,提出并實(shí)現(xiàn)一種基于AFDX總線的可靠文件傳輸機(jī)制。經(jīng)實(shí)驗(yàn)驗(yàn)證,該機(jī)制具有較高的安全性、可靠性。
航空總線;AFDX總線;文件傳輸機(jī)制
AFDX是一種基于普通以太網(wǎng)、具有冗余管理的航空電子全雙工交換式航空總線[1],在實(shí)時(shí)性和可靠性等方面有很大改進(jìn),并增加了特殊功能來(lái)保證網(wǎng)絡(luò)帶寬和服務(wù)質(zhì)量,實(shí)現(xiàn)低成本的快速開(kāi)發(fā),能夠更好地適應(yīng)航空電子需求,是一種確定性網(wǎng)絡(luò)。通過(guò)使用虛擬鏈路技術(shù)模擬了一個(gè)點(diǎn)到點(diǎn)、具有確定性QoS保證的網(wǎng)絡(luò),并通過(guò)并行冗余結(jié)構(gòu)來(lái)提高網(wǎng)絡(luò)傳輸可靠性[2-3]。
1.1AFDX網(wǎng)絡(luò)組成
AFDX協(xié)議[4]主要參考商用TCP/IP協(xié)議結(jié)構(gòu),與OSI/RM的7層模型比較,具有更強(qiáng)的針對(duì)性,明確地定義了各個(gè)層次的功能與標(biāo)準(zhǔn),網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)如圖1所示。
圖1 AFDX網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)
AFDX協(xié)議主要分應(yīng)用層、UDP協(xié)議層、IP協(xié)議層、MAC層與物理層,提供服務(wù)接入點(diǎn)SAP、隊(duì)列Queue、采樣端口Sample等端口類型以適應(yīng)不同類型數(shù)據(jù)的傳輸,使用了TCP/IP中的UDP和IP協(xié)議,AFDX的以太網(wǎng)MAC層與普通以太網(wǎng)有較大區(qū)別,增加了流量整形和虛擬鏈接調(diào)度等實(shí)時(shí)數(shù)據(jù)傳輸保證機(jī)制。AFDX總線在網(wǎng)絡(luò)中通過(guò)終端系統(tǒng)標(biāo)識(shí)來(lái)識(shí)別,終端系統(tǒng)標(biāo)識(shí)包括域ID、邊ID和位置ID。域ID表示終端系統(tǒng)屬于哪個(gè)域(子網(wǎng));邊ID表示終端系統(tǒng)在數(shù)據(jù)域里的哪一側(cè);位置ID表示終端系統(tǒng)在域里的相對(duì)位置。域ID、邊ID 和位置ID 按一定規(guī)則組成AFDX網(wǎng)絡(luò)IP地址及MAC地址。
1.2AFDX虛擬鏈接
AFDX的虛擬鏈接調(diào)度機(jī)制包含在鏈路層中,虛擬鏈接調(diào)度機(jī)制通過(guò)有效分割帶寬資源,可實(shí)現(xiàn)100 Mbps鏈接速率的物理層,支持多個(gè)虛擬鏈接,最多可支持4 096條虛擬鏈路[3]。在共用一個(gè)物理帶寬時(shí),為了防止不同虛擬鏈接發(fā)生沖突和干擾,AFDX設(shè)計(jì)了虛擬鏈接調(diào)度機(jī)制。
1.3AFDX冗余管理
AFDX的冗余管理機(jī)制包含在鏈路層中,其設(shè)置保證了數(shù)據(jù)報(bào)文傳輸?shù)目煽啃?,在一個(gè)AFDX網(wǎng)絡(luò)系統(tǒng)中,通常有兩個(gè)獨(dú)立的虛擬交換網(wǎng)絡(luò)A和網(wǎng)絡(luò)B,每一幀在AFDX端口都分別被發(fā)送到兩個(gè)獨(dú)立的網(wǎng)絡(luò)中,接收端同時(shí)接收到描述同一幀信息的數(shù)據(jù)包[5]。從鏈路層傳輸過(guò)來(lái)的數(shù)據(jù)幀首先要進(jìn)行完整性檢查,只有當(dāng)序列號(hào)滿足時(shí)才會(huì)將該數(shù)據(jù)幀提交至冗余管理處理模塊,接收端的冗余管理模塊將接收到的幀與其冗余幀進(jìn)行比較,確定是否接收該幀。
1.4AFDX數(shù)據(jù)幀結(jié)構(gòu)
圖3 AFDX 端系統(tǒng)工作流程
AFDX數(shù)據(jù)幀源端和目的端包含著源/目的MAC地址,其IP地址信息包含在內(nèi)部IP結(jié)構(gòu)模塊中。UDP結(jié)構(gòu)區(qū)別于應(yīng)用端口,AFDX信息有效載荷為17~1471數(shù)據(jù)。虛擬路徑通過(guò)一個(gè)字節(jié)的序列號(hào)來(lái)提供,它位于幀協(xié)議校驗(yàn)和之前,范圍在1~255,當(dāng)?shù)竭_(dá)255后翻轉(zhuǎn)到1,序列號(hào)0保留著對(duì)EndSystem端的系統(tǒng)復(fù)位。AFDX的網(wǎng)絡(luò)地址由系統(tǒng)任務(wù)管理者來(lái)分配基于EndSystem的MAC地址。源端EndSystem必須在AFDX交換網(wǎng)絡(luò)中唯一識(shí)別,源端地址包含用來(lái)區(qū)別兩個(gè)冗余鏈接網(wǎng)絡(luò)的MAC地址,目的端地址為一個(gè)或多個(gè)MAC地址,并包含16位虛擬連接標(biāo)識(shí)符。
1.5AFDX通信端口類型
AFDX基于先進(jìn)先出的原則,根據(jù)采樣、隊(duì)列、Sap類型通過(guò)發(fā)送和接收緩沖區(qū)來(lái)存儲(chǔ)輸入/輸出數(shù)據(jù),其I/O模塊把數(shù)據(jù)幀從輸入的接收緩沖區(qū)轉(zhuǎn)移至輸出的緩沖區(qū)中,并由交換網(wǎng)絡(luò)確定檢查下一幀接收Buffer到達(dá)的數(shù)據(jù)包來(lái)決定它的目的IP,并依據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)關(guān)系配置表決定由確定鏈路的發(fā)送輸入Buffer來(lái)接收數(shù)據(jù)幀。通過(guò)存儲(chǔ)總線和傳輸FIFO順序,將數(shù)據(jù)幀拷貝至待發(fā)送Buffer,通過(guò)發(fā)送Buffer把數(shù)據(jù)發(fā)送至航電系統(tǒng)或交換機(jī)。
2.1AFDX終端軟件接口
圖2 終端軟件接口示意圖
AFDX終端模塊的軟件接口包括與主處理模塊和與AFDX網(wǎng)絡(luò)的數(shù)據(jù)接口。接口示意圖見(jiàn)圖2。主處理模塊與終端系統(tǒng)采用PCI接口,應(yīng)用軟件通過(guò)調(diào)用AFDX驅(qū)動(dòng)軟件提供的API進(jìn)行AFDX數(shù)據(jù)收發(fā);當(dāng)應(yīng)用軟件調(diào)用驅(qū)動(dòng)軟件的數(shù)據(jù)發(fā)送函數(shù)時(shí),數(shù)據(jù)從應(yīng)用軟件通過(guò)PCI拷貝到終端發(fā)送緩沖Buffer中;當(dāng)終端接收到數(shù)據(jù)后,接收數(shù)據(jù)緩存在終端的接收緩沖區(qū)Buffer中,只有應(yīng)用軟件調(diào)用驅(qū)動(dòng)軟件接收數(shù)據(jù)時(shí),數(shù)據(jù)才從終端的緩沖區(qū)Buffer通過(guò)PCI拷貝給應(yīng)用程序內(nèi)存空間。
2.2AFDX終端系統(tǒng)工作流程
AFDX終端系統(tǒng)工作流程(發(fā)送流程、接收流程)如圖3所示。
2.2.1發(fā)送流程
如圖3所示,在數(shù)據(jù)發(fā)送過(guò)程中,應(yīng)用程序調(diào)用驅(qū)動(dòng)API接口將消息寫(xiě)入AFDX端口;在UDP傳輸層對(duì)消息添加UDP頭;在IP網(wǎng)絡(luò)層接收UDP包,并決定是否需要分組,并在每個(gè)分組內(nèi)添加IP頭、IP校驗(yàn)碼;在IP層添加以太網(wǎng)頭,并把以太網(wǎng)數(shù)據(jù)幀添加到相應(yīng)的虛擬鏈路VL緩沖區(qū)中待發(fā)送。數(shù)據(jù)鏈路層負(fù)責(zé)調(diào)度以太網(wǎng)幀的發(fā)送、添加序列號(hào)、放置到冗余管理模塊單元,另外,冗余管理模塊單元對(duì)待發(fā)送的以太網(wǎng)數(shù)據(jù)幀進(jìn)行復(fù)制、發(fā)送。
2.2.2接收流程
數(shù)據(jù)接收過(guò)程中,數(shù)據(jù)鏈路層首先對(duì)接收到的以太網(wǎng)數(shù)據(jù)幀進(jìn)行幀校驗(yàn)序列正確性檢查,然后進(jìn)行AFDX幀的完整性檢測(cè),最后進(jìn)行冗余管理后將IP數(shù)據(jù)包發(fā)送到IP網(wǎng)絡(luò)層。IP網(wǎng)絡(luò)層復(fù)制檢測(cè)IP校驗(yàn)碼,并對(duì)UDP數(shù)據(jù)包進(jìn)行重組,在接收到一個(gè)完整的UDP包后,UDP數(shù)據(jù)包被發(fā)送至UDP傳輸層,在傳輸層根據(jù)UDP包頭中的端口號(hào)信息把AFDX消息分發(fā)到相應(yīng)的端口緩沖區(qū)中。
2.3AFDX終端系統(tǒng)性能分析
AFDX總線依據(jù)AFDX終端性能對(duì)傳輸時(shí)延和數(shù)據(jù)抖動(dòng)進(jìn)行規(guī)范。時(shí)延分發(fā)送時(shí)延和接收時(shí)延,在終端系統(tǒng)空閑狀態(tài)下,接收或發(fā)送一幀數(shù)據(jù),其發(fā)送或接收過(guò)程所需時(shí)間為發(fā)送或接收時(shí)延加幀延遲,其中發(fā)送時(shí)延應(yīng)小于150 μs + 幀延遲,接收時(shí)延應(yīng)小于150 μs。
抖動(dòng)指從帶寬分配間隔開(kāi)始到發(fā)出第一位幀之間的時(shí)間間隔。每條VL允許的最大抖動(dòng)(Max_jitter)滿足下面兩個(gè)公式:
Max_Jitter≤150 μs
其中, Nbw 為物理鏈路的實(shí)際帶寬,在當(dāng)一個(gè)給定的終端系統(tǒng)需進(jìn)行多個(gè)VL 數(shù)據(jù)傳輸時(shí),VL的數(shù)據(jù)幀允許被延遲到最大允許的抖動(dòng)值。
多功能顯示器MFD與飛行信息綜合處理系統(tǒng)FIP通過(guò)AFDX總線網(wǎng)絡(luò)終端系統(tǒng),以軟硬件結(jié)合的方式完全實(shí)現(xiàn)了AFDX總線網(wǎng)絡(luò)中終端系統(tǒng)的整個(gè)網(wǎng)絡(luò)協(xié)議,由軟件完成應(yīng)用數(shù)據(jù)的打包及解包過(guò)程,硬件根據(jù)設(shè)置的參數(shù)按照ARINC664中的規(guī)則對(duì)不同類型的打包數(shù)據(jù)進(jìn)行發(fā)送或接收,以通用標(biāo)準(zhǔn)的PCI總線接口與接口處理板IOPM、圖形處理板GPM連接,并進(jìn)行數(shù)據(jù)交互,極大地提高了數(shù)據(jù)傳輸效率,實(shí)現(xiàn)了高速可靠的數(shù)據(jù)通信。
3.1MFD與FIP文件傳輸過(guò)程
MFD與FIP通過(guò)AFDX全雙工總線完成一定大小的文件傳輸,采用一種基于數(shù)據(jù)幀確認(rèn)的傳輸機(jī)制確保發(fā)送端和接收端數(shù)據(jù)幀完全一致。其傳輸過(guò)程如圖4所示。
圖4 MFD與FIP文件傳輸過(guò)程
如圖4所示,通過(guò)MFD向FIP發(fā)送文件傳輸指令,確保MFD與FIP之間通信鏈路正常。若MFD與FIP之間通信鏈路正常,則FIP回送文件名和文件長(zhǎng)度給MFD,MFD根據(jù)FIP回送的文件長(zhǎng)度按幀序號(hào)接收文件,并根據(jù)接收到的文件結(jié)束標(biāo)記進(jìn)行文件重傳及重傳內(nèi)容確認(rèn)判斷。
3.2MFD與FIP通信握手過(guò)程
MFD與FIP通過(guò)握手指令檢測(cè)MFD與FIP之間的通信鏈路是否正常,若通信鏈路正常,則MFD與FIP可進(jìn)行文件傳輸;若通信鏈路不正常,則MFD與FIP不再進(jìn)行文件傳輸。MFD與FIP握手過(guò)程如圖5所示。
圖5 MFD與FIP通信握手過(guò)程
3.3MFD接收FIP文件過(guò)程
MFD接收FIP文件數(shù)據(jù)過(guò)程分為文件接收、文件重傳判斷、文件重傳內(nèi)容確認(rèn)、文件顯示4個(gè)模塊,傳輸處理過(guò)程如圖6所示。
圖6 MFD接收FIP文件處理過(guò)程
各模塊功能如下:
(1) 文件接收
MFD依據(jù)同F(xiàn)IP握手返回時(shí)接收的文件長(zhǎng)度接收FIP文件數(shù)據(jù)幀,并將接收的文件數(shù)據(jù)幀寫(xiě)入相應(yīng)數(shù)據(jù)結(jié)構(gòu)。若MFD接收數(shù)據(jù)幀計(jì)數(shù)小于或等于FIP文件數(shù)據(jù)幀數(shù),則判斷是否收到FIP發(fā)送的結(jié)束數(shù)據(jù)幀,再進(jìn)一步判斷是否停止接收FIP發(fā)送文件、是否重傳。
(2) 文件重傳
MFD依據(jù)接收FIP數(shù)據(jù)幀順序依次判斷FIP數(shù)據(jù)幀序號(hào)和MFD接收順序是否一致,若不一致,則需在重傳數(shù)據(jù)結(jié)構(gòu)中將相應(yīng)數(shù)據(jù)幀置數(shù)據(jù)重傳標(biāo)記,MFD依次判斷FIP數(shù)據(jù)幀重傳文件標(biāo)記后,則一次性向FIP發(fā)送重傳文件數(shù)據(jù)幀序號(hào)。
(3) 文件重傳內(nèi)容確認(rèn)
MFD將文件重傳數(shù)據(jù)結(jié)構(gòu)中接收的數(shù)據(jù)幀和重傳數(shù)據(jù)幀序號(hào)進(jìn)行比對(duì),若存在不一致的,則需重新向FIP發(fā)送重傳指令,直至MFD接收到完整的FIP數(shù)據(jù)幀內(nèi)容為止。
(4) 文件顯示
通過(guò)dosFsDevCreate創(chuàng)建文件系統(tǒng)將文件數(shù)據(jù)幀寫(xiě)入文件,并供上層應(yīng)用程序回調(diào)顯示。
4.1實(shí)驗(yàn)環(huán)境
硬件平臺(tái)為VxWorks5.5、CPU MPC Power 8280,高速FPGA為數(shù)字接口協(xié)處理器,座艙顯示器MFD通過(guò)AFDX總線經(jīng)由PCI總線與飛行信息綜合處理系統(tǒng)FIP進(jìn)行通信。
4.2實(shí)驗(yàn)結(jié)果
根據(jù)某項(xiàng)目飛行測(cè)量系統(tǒng)環(huán)境進(jìn)行地面、空中多架次、長(zhǎng)距離飛行實(shí)驗(yàn),發(fā)送端與接收端傳輸數(shù)據(jù)安全、可靠。
4.2.1實(shí)驗(yàn)1結(jié)果
以某飛行系統(tǒng)實(shí)驗(yàn)中一張80 KB的某衛(wèi)星實(shí)時(shí)云圖文件數(shù)據(jù)傳輸(傳送時(shí)每幀有效數(shù)據(jù)為1024字節(jié)+4個(gè)字節(jié)幀序號(hào))為例,其中傳輸文件為80 KB的云圖通過(guò)普通以太網(wǎng)和AFDX在傳輸時(shí)間、丟幀率等方面進(jìn)行比較,性能參數(shù)比較(傳輸10次統(tǒng)計(jì)結(jié)果)見(jiàn)表1,以普通以太網(wǎng)、AFDX作為傳輸介質(zhì)的丟幀數(shù)見(jiàn)表2,實(shí)時(shí)云圖略——編者注。
表1 執(zhí)行效率比較
表2 以太網(wǎng)和AFDX丟幀數(shù)比較
4.2.2實(shí)驗(yàn)2結(jié)果
以某飛行系統(tǒng)實(shí)驗(yàn)中一張120 KB的某衛(wèi)星實(shí)時(shí)云圖文件數(shù)據(jù)傳輸(傳送時(shí)每幀有效數(shù)據(jù)為1024字節(jié)+4個(gè)字節(jié)幀序號(hào))為例,其中傳輸文件為120 KB的云圖通過(guò)普通以太網(wǎng)和AFDX在傳輸時(shí)間、丟幀率等方面進(jìn)行比較,性能參數(shù)比較(傳輸10次統(tǒng)計(jì)結(jié)果)見(jiàn)表3,以普通以太網(wǎng)、AFDX作為傳輸介質(zhì)的丟幀數(shù)見(jiàn)表4,實(shí)時(shí)云圖略——編者注。
表3 執(zhí)行效率比較
表4 以太網(wǎng)和AFDX丟幀數(shù)比較
由實(shí)驗(yàn)可知,若采用普通以太網(wǎng)傳輸數(shù)據(jù),丟失幀率在10%左右,而AFDX未出現(xiàn)傳輸文件丟幀現(xiàn)象。
可見(jiàn),AFDX作為默認(rèn)傳輸速率為100 Mbps的高速傳輸數(shù)據(jù)網(wǎng)絡(luò),具有極高的確定性,完全符合航空電子系統(tǒng)所需要的高速率、高可靠性要求;另外,AFDX使用冗余機(jī)制來(lái)減少數(shù)據(jù)丟失,終端系統(tǒng)通過(guò)獨(dú)立的冗余A、B網(wǎng)絡(luò)進(jìn)行通信,保證任意一個(gè)網(wǎng)絡(luò)出現(xiàn)故障時(shí)數(shù)據(jù)幀能夠安全、可靠發(fā)送到接收端。
基于AFDX總線的文件傳輸機(jī)制經(jīng)過(guò)某飛行系統(tǒng)綜合地面試車、多架次、長(zhǎng)距離飛行搭載試驗(yàn)驗(yàn)收,傳輸內(nèi)容完整、安全、可靠。
編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www.mesnet.com.cn。
[1] 石改輝,張?jiān)?李達(dá).全雙工交換式以太網(wǎng)研究[J].信息安全與通信保密,2007(5):51-52.
[2] 劉中.交換式以太網(wǎng)在航空電子系統(tǒng)中的應(yīng)用[J].武器裝備自動(dòng)化,2006(1):16-17.
[3] 王驥,楊永田,徐光.確定性實(shí)時(shí)以太網(wǎng)在航空電子系統(tǒng)中的應(yīng)用[J].航空電子技術(shù),2006,37(3):29-32.
[4] ARINC.ARINC Specification 664,Part 1.Aircraft Data Netw0rkSystem Concepts and Overview.
[5] 陳昕,周擁軍,萬(wàn)劍雄.AFDX端系統(tǒng)關(guān)鍵技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2009,35(5):1-3.
趙文龍(工程師),研究方向?yàn)闄C(jī)載顯示技術(shù)。
Zhao Wenlong1,Zhang Jie1,Cao Feng1,Li Qiao2
(1.Research Center of Military Equipment,AVIC Radar and Avionics Institute,Suzhou 215151,China;2.Beijing University of Aeronautics and Astronautics)
The traditional avionics bus could not meet the requirements of the new generation avionics system for high-speed data communication with the increasing demand for aviation.AFDX has been the next generation avionics data communication bus.In the paper,a new reliable file transfer mechanism based on AFDX bus is proposed.The experiment results show that the mechanism has high security and reliability.
avionics bus;AFDX bus;file tansfer mechanism
國(guó)家863高技術(shù)研究發(fā)展計(jì)劃(No.2011AA110101)。
V241.8
A
(責(zé)任編輯:薛士然2015-11-25)