王晨博 劉鵬 劉洋
摘要:航空全雙工交換式以太網(wǎng)(AFDx)具有高速、確定性和雙余度等特點(diǎn),已成功應(yīng)用于新一代航電網(wǎng)絡(luò)。文章對AFDX協(xié)議的通信架構(gòu)、網(wǎng)絡(luò)拓?fù)浜凸ぷ髂J阶龀隽朔治?,并提出了一種基于FPGA的AFDX端系統(tǒng)模塊的實(shí)現(xiàn)方法。測試表明,該模塊實(shí)現(xiàn)方法合理、工作可靠。
關(guān)鍵詞:端系統(tǒng);航空全雙工交換式以太網(wǎng);現(xiàn)場可編程門陣列
中圖分類號:TP393
文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2017)10-0028-03
1.引言
高度綜合化的航空電子系統(tǒng),對航電子系統(tǒng)間的超高速、大容量數(shù)據(jù)交互和消息共享的要求日益增長,傳統(tǒng)的ARINC429、MIL-STD-1553等機(jī)載總線已不能滿足通信需求。航空電子全雙工交換式以太網(wǎng)(Avionics Full Duplex Switched Ether-net,AFDx)基于IEEE802.3通信原理和網(wǎng)絡(luò)結(jié)構(gòu),結(jié)合航電系統(tǒng)特殊需求對該協(xié)議的部分?jǐn)?shù)據(jù)鏈路進(jìn)行適應(yīng)性修改,使其成為具有高帶寬、低延時和高可靠性等優(yōu)點(diǎn),滿足大飛機(jī)航電主干網(wǎng)絡(luò)的通信要求。
相比傳統(tǒng)的機(jī)載總線ARINC429和1553B而言,AFDX網(wǎng)絡(luò)具有組網(wǎng)簡單、升級維護(hù)容易、可擴(kuò)展性強(qiáng),兼容ARINC應(yīng)用協(xié)議SNMP和ARINC615A加卸載等協(xié)議優(yōu)點(diǎn),結(jié)合其獨(dú)有的虛擬鏈路技術(shù)和雙余度技術(shù),確保數(shù)據(jù)傳輸滿足延遲確定、傳輸可靠、容錯能力強(qiáng)等機(jī)載網(wǎng)絡(luò)特點(diǎn),已成為新一代航電系統(tǒng)總線接口關(guān)鍵技術(shù)之一。
結(jié)合某型機(jī)載系統(tǒng),本文設(shè)計出了一種滿足該系統(tǒng)設(shè)計需求的AFDX端系統(tǒng)模塊,并在實(shí)驗室環(huán)境下,搭建了一套完整的測試設(shè)備,對AFDX端系統(tǒng)模塊的各項性能指標(biāo)進(jìn)行了測試。
2.AFDX協(xié)議分析
AFDX作為一種定制的確定性網(wǎng)絡(luò),可以通過路由器或者網(wǎng)關(guān)與某個更寬泛的兼容網(wǎng)絡(luò)相通信,在ARINC 664P7中,AFDX協(xié)議主要包含:端系統(tǒng)(End System)、交換機(jī)(Switch)和應(yīng)用系統(tǒng)等三個部分,其中端系統(tǒng)部分重點(diǎn)對虛擬鏈路、流量控制、調(diào)度、冗余管理等進(jìn)行標(biāo)準(zhǔn)定義?,F(xiàn)將虛擬鏈路和流量控制的概念進(jìn)行描述。
2.1虛擬鏈路
虛擬鏈路定義了一個邏輯上的單向連接,從一個源到一個或多個目的端系統(tǒng)。一個端系統(tǒng)可以被設(shè)計為僅接收VL而不發(fā)送VL,或者與之相反。端系統(tǒng)通過VL進(jìn)行以太網(wǎng)幀的互換。在航空電子網(wǎng)絡(luò)中任意一個VL都只有唯一一個源端系統(tǒng)。每個虛擬鏈路都被指定一個最大帶寬,該帶寬由系統(tǒng)集成者分配,一般為2kms(k=1,2,…,8)。端系統(tǒng)應(yīng)該利用可用帶寬提供邏輯隔離。不論某個部件試圖在一條VL上得到怎樣的利用率,任意其它VL的可用帶寬都不受影響。對于每個虛擬鏈路,在發(fā)送和接收過程中數(shù)據(jù)被某個部件傳送,端系統(tǒng)應(yīng)該保持?jǐn)?shù)據(jù)的次序(次序完整性)。
2.2流量控制
在每個端系統(tǒng)的輸出端,與一條特定的VL相關(guān)聯(lián)的幀的流量用兩個參數(shù)來描述:帶寬分配間隔(GAP)和抖動(Jitter)。如果經(jīng)過調(diào)度器的幀沒有抖動,BAG就反映了在同一個VL中兩個相鄰的幀的起始二進(jìn)制位之間的最小時間間隔。端系統(tǒng)應(yīng)該以每個VL為基礎(chǔ)(單位)對發(fā)送的數(shù)據(jù)進(jìn)行規(guī)整。
3.需求分析
本文提及的AFDX模塊應(yīng)用于某型機(jī)載通信環(huán)境。端系統(tǒng)在符合ARINC664P7規(guī)范的基礎(chǔ)上,滿足用戶規(guī)范要求。接收VL支持32-512條,BAG可配置為0.5ms-128ms,步進(jìn)0.5ms。
AFDX模塊采用標(biāo)準(zhǔn)PMC子卡形式設(shè)計,作為從設(shè)備支持某型設(shè)備同主干網(wǎng)絡(luò)的連接及數(shù)據(jù)通信。AFDX模塊應(yīng)包含的功能有:
(1)端系統(tǒng)功能,設(shè)計符合ARINC664P7協(xié)議標(biāo)準(zhǔn),且滿足用戶規(guī)范要求的ARINC664端系統(tǒng),支持UDP/IP協(xié)議棧,支持ARINC664數(shù)據(jù)通信功能;
(2)網(wǎng)絡(luò)管理功能,支持管理端對端系統(tǒng)的網(wǎng)絡(luò)管理功能;
(3)數(shù)據(jù)加卸載功能,支持加載端的Find、Information、上傳和下載功能,實(shí)現(xiàn)端系統(tǒng)上配置、軟件等數(shù)據(jù)文件的上傳和下載。
4.系統(tǒng)結(jié)構(gòu)
AFDX端系統(tǒng)模塊基于以太網(wǎng)物理層提供雙路冗余的端系統(tǒng)通信功能,其層次結(jié)構(gòu)設(shè)計如圖1所示。
端系統(tǒng)層次結(jié)構(gòu)劃分為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層五個層次,其中,在物理層基于以太網(wǎng)的PHY芯片提供兩路的通信接口,支持端系統(tǒng)的雙路冗余;數(shù)據(jù)鏈路層通過大規(guī)模FPGA邏輯實(shí)現(xiàn),主要完成端系統(tǒng)基于BAG的VL調(diào)度、雙路數(shù)據(jù)的冗余管理及MAC核功能;端系統(tǒng)網(wǎng)絡(luò)層及傳輸層通過軟件實(shí)現(xiàn),完成UDP/IP協(xié)議棧、ICMP功能,實(shí)現(xiàn)數(shù)據(jù)包的封裝、分片、重組等功能,并向上層提供周期、采樣和對列端口服務(wù)功能;上述四個層次功能均在端系統(tǒng)模塊上實(shí)現(xiàn)。應(yīng)用層功能運(yùn)行在主機(jī)模塊上,實(shí)現(xiàn)基于ARINC664通信的主機(jī)應(yīng)用功能,并實(shí)現(xiàn)SNMP網(wǎng)絡(luò)管理及ARINC615A數(shù)據(jù)加卸載功能。
4.1硬件設(shè)計
本設(shè)計基于CPU+FPGA的架構(gòu)實(shí)現(xiàn)端系統(tǒng)功能。其中主要功能電路包括:處理器電路、FPGA電路、電源電路、復(fù)位電路和時鐘電路。AFDX端系統(tǒng)的原理框圖如圖2所示。
AFDX端系統(tǒng)模塊以一片F(xiàn)PGA為核心進(jìn)行搭建,實(shí)現(xiàn)端系統(tǒng)鏈路層功能。FPGA電路基本配置如下:
(1)配置兩個以太網(wǎng)MAC核,通過MII接口實(shí)現(xiàn)對以太網(wǎng)PHY芯片的控制;
(2)配置端系統(tǒng)鏈路層控制功能,支持冗余管理、虛鏈路調(diào)度等;
(3)端系統(tǒng)模塊復(fù)位控制,實(shí)現(xiàn)對手動復(fù)位、系統(tǒng)復(fù)位、上電復(fù)位、處理器復(fù)位、配置加載復(fù)位的邏輯控制;
(4)總線譯碼,實(shí)現(xiàn)CPU對外部FLASH、SDRAM、DPRAM等存儲資源的訪問片選及譯碼控制;
(5)配置字加載,為CPU提供上電配置字,控制處理器的工作頻率。
通過邏輯綜合時對寄存器資源和block RAM資源的占用情況評估,F(xiàn)PGA選用Xilinx公司的v5系列芯片。用于配置FPGA設(shè)計中選用并行配置模式,加載時,由FPGA啟動時鐘,從PROM按照并行方式讀取配置數(shù)據(jù)。
處理器電路用于實(shí)現(xiàn)端系統(tǒng)傳輸層、網(wǎng)絡(luò)層功能,集成PCI橋功能,支持模塊的軟件運(yùn)行。將處理器的串口通過串口芯片引出兩路的RS232串口至PMC連接器,用于支持端系統(tǒng)模塊的串口調(diào)試和串口輸出功能。
時鐘電路提供PHY芯片和FPGA的25M時鐘;端系統(tǒng)模塊通過PMC接口獲取5V供電,在模塊內(nèi)部通過電源轉(zhuǎn)換芯片完成5v到3.3V、2.5V、1.8V、1.5V及1v的電壓轉(zhuǎn)換,給模塊上各個器件進(jìn)行供電。
由于選用的v5系列FPGA的外形尺寸為35x35mm,除去PMC連接器和外圍邊框所占面積后,實(shí)際留給器件布局的可用尺寸非常緊湊。在電阻電容選型時,將原有的0603封裝電阻電容盡量更換為0402封裝器件,0402封裝電阻電容的印制板面積不到0603的40%。由于數(shù)量眾多,更換后,可以節(jié)省不少的印制板面積。
4.2邏輯設(shè)計
端系統(tǒng)鏈路層發(fā)送過程如下,F(xiàn)PGA從外部雙口獲取要發(fā)送的數(shù)據(jù),通過VL規(guī)整器及調(diào)度器進(jìn)行虛鏈路控制后,根據(jù)配置中對該VL的冗余設(shè)置,將數(shù)據(jù)包選擇分發(fā)到MACl和MAC2通過物理層PHY芯片進(jìn)行發(fā)送;
端系統(tǒng)鏈路層接收過程如下,F(xiàn)PGA從MACl和MAC2上接收到物理層數(shù)據(jù),根據(jù)配置通過完整性檢查、冗余管理后,將消息數(shù)據(jù)提交到FPGA內(nèi)部的雙口緩沖區(qū),網(wǎng)絡(luò)層CPU通過主機(jī)接口訪問接收雙口緩沖區(qū)獲取接收數(shù)據(jù),進(jìn)行上層處理,同時,在FPGA內(nèi)部提供控制寄存器功能,維護(hù)鏈路層通信配置、鏈路層通信統(tǒng)計量等功能。
5.試驗測試
5.1測試平臺搭建及功能驗證
結(jié)合AFDX端系統(tǒng)模塊設(shè)計需求,對模塊功能進(jìn)行測試驗證。測試主要為協(xié)議符合性測試。測試使用設(shè)備包括AFDX網(wǎng)絡(luò)測試設(shè)備、模塊測試工裝、電源、PC機(jī)和工裝電纜。AFDX網(wǎng)絡(luò)測試設(shè)備選用AIM公司ATCS測試臺,被測端系統(tǒng)通過載板安裝在端系統(tǒng)測試工裝內(nèi),測試設(shè)備和被測端系統(tǒng)之間通過網(wǎng)線連接兩路A664接口。測試平臺的連接示意如圖4所示。
在實(shí)驗室條件下,對產(chǎn)品功能性能進(jìn)行全部測試,測試目的是為了檢查AFDX端系統(tǒng)模塊的功能、性能是否符合AFDX端系統(tǒng)模塊的技術(shù)要求。
ATCS測試臺上運(yùn)行PBA.pro軟件及測試腳本,用于對端系統(tǒng)的ARINC664協(xié)議符合性進(jìn)行測試;通過PBA.pro軟件的發(fā)送功能和捕獲功能,對端系統(tǒng)的各項功能進(jìn)行測試。端系統(tǒng)主要測試內(nèi)容包括:
(1)初始化及啟動自檢測;
(2)基本通信測試;
(3)接收測試,包括幀過濾、IP分片、VL帶寬隔離、完整性校驗等;
(4)發(fā)送測試,包括子VL功能、網(wǎng)絡(luò)選擇、冗余功能等;
(5)性能測試,測試ARINC664端系統(tǒng)的線速發(fā)送及接接收功能;
(6)尋址、抖動及ICMP功能測試;
(7)BAG及VL數(shù)目功能測試。
針對端系統(tǒng)的設(shè)計功能需求,對其進(jìn)行充分驗證并得出結(jié)果如表1所示。
6.結(jié)語
本文從某型機(jī)載AFDX端系統(tǒng)模塊的設(shè)計要求出發(fā),通過對AFDX網(wǎng)絡(luò)協(xié)議的理解和研究,設(shè)計實(shí)現(xiàn)了一種基于PCI接口的端系統(tǒng),并給出了該模塊在實(shí)驗室環(huán)境下的試驗測試方法。實(shí)驗測試和工程應(yīng)用結(jié)果表明,該模塊各項指標(biāo)均符合系統(tǒng)要求。