文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.04.003
中文引用格式: 張榮華,劉紅紅,王瑤,等. AFDX網絡端系統芯片設計與實現[J].電子技術應用,2016,42(4):11-14.
英文引用格式: Zhang Ronghua,Liu Honghong,Wang Yao,et al. Research and design of AFDX network end-system chip[J].Application of Electronic Technique,2016,42(4):11-14.
0 引言
AFDX網絡采用全雙工、雙余度、虛鏈路、帶寬固定分配、完整性檢查和余度管理等措施,使之滿足航空電子系統通信對高帶寬、確定性、實時性和高可靠的通信服務要求[1,2]。
AFDX端系統作為AFDX網絡的核心組成部分,廣泛應用于引擎、飛行控制、導航以及其他對操作平臺至關重要的系統中[3]。
本文在深入理解AFDX協議,掌握關鍵技術的基礎上,針對AFDX網絡各節點之間的通信設計并實現了一款協議處理SoC芯片,該芯片是一款完全具有自主知識產權的核心AFDX網絡端系統芯片,實現了ARINC664協議所規定的技術指標,是從標準協議理解、系統定義到芯片設計與驗證、封裝、測試等完全自主研制的系統級芯片。
1 芯片設計與實現
1.1 芯片功能
AFDX端系統芯片實現了AFDX網絡端系統的鏈路層、網絡層(IP協議)、傳輸層(UDP協議)以及三類通信端口(采樣、隊列、SAP)的全部功能,采用32位PCI總線與主機進行通信和數據傳輸,通過兩個獨立可配置的10 M/100 M MAC與AFDX網絡互聯,實現雙余度網絡控制。主要功能:(1)內嵌低功耗ARM922T處理器,工作頻率200 MHz;(2)具有完整的AFDX網絡協議棧功能;(3)發送支持128個VL(含4個Sub-VL),發送BAG支持2K(K=-1,0,1,…,7);(4)接收支持4 096個VL,技術延遲不大于150 μs;(5)支持完整性檢查和余度管理;(6)通過硬件實現快速發送調度和虛擬鏈路過濾;(7)具有64位高分辨率時間同步;(8)支持采樣、列隊和服務訪問端口配置;(9)支持多種MIB統計(CRC、非字節對齊、超短幀、超長幀、VLID錯、常數域錯等);(10)內核電壓1.8 V,I/O電壓3.3 V。
1.2 芯片架構設計
AFDX網絡端系統芯片架構設計采用SoC片上系統實現,提出一種專用數據通道結構、控制流與數據流分開的設計,在以太網接口與PCI總線接口之間構建專用、快速的協議處理通道,數據收發不通過片上總線,處理器只是通過片上總線控制數據的解析和收發,專用數據通道內部設置多個控制器和命令鏈表隊列,在不需要片上處理器和主機過多干預的情況下,實現數據的自動收發和狀態更新。AFDX網絡端系統芯片架構見圖1[4]。
1.2.1 硬件設計
AFDX網絡端系統芯片的硬件設計主要包括AFDX協議處理單元、處理器、存儲器、外圍接口控制、PCI主機接口等。
AFDX協議處理單元是AFDX網絡端系統芯片設計的核心,也被稱為中央處理單元(CCU),負責完成PCI接口與兩個獨立的MAC接口之間的數據接收和發送。CCU結合片上處理器以及AFDX協議堆棧嵌入式軟件,對從MAC端口接收的數據進行完整性檢查和余度管理,完成數據與包頭的分離、數據部分校驗和的計算,為片上處理器進行協議棧處理提供必要信息。CCU發送部分能支持128路VL同時工作,接收部分支持4 096個VL,采用位圖寄存器實現了各路VL對片內存儲器的共用。CCU內部原理框圖如圖2所示。
芯片采用ARM922T處理器作為其核心處理器,端系統芯片集成的微處理器及在處理器上運行的協議棧軟件提高了芯片的智能化程度,不再需要主機干預,自動完成下層協議的打包或解包,大大減少主機處理器的負擔,提高消息的處理速度[5]。
存儲器采用SDRAM控制器和外部虛線(External Bus Interface,EBI)接口進行控制,EBI提供了一個靈活的外部存儲器接口,用來確保外部設備和嵌入式存儲器控制器之間的數據傳輸[6]。
外圍接口控制包括片上總線、中斷控制器、DMA控制器、MAC介質訪問控制器、PHY配置管理器、定時控制器、看門狗、通用輸入輸出接口、UART接口、調試接口等。
PCI接口主要實現了AFDX終端系統與PCI總線的連接,與PCI總線上的主機內存進行數據交換,PCI接口包含3個不同類型的通道:DMA類型的主通道、寄存器類型的從通道0和FIFO類型的從通道1。
1.2.2 軟件設計
為滿足以端系統芯片為核心構建的AFDX網絡端系統應用需求,基于ARINC664通信協議,對芯片各模塊的功能與性能設計進行分析,配套規劃的軟件包括驗證軟件和功能軟件。
驗證軟件依據驗證規范進行設計,包括芯片驗證過程中的虛擬原型驗證、FPGA原型驗證及樣片驗證,功能覆蓋芯片設計的每一個功能、性能點,有效保障了芯片設計的正確性。功能軟件為芯片系統應用時為用戶提供的軟件,內容涉及底層傳輸軟件、主機驅動軟件,結構圖如圖3所示。
底層傳輸軟件:主要實現了片上邏輯初始化、配置表加載與查詢、中斷處理、調試與錯誤信息處理、UDP/IP協議解析功能和采樣、隊列和SAP端口的數據收發等功能。
主機驅動軟件:提供上層應用軟件和底層傳輸軟件的數據通信通路,包括寄存器的讀寫訪問、通信端口的創建與管理、主機與AFDX網絡端系統外部存儲器之間的數據搬運等功能。
1.3 工作原理
端系統芯片協議處理由下向上包括:物理鏈路層、網絡層(IP協議)、傳輸層(UDP協議)。在物理鏈路層,發送端通過虛擬鏈路(Virtual Link)和帶寬分配間隙(Bandwidth Allocation Gap)進行交通整形,接收端通過完整性檢查(IC)和冗余管理對接收數據進行過濾和檢查;在網絡層和傳輸層,采用成熟的UDP/IP協議對消息進行處理,向上則通過采樣、隊列、SAP三類端口與應用層進行數據傳輸[7]。
AFDX網絡端系統芯片通過片上處理器運行AFDX協議堆棧,從PCI接口獲取消息信息,驅動PCI橋,直接從主機內存提取數據并完成UDP、IP協議的封裝,AFDX端系統芯片上實現了發送調度、錯誤注入、SN號添加和MAC數據發送。芯片集成了接收幀錯誤檢查、網絡過濾、完整性檢查和余度管理等功能,當接收到一幀有效數據,接收控制電路通過中斷通知片上微處理器進行協議處理,包括幀的解包、分片的組裝,最終根據通信配置表將處理好的消息寫到主機內存,通知主機CPU進行處理。這種方式大大減少了CPU的載荷,提高主機系統性能,在高載荷網絡中尤為重要[8]。
1.4 物理實現
由于完全層次化設計流程在模塊接口處優化能力有缺陷,因此,AFDX網絡端系統芯片在處理器物理設計時局部采用半層次化設計流程,有利于更好地優化模塊邊界邏輯,半層次化設計流程仍然采用自動布局布線工具,通過人工布局、時鐘樹生成和時序調整來主導芯片版圖設計。對于復雜模塊,首先進行模塊級布局和邏輯綜合,在完成post-place及post-clock步驟之后集成到頂層,頂層仍然進行flatten時序優化及布線優化。端系統芯片版圖如圖4所示,該版圖設計已申請并獲得國家布圖保護專利授權。
AFDX網絡端系統芯片采用CBGA480封裝形式,設計規模為670萬門,達到0.18 μm CMOS工藝設計,芯片管芯總共有482個引腳,引線最高工作頻率為100 MHz。
2 技術優勢
從國外公司提供的AFDX網絡端系統產品來看,國外公司基本采用FPGA芯片加嵌入式處理器芯片的解決方案,這種實現方式需要占用大量系統資源,處理效率較低,設計復雜,功耗較大。
AFDX端系統芯片采用片上處理器,通過PCI總線控制器直接與主機存儲器進行數據交換,大大降低了主機的系統開銷,縮短了協議處理的時間和數據拷貝。與國外同類產品相比,具有功耗低、面積小、延遲小、功能全等特點,主要表現在:(1)功耗小于1 W;(2)尺寸僅為37.5 mm×37.5 mm;(3)發送技術延時參數平均69 μs,接收技術延遲參數平均4 μs,遠遠小于ARINC664標準150 μs的設計要求;(4)支持10/100 M的網絡傳輸速率;(5)符合ARINC664協議規范。
基于該芯片研制的PMC卡與國外同類產品相比具有以下優勢:(1)器件數目減少到1/2;(2)可靠性提高1/4;(3)重量減輕到1/2;(4)器件功耗為1/3。
3 芯片驗證
AFDX網絡端系統芯片已經過ATE測試、功能性能測試、協議符合性測試、系統應用驗證和定型評測,實測流量達到了100 Mb/s全載荷發送,滿足ARINC664 Part7協議要求。具體測試內容及測試結果如表1所示。
4 總結
AFDX端系統芯片是一款完全符合ARINC664協議、具有自主知識產權的協議處理芯片,該芯片設計新穎,功耗低,面積小,功能性能穩定可靠,滿足AFDX網絡系統應用要求。該芯片已進行了ATE、功能性能、協議符合性、系統應用等充分驗證。驗證結果表明,該芯片符合ARINC664協議要求,功能、性能滿足AFDX網絡實時性、確定性的系統要求。該芯片協議處理軟件已經過GJB5000測試,芯片技術成熟,已成功定型,對后續基于該芯片的模塊設計及應用解決方案具有重要的參考價值。
參考文獻
[1] ARINC664.Aircraft data network-Part7:deterministic networks[S].ARINC,2003.
[2] 田靖,田澤.AFDX-ES SoC虛擬仿真平臺的構建與應用[J].計算機技術與發展,2010,20(8):192-194.
[3] 李大鵬,王世奎,李雯.AFDX端系統發送單元的研究與實現[J].航空計算技術,2012,42(2):128-131.
[4] 張志,翟正軍,姚方圓.基于FPGA的AFDX端系統協議芯片的設計與實現[J].計算機測量與控制,2010,18(2):422-425.
[5] 楊海波,田澤,蔡葉芳,等.FC IP軟核的仿真與驗證[J].計算機技術與發展,2009,19(9):168-172.
[6] 張榮華,田澤,韓煒.AFDX網絡端系統芯片架構的研究與設計[J].計算機技術與發展,2011,21(8):166-168.
[7] 劉蕓,王紅春,王兵.AFDX端系統協議軟件設計與實現[J].電光與控制,2012,19(11):71-76.
[8] 許燕婷.AFDX端系統協議棧虛擬鏈路層分析及仿真研究[D].上海:上海交通大學,2011.