文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.045
中文引用格式: 田澤,索高華,張榮華,等. 基于FPGA的AFDX網絡高速數據采集器設計[J].電子技術應用,2016,42(8):179-182.
英文引用格式: Tian Ze,Suo Gaohua,Zhang Ronghua,et al. Design of high speed data acquisition system for AFDX network based on FPGA[J].Application of Electronic Technique,2016,42(8):179-182.
0 引言
試飛系統是一種通過收集、管理飛行試驗過程中所產生的飛行試驗數據,建立相關試驗對象的數據庫管理和應用系統,為航空科學研究提供寶貴的第一手試驗數據,是現代航空技術不斷發展和提高的必備手段[1]。在試飛系統的開發過程中,實時、高速采集飛行數據成為其關鍵性的技術之一,本文提出了一種基于AFDX網絡的高速數據采集器,實時采集試飛試驗中的垂直速度、氣壓高度、俯仰角、風速、風向等關鍵信息,廣泛應用在AFDX網絡大型飛機的試飛系統中。
本文在深入理解航空標準ARINC664P7協議,掌握AFDX關鍵技術的基礎上[2],結合AFDX網絡海量數據高速傳輸的特點,設計并實現了一種基于FPGA的AFDX數據采集器,完成網絡數據的實時采集、錯誤幀過濾、參數挑選和數據轉發等功能。該采集器是一款完全具有自主知識產權的AFDX數據采集器,實現了數據采集系統的技術指標,完全滿足試飛驗證要求,是從標準協議理解、需求分析、架構設計與全面驗證等完全自主研制的AFDX網絡采集設備。
1 AFDX數據采集器工作原理
AFDX數據采集器主要應用于AFDX采集系統中,通過和AFDX網絡交換機的任意端口相連,采集余度數據信息,經AFDX數據采集器處理后,完成100%轉發和數據挑參,AFDX采集器的系統架構如圖1所示。AFDX采集模塊從AFDX1和AFDX2接口處接收AFDX網絡的余度幀數據,經過變壓器(H1102)、PHY(DP83848YB)將數據調理后與主控芯片FPGA(5CEFA7-U484)進行數據交互處理。FPGA將AFDX接口上的數據采集接收后,給每一幀都附加上接收時間戳信息,進行完整性檢查和余度管理處理,處理后的數據一方面參考AFDX挑選參數配置表要求,挑選出需要的數據,按配置表指定的地址空間存儲,等待主機通過PCI接口訪問獲??;另一方面,將余度后的數據添加以太網幀頭信息,并100%地通過AFDX3接口發送出去,再經以太網交換機轉發存儲到記錄盤中。
圖1 AFDX采集模塊系統架構
2 AFDX數據采集器系統設計
2.1 硬件設計
AFDX數據采集器主要包括MAC控制管理模塊、PCI接口控制模塊、完整性檢查模塊、余度管理模塊和挑參控制模塊,其設計框圖如圖2所示,其中灰色的框圖為存儲模塊,其他顏色均為控制模塊。由于AFDX網絡數據傳輸量大、數據速率快,需要對處理的數據進行臨時緩存,加之模塊板卡尺寸的限制,以及采集記錄對FPGA的處理能力和存儲配置的高要求,因此,FPGA采用Altera公司Cyclone Ⅴ系列芯片5CEFA7-U484中的EPCS64SI16N,配置模式為AS模,用于控制外部PHY芯片、PCI接口以及模塊的配置、挑參和轉發等功能,來完成數據的通信和交互。
圖2 AFDX數據采集器設計框圖
AFDX數據采集器各模塊的主要功能如下:
(1)MAC控制管理模塊。MAC采用MII(Media Inde-
pendent Interface)接口,包括一個數據接口以及一個MAC與PHY之間的管理接口。數據接口用于發送和接收的兩條獨立信道;MII管理接口是由時鐘信號和數據信號構成的雙信號接口,主要用來監視和控制PHY[3]。
(2)PCI接口控制模塊。對外PCI接口滿足基本PCI規范,對后端提供一組讀寫控制信號,后端讀寫控制主要是對用戶的橋IP讀寫時序作出相應的翻譯,產生對FPGA內部資源的讀寫控制。
(3)完整性檢查。對于兩個接收AFDX端口來說具有各自獨立的完整性檢查表及標志位寄存器組,該寄存器組對應512個VL_ID,用于記錄首次接收到的數據幀,具體流程如圖3所示。
圖3 接收數據幀完整性檢查流程示意圖
(4)余度管理模塊。在接收端口完成完整性檢查后,將各自的VL_ID序列值及本數據幀的SN號傳送給余度管理模塊,余度管理模塊輪詢調度兩個接收端口的狀態,根據先到先有效原則過濾掉冗余的數據幀[4],具體流程如圖4所示。
圖4 接收數據幀余度管理流程示意圖
(5)挑選參數控制模塊。該模塊包括接收數據幀管道過濾和參數抽取兩大功能。接收數據幀管道過濾是對接收到數據幀依據配置的VL_ID和UDP端口號進行過濾,過濾后的數據幀才符合參數抽取條件。對過濾后的數據幀,根據挑選參數配置信息,抽取特定的飛行數據。AFDX數據幀在以太網幀的基礎上發展而來,最大幀長為1 518 B,最小幀長為64 B,挑選參數的范圍可以是AFDX幀格式中的任意字節。
2.2 軟件設計
AFDX數據采集器作為一種通用采集模塊,采用純硬件實現,板卡本身不帶軟件。與其配合的CPU軟件包括上層應用軟件和驅動軟件兩部分[5],均位于系統上位機中,同時為了更加靈活直觀地表達顯示處理結果,增加PC端的圖形應用界面,方便分析數據,顯示處理結果。
CPU端的驅動軟件僅提供寄存器訪問接口,如初始化、配置加載、參數讀取等,均通過寄存器數據的讀寫操作完成。
上層應用程序主要分為兩部分:(1)PCI接口通信程序,負責調用驅動程序與FPGA進行信息交互;(2)CPU用戶服務程序,主要進行數據的接收、組成INET包、發送等功能。其中上層應用程序的基本操作流程如圖5所示。
圖5 上層應用程序基本操作流程
3 AFDX數據采集器的驗證
AFDX數據采集器的仿真測試平臺如圖6所示,4塊AFDX網絡仿真卡用于仿真機載航空電子系統,2臺AFDX網絡交換機實現余度網絡的數據轉發,AFDX數據采集器接收AFDX網絡交換機的數據信息,完成采集、轉發、挑選參數功能,上報數據采集系統,將以太網包傳送給PC,經界面解析后完成數據的處理及顯示[6]。
圖6 AFDX數據采集仿真測試平臺
本文所設計的AFDX網絡高速數據采集器已經過功能測試、性能測試、協議符合性測試及系統聯試等全面的測試驗證,實測結果表明,AFDX網絡高速數據采集器功能、性能穩定可靠,完全滿足系統設計要求。
AFDX網絡仿真平臺分別發送64 B、512 B和1 518 B等典型網絡數據包對本文涉及的AFDX網絡高速數據采集器進行測試,其采樣率完全滿足設計要求,能完成規定間隔的采集,測試項及測試結果如表1所示。
4 結束語
本文所設計的AFDX網絡高速數據采集器是一款符合ARINC664協議,具有自主知識產權的網絡采集設備,該采集器實時性強、正確性高、性能穩定,完全滿足AFDX網絡數據的采集、轉發、挑選參數要求。本文詳細介紹了AFDX采集記錄器的工作原理及軟硬件實現技術,并搭建仿真測試平臺對其進行功能、性能、協議符合性、系統聯試等全面測試驗證。該模塊設計新穎,尺寸小,功耗低,功能性能穩定可靠,已成功應用于工程實踐中,運行狀態良好,為試飛驗證和AFDX網絡設備的國產化打下了堅定的基礎。
參考文獻
[1] 曹玉林,胡飛,崔鍵.Oracle封鎖技術在試飛系統設計中的應用[J].微處理機,2006,6(6):67-71.
[2] ARINC Specification 664 P7,Avioincs Full Duplex switched Ethernet(AFDX) network[S].2005.
[3] 葉佳字,陳曉剛,張新家.基于AFDX的航空電子通信網絡的設計[J].測控技術,2008,27(6):56-58,60.
[4] 王治,田澤.一種高性能AFDX監控卡的實現技術研究[J].計算機技術與發展,2010,20(8):217-220.
[5] 楊峰,田澤.基于USB接口的AFDX網絡TAP卡設計與實現[J].測控技術2013,32(5):77-81.
[6] 翟正軍.基于AFDX的高速數據采集記錄系統設計與實現[J].測控技術2013,32(5):17-20.