孟博,徐玉杰,王晨博
(中航工業(yè)西安航空計算技術(shù)研究所,陜西西安,710068)
關(guān)鍵字:FC;PCIE;網(wǎng)絡(luò)監(jiān)控
隨著機載航電系統(tǒng)網(wǎng)絡(luò)綜合化程度的不斷提高,機載設(shè)備規(guī)模的不斷擴大,機載網(wǎng)絡(luò)中傳輸?shù)囊曨l、音頻、控制等數(shù)據(jù)信息量急劇增長,這對網(wǎng)絡(luò)的通信帶寬、高效性、實時性和可靠性提出了更高的要求,對網(wǎng)絡(luò)的健康狀況評估和故障原因定位等也變得更加復雜[1]。因此,對FC網(wǎng)絡(luò)中主要功能數(shù)據(jù)(如ASM消息和ELS幀等)進行實時監(jiān)控和存儲分析就顯得尤為重要。本文設(shè)計出了一種基于FC的機載網(wǎng)絡(luò)監(jiān)控單元,能夠?qū)C網(wǎng)絡(luò)中特定的幀數(shù)據(jù)進行實時監(jiān)控和數(shù)據(jù)存儲,為FC網(wǎng)絡(luò)的健康狀況評估和故障原因定位等工作提供技術(shù)支持。
作為主干網(wǎng)絡(luò),F(xiàn)C總線網(wǎng)絡(luò)將航電、飛控和機電等各個子系統(tǒng)進行互聯(lián),以兩個相互獨立的交換機為核心部件,采用雙余度架構(gòu),構(gòu)建可靠容錯的FC交換網(wǎng)絡(luò)平臺,實現(xiàn)FCAE-ASM協(xié)議通信、網(wǎng)絡(luò)管理、時鐘管理等功能。
對整個FC網(wǎng)絡(luò)的監(jiān)控,由FC網(wǎng)絡(luò)交換機、FC監(jiān)控單元和后端數(shù)據(jù)管理系統(tǒng)來實現(xiàn),連接關(guān)系示意圖如圖1所示。圖中F代表交換機的的普通端口,M代表交換機的監(jiān)控端口,F(xiàn)C網(wǎng)絡(luò)中各設(shè)備節(jié)點與交換機普通端口相連進行數(shù)據(jù)交換與傳輸。

圖1 FC網(wǎng)絡(luò)監(jiān)控架構(gòu)示意圖
FC監(jiān)控單元通過FC接口與交換機監(jiān)控端口相連進行數(shù)據(jù)監(jiān)控,并通過標準PCIE接口與數(shù)據(jù)管理系統(tǒng)進行耦合,由數(shù)據(jù)管理系統(tǒng)記錄網(wǎng)絡(luò)監(jiān)控數(shù)據(jù)。監(jiān)控端口提供三種監(jiān)控方式,分別為輸入端口監(jiān)控、輸出端口監(jiān)控和消息ID監(jiān)控[2]。輸入端口監(jiān)控方式只能針對交換機一個端口進行監(jiān)控,會將所有經(jīng)過該端口進入交換機的光纖網(wǎng)絡(luò)數(shù)據(jù)拷貝一份通過監(jiān)控端口發(fā)送給監(jiān)控單元。輸出端口監(jiān)控方式同樣只針對交換機一個端口進行監(jiān)控,將所有從該端口轉(zhuǎn)出的光纖網(wǎng)絡(luò)數(shù)據(jù)拷貝一份通過監(jiān)控端口發(fā)送給監(jiān)控單元。消息ID監(jiān)控方式可以對所有進入交換機的數(shù)據(jù)幀進行選擇性監(jiān)控,而不僅僅局限于監(jiān)控某一個端口。目前普遍采用消息ID監(jiān)控方式,在該模式下,交換機會將所有進入交換機的FC幀和預先加載的監(jiān)控表進行對比匹配,如果此消息在監(jiān)控表中則將該消息通過監(jiān)控單元轉(zhuǎn)發(fā)給數(shù)據(jù)管理系統(tǒng)進行保存。
根據(jù)FC-ASM協(xié)議處理的要求,F(xiàn)C網(wǎng)絡(luò)監(jiān)控單元采用FPGA作為核心處理器來實現(xiàn)FC接口和PCIE接口相關(guān)功能。該FPGA擁有8 Lanes PCIe硬核,具備高速串行RocketI/O接口,支持150Mbps~6.5Gbps通信速率,符合高速PCIe接口和FC接口通信編碼和電平特性。
FC監(jiān)控單元對外提供FC電信號,監(jiān)控單元FC接口與交換機監(jiān)控端口相連,實現(xiàn)對FC網(wǎng)絡(luò)的數(shù)據(jù)監(jiān)控功能。其支持FC-AE-ASM協(xié)議,支持可配置的1.0625Gbps和2.125Gbps雙通道余度FC通信速率,支持點到點、交換式網(wǎng)絡(luò)拓撲。
PCIe接口是數(shù)據(jù)管理系統(tǒng)和監(jiān)控單元進行數(shù)據(jù)交互的接口,數(shù)據(jù)管理系統(tǒng)對FC監(jiān)控單元所有資源的訪問都是通過PCIe接口實現(xiàn)的,PCIE接口主要實現(xiàn)以下功能:1)通過配置寄存器映射FC設(shè)備的控制接口;2)實現(xiàn)主機和FC設(shè)備的大規(guī)模數(shù)據(jù)交互;3)實現(xiàn)FLASH通信配置數(shù)據(jù)存儲。
FC監(jiān)控單元連接到網(wǎng)絡(luò)交換機,用于捕獲和存儲FC網(wǎng)絡(luò)中轉(zhuǎn)發(fā)的數(shù)據(jù),為系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)記錄提供功能支持。FC網(wǎng)絡(luò)監(jiān)控單元支持ASM數(shù)據(jù)監(jiān)控,同時支持ELS數(shù)據(jù)監(jiān)控[3]。
監(jiān)控單元以軟件和硬件結(jié)合形式對不同的幀類型進行監(jiān)控,主機系統(tǒng)通過配置本地寄存器來確定對應(yīng)的監(jiān)控方案,將相關(guān)的監(jiān)控條件寫入監(jiān)控表,通過PCIE接口啟動監(jiān)控功能。FC監(jiān)控單元功能部分主要包括主機接口、FC接口、余度收發(fā)處理、DMA引擎和CAM表控制等組成。主機接口實現(xiàn)標準PCIe接口,與數(shù)據(jù)管理系統(tǒng)互聯(lián);FC接口實現(xiàn)FC-0、FC-1以及FC-2層的處理功能,與網(wǎng)絡(luò)交換機互聯(lián);余度收發(fā)處理用于實現(xiàn)數(shù)據(jù)的余度收發(fā)和余度仲裁功能;DMA引擎用于實現(xiàn)通信數(shù)據(jù)的高速存取,是數(shù)據(jù)接收功能的重要組成部分;CAM表控制用于實現(xiàn)復位、寫入、查找CAM表功能。
監(jiān)控單元將接收到的FC幀數(shù)據(jù)存放至接收緩存中,并對該幀數(shù)據(jù)進行類型判斷,主要分為ASM協(xié)議數(shù)據(jù)和ELS數(shù)據(jù)。如果幀類型為ASM非數(shù)據(jù)塊,依據(jù)事先確定的監(jiān)控方案,查找比對CAM表,如果比對相同,則直接按照雙余度處理方式提交至DMA引擎,存儲到監(jiān)控緩沖中,如果該數(shù)據(jù)幀所有目標字段比對都不相同,則直接丟棄。如果幀類型為數(shù)據(jù)塊,由于數(shù)據(jù)塊各分幀幀頭相同,因此只對第一幀幀頭進行查找比對,如果符合篩選條件,則將數(shù)據(jù)塊所有分幀提交至DMA引擎,存儲到監(jiān)控緩沖中,如果不符合,則直接丟棄。
ELS數(shù)據(jù)幀主要用于FC網(wǎng)絡(luò)管理維護,包括上/下網(wǎng)控制,網(wǎng)絡(luò)狀態(tài)獲取,網(wǎng)絡(luò)時鐘同步和維護等功能。監(jiān)控單元接收到的ELS幀包括發(fā)送給本地ELS幀和非本地ELS幀,監(jiān)控單元只對非本地ELS幀進行監(jiān)控。如果接收到的ELS幀目的ID為監(jiān)控單元,即本地ELS幀,則直接轉(zhuǎn)交到ELS接收緩沖,上報到協(xié)處理器;如果接收到非本地ELS幀,查找比對CAM表,如果比對相同,則直接存儲到監(jiān)控緩沖中,ELS幀監(jiān)控不需要進行余度處理。
當數(shù)據(jù)接收緩沖區(qū)按照預先配置的大小收滿后,F(xiàn)C監(jiān)控子卡會以中斷的方式通知主機來讀取監(jiān)控到的FC數(shù)據(jù),F(xiàn)C監(jiān)控單元以幀為單位進行數(shù)據(jù)幀緩存,使用連續(xù)存儲方式保存。
為了驗證網(wǎng)絡(luò)監(jiān)控單元的功能、性能指標,本文設(shè)計的測試驗證設(shè)備系統(tǒng)結(jié)構(gòu)如圖2所示。測試設(shè)備主要包括主機激勵源端和被測模塊端,主機激勵源為測試設(shè)備提供FC監(jiān)控數(shù)據(jù)源,并實現(xiàn)對FC監(jiān)控單元的管理控制功能[4]。

圖2 測驗驗證設(shè)備系統(tǒng)結(jié)構(gòu)
主機激勵源主要包括CPU模塊、FC通信節(jié)點和FC交換模塊。CPU模塊模擬主機系統(tǒng),通過PCIE接口實現(xiàn)對FC通信節(jié)點和監(jiān)控單元的數(shù)據(jù)傳輸和管理控制。FC通信節(jié)點對外提供1.0625Gbps和2.125Gbps可配置的FC接口,作為數(shù)據(jù)源可對外發(fā)送FC-AE-ASM消息和ELS幀。FC交換模塊對外提供多個FC交換接口,可將通信節(jié)點發(fā)送的幀數(shù)據(jù)信息轉(zhuǎn)發(fā)給被測監(jiān)控單元。
通過網(wǎng)絡(luò)驅(qū)動軟件可配置不同的監(jiān)控策略,并采用故障注入方式使激勵源產(chǎn)生錯CRC、無效EOF和缺失EOF等協(xié)議錯誤幀數(shù)據(jù)。經(jīng)測試驗證,該FC監(jiān)控單元能夠準確監(jiān)控幀數(shù)據(jù),甄別錯誤幀數(shù)據(jù),功能性能各項指標均滿足設(shè)計要求。
結(jié)合FC總線網(wǎng)絡(luò)的技術(shù)特點和應(yīng)用需求,本文提出了一種基于FC的機載網(wǎng)絡(luò)監(jiān)控單元設(shè)計方案,詳細介紹了該監(jiān)控單元的系統(tǒng)構(gòu)架和監(jiān)控機制。該監(jiān)控單元能夠?qū)崿F(xiàn)對FC網(wǎng)絡(luò)中ASM數(shù)據(jù)塊、非數(shù)據(jù)塊和ELS幀等數(shù)據(jù)的正確監(jiān)控,為FC網(wǎng)絡(luò)的健康狀況評估和故障原因定位等工作提供可靠的技術(shù)手段。