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