王晨博,孟 博,張 楠
(中航工業(yè)西安航空計算技術研究所,陜西 西安 710068)
航空電子系統(tǒng)的不斷發(fā)展,對系統(tǒng)集成度、傳輸帶寬及安全性提出了更高的要求,傳統(tǒng)的機載總線已經(jīng)不能滿足系統(tǒng)設計需要。AFDX基于IEEE802.3 通信原理和網(wǎng)絡結(jié)構(gòu)[1],具備了高安全性和有界的數(shù)據(jù)傳輸時延,作為主干網(wǎng)絡被廣泛應用。本文設計了一種基于PCIe主機接口的AFDX端系統(tǒng)模塊,同時搭建了測試環(huán)境對AFDX端系統(tǒng)進行了協(xié)議符合性測試。
本文設計的AFDX端系統(tǒng)在符合ARINC664P7規(guī)范的基礎上,同時滿足用戶的特定功能性要求。端系統(tǒng)的接收VL支持256條。AFDX端系統(tǒng)采用標準子卡形式設計,結(jié)合加固框安裝在主模塊上。支持主模塊同AFDX網(wǎng)絡的連接及數(shù)據(jù)通信。AFDX端系統(tǒng)應具備ARINC664數(shù)據(jù)通信功能、網(wǎng)絡管理功能以及數(shù)據(jù)加卸載功能。
AFDX端系統(tǒng)主要實現(xiàn)物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層和傳輸層的功能。物理層基于以太網(wǎng)的PHY芯片提供兩路的通信接口,支持10/100 M速率的數(shù)據(jù)收發(fā)功能。通過FPGA芯片實現(xiàn)ARINC664數(shù)據(jù)鏈路層功能,包括VL調(diào)度、余度管理以及MAC核功能[2]。通過端系統(tǒng)軟件實現(xiàn)網(wǎng)絡層及傳輸層的相關功能。主機模塊實現(xiàn)應用層功能,包括SNMP網(wǎng)絡管理及ARINC615A數(shù)據(jù)加卸載功能。
AFDX端系統(tǒng)采用內(nèi)嵌PPC440處理器硬核的大規(guī)模FPGA芯片,利用可編程邏輯實現(xiàn)ARINC664網(wǎng)絡數(shù)據(jù)的發(fā)送調(diào)度和接收管理等功能,利用PPC440處理器實現(xiàn)UDP/IP協(xié)議棧處理和端口緩沖區(qū)管理。外部配置存儲器,實現(xiàn)端口數(shù)據(jù)緩沖和運行狀態(tài)信息存儲,配置存儲器實現(xiàn)數(shù)據(jù)鏈路層數(shù)據(jù)緩沖存儲。
AFDX端系統(tǒng)主要功能電路包括:FPGA電路、電源電路、接口電路和時鐘電路,其原理如圖1所示。
圖1 端系統(tǒng)功能
AFDX端系統(tǒng)以一片F(xiàn)PGA為核心進行搭建,實現(xiàn)AFDX協(xié)議處理功能。FPGA電路基本配置如下:
(1)配置兩個以太網(wǎng)MAC核,通過MII接口實現(xiàn)對以太網(wǎng)PHY芯片的控制。
(2)配置端系統(tǒng)鏈路層控制功能,支持冗余管理、虛鏈路調(diào)度等。
(3)整板復位控制邏輯。
(4)內(nèi)部提供PowerPC440處理器硬核,實現(xiàn)協(xié)議等功能。
通過邏輯綜合后對資源占用情況的評估,選用Xilinx公司的V5系列芯片。由于AFDX端系統(tǒng)使用PCIe接口,FPGA需要高性能的配置模式。
AFDX端系統(tǒng)采用+5 V直流供電,經(jīng)過電壓轉(zhuǎn)換器件產(chǎn)生3.3 V、2.5 V、1.8 V、1.2 V、1 V等各種電壓。其中FPGA的高速串行I/O工作所需的1 V(MGTAVCC和MGTAVCCPLL)和1.2 V(MGTAVTT)兩種電壓,紋波要求不能大于25 mVpp,需要使用線性電源供電。除了要求采用性能良好的電源模塊以外,還需要作一些額外處理。
AFDX端系統(tǒng)和主機之間通過PCIe總線傳輸數(shù)據(jù)和命令。端系統(tǒng)FPGA提供一路PCIe硬核,該硬核最多支持X8通道,可以滿足端系統(tǒng)與主機之間進行數(shù)據(jù)通信的需求。PCIe接口使用FPGA提供的高速串行I/O。根據(jù)PCIe規(guī)范要求,ARINC664端系統(tǒng)在PCIe總線發(fā)送信號線和時鐘信號線上串接0402封裝的0.1uF去耦電容。
AFDX端系統(tǒng)的PCIe總線時鐘由主機提供,FPGA內(nèi)部處理系統(tǒng)時鐘和配置加載時鐘由端系統(tǒng)上設計的單端晶振提供。系統(tǒng)時鐘經(jīng)過FPGA內(nèi)部鎖相環(huán)產(chǎn)生兩種頻率的時鐘信號,分別提供給FPGA內(nèi)嵌PPC440處理器工作時鐘和內(nèi)部PLB總線的工作時鐘。
AFDX端系統(tǒng)采用單端晶振提供以太網(wǎng)PHY芯片工作時鐘和FPGA存儲器接口時鐘,FPGA存儲器接口時鐘在FPGA內(nèi)部經(jīng)鎖相環(huán)后,生成時鐘信號用于存儲器的讀寫。
邏輯設計主要包括PCIe核、PPC440核和端系統(tǒng)邏輯等部分。
AFDX端系統(tǒng)鏈路層發(fā)送過程如下,FPGA從發(fā)送緩沖區(qū)獲取要發(fā)送的數(shù)據(jù),通過VL規(guī)整器及調(diào)度器進行虛鏈路控制后,根據(jù)配置中對該VL的冗余設置,將數(shù)據(jù)包選擇分發(fā)到MAC1和MAC2后通過物理層PHY芯片進行發(fā)送。
AFDX端系統(tǒng)鏈路層接收過程如下,FPGA從MAC1和MAC2上接收到物理層數(shù)據(jù),根據(jù)配置通過完整性檢查、冗余管理后,將消息數(shù)據(jù)提交到緩沖區(qū),進行上層處理。同時,在FPGA內(nèi)部提供控制寄存器功能,維護鏈路層通信配置、鏈路層通信統(tǒng)計量等功能。
AFDX端系統(tǒng)軟件主要由協(xié)議棧軟件、SNMP網(wǎng)絡管理軟件和ARINC 615A加卸載軟件組成。
協(xié)議棧軟件主要完成數(shù)據(jù)報封裝、數(shù)據(jù)報分片、片的重組、分片控制等功能[3]。SNMP網(wǎng)絡管理軟件在模塊上建立SNMP代理進程及管理信息庫(MIB),實現(xiàn)網(wǎng)絡管理和監(jiān)控。通過端系統(tǒng)與網(wǎng)絡管理者通信,提供當前設備的狀態(tài)信息及端口統(tǒng)計值,檢查當前的異常情況。ARINC 615A加卸載軟件作為目標硬件,與系統(tǒng)中的加載器進行通信,完成FIND,Information,Upload,Download操作,實現(xiàn)數(shù)據(jù)的加卸載。
結(jié)合AFDX端系統(tǒng)模塊設計需求,對其功能進行測試驗證,搭建測試驗證平臺。測試驗證平臺由自研的通信測試模塊、直流電源、模塊測試工裝、PC機和通信電纜組成。AFDX端系統(tǒng)作為被測設備,按照通信測試模塊發(fā)送的指令完成ARINC664P7相關的協(xié)議符合性測試。
AFDX端系統(tǒng)測試項目主要包括基礎通信測試、虛擬鏈路測試、包間隔測試、隊列/采樣/SAP端口測試和冗余管理測試。經(jīng)測試驗證,AFDX端系統(tǒng)的功能性能均滿足技術指標要求。
本文通過對ARINC664 Part7標準的理解和研究,設計實現(xiàn)了一種符合ARINC664協(xié)議要求的AFDX端系統(tǒng)模塊,并給出了該模塊的試驗測試方法。試驗測試和工程應用結(jié)果表明,該模塊各項指標均滿足設計要求,符合協(xié)議標準。