基于CPCI接口的AFDX終端測試板卡通訊模塊設(shè)計研究
AFDX終端系統(tǒng)模塊設(shè)計
本文引用地址:http://www.ex-cimer.com/article/203230.htm本文設(shè)計的AFDX終端通訊系統(tǒng)包括FPGA控制模塊、PCI接口模塊、雙冗余PHY模塊。為了設(shè)計高可靠性的AFDX終端系統(tǒng),設(shè)計了2個獨立的雙冗余交換網(wǎng)絡(luò),從而保證系統(tǒng)的可靠性信息傳輸。系統(tǒng)硬件架構(gòu)如圖1所示。
CPCI接口模塊
CPCI接口模塊由2個部分組成,第一部分主要實現(xiàn)PCI總線協(xié)議功能,實現(xiàn)FPGA與上位機進行數(shù)據(jù)的通信;第二部分主要實現(xiàn)從CPCI接口采電,并在板上進行電源管理,對整個板卡實現(xiàn)支持熱插拔的電源供應(yīng)。
FPGA控制模塊
FPGA控制模塊是整個板卡的控制核心,它包含了AFDX協(xié)議棧的IP硬核,實現(xiàn)了AFDX協(xié)議棧特有的,如流量整形、虛擬鏈路調(diào)度、完整性檢查、冗余管理、以太網(wǎng)MAC層硬件實現(xiàn)等功能以及其它如與PCI9056通信、內(nèi)部數(shù)據(jù)的緩存管理等功能。支持10/100Mbps標(biāo)準(zhǔn)的航空實時以太網(wǎng)數(shù)據(jù)的可靠性傳輸。
以數(shù)據(jù)下傳為例介紹FPGA控制模塊的工作流程:首先在PC機上運行上層測試軟件,通過它來設(shè)置發(fā)送通道的相應(yīng)參數(shù),該信息通過CPCI接口傳送至可編程芯片,可編程芯片內(nèi)的處理器單元根據(jù)PC機下傳的參數(shù)來設(shè)置發(fā)送通道的相關(guān)寄存器參數(shù),同時該消息經(jīng)過流量整形模塊,進行規(guī)劃化處理,使其輸出的數(shù)據(jù)幀是規(guī)整的、沒有時延抖動的。來自流量整形模塊的數(shù)據(jù)幀由虛擬調(diào)度模塊添加序列號(SN)后,發(fā)往冗余管理模塊。冗余管理模塊將需要發(fā)送消息復(fù)制發(fā)送到2個獨立的冗余MAC鏈路層中。 MAC模塊對數(shù)據(jù)幀添加幀序列校驗,發(fā)往PHY模塊。PHY層模塊將可編程芯片內(nèi)的MAC層的數(shù)據(jù)幀進行電平轉(zhuǎn)換后傳送至其他標(biāo)準(zhǔn)航空以太網(wǎng)PHY設(shè)備中。
雙冗余PHY物理接口
雙冗余的PHY模塊實現(xiàn)以太網(wǎng)物理層的接口功能,實現(xiàn)AFDX航空以太網(wǎng)的可靠性傳輸,F(xiàn)PGA內(nèi)部的航空以太網(wǎng)MAC層通過MII接口與PHY連接,完成數(shù)據(jù)流的通信。MII (Media Independent Interface 介質(zhì)無關(guān)接口) 接口,即媒體獨立接口,它是IEEE-802.3定義的以太網(wǎng)行業(yè)標(biāo)準(zhǔn)。它包括一個數(shù)據(jù)接口,以及一個MAC和PHY之間的管理接口。數(shù)據(jù)接口包括分別用于發(fā)送器和接收器的兩條獨立信道。每條信道都有自己的數(shù)據(jù)、時鐘和控制信號。MII數(shù)據(jù)接口總共需要16個信號。管理接口是個雙信號接口:一個是時鐘信號,另一個是數(shù)據(jù)信號。通過管理接口,上層能監(jiān)視和控制PHY。本設(shè)計中采用的是雙PHY芯片共用一個25MHz的外部晶振提供工作時鐘,這樣可以保證雙冗余的PHY完全工作同步。
CPCI接口電源電路分析
熱插拔功能主要用于CPCI設(shè)備,熱插拔功能允許板卡隨意從設(shè)備中插拔而不影響設(shè)備操作系統(tǒng)的正常運行。如圖2所示,LTC1643L是一個允許CPCI型設(shè)備進行安全插入和拔出的電源管理控制器,將系統(tǒng)的CPCI插槽電源接入到AFDX板卡,圖中IRF7413是一個N型MOS管,用于控制3.3V和5V的電源供應(yīng),而-12V和+12V電源由片上開關(guān)供應(yīng),所有的電壓的上升時間可以達(dá)到一個可編程的速率,同時還有電源過流故障時的短路保護。
PCI9030的引腳BD_SEL#是CPCI接口中最小的插針之一,BD_SEL#連接LTC1643L的使能引腳,低電平時有效開啟LTC1643L工作并同時給板卡供電。R10是一個0.018歐姆,0.5W,精度為1%的精密電阻,用于過流保護的電壓檢測電阻。當(dāng)板卡發(fā)生故障導(dǎo)致電流超過額定值之后,R10兩端的壓差將增大,SENSE引腳將此過流信息反饋至LTC1643L電源管理器,同時切斷電源供應(yīng),起到電源過流保護的功能。
FPGA與PCI9030接口模塊時序分析
在PCI9030與本地FPGA之間的通信分為直接主模式(Direct Master Mode)、直接從模式(Direct Slave Mode)和DMA模式。由于PCI通信要AFDX網(wǎng)絡(luò)的10M/100M通訊速率,這里采用直接從模式,工作時序如圖3所示,PCI9030為主,F(xiàn)PGA為從。LHOLD為輸出,聲明使用本地地址數(shù)據(jù)總線,LHOLDA為本地總線申請使用成功的返回信號。LBE[3:0]#為本地總線使能控制引腳,這里選擇32位寬的數(shù)據(jù)總線。LA[31:2]為地址總線,在本地總線申請使用成功信號返回且本地總線位寬使能有效后,開始輸出地址信號。ADS#為起始信號,表明地址總線有效且開始一個有效的總線訪問,同時一個周期后就可以讀數(shù)據(jù)或者寫數(shù)據(jù)了,LW/R#低電平為讀高電平為寫。為了與PCI9030進行高效的數(shù)據(jù)通信,F(xiàn)PGA里面必須有相應(yīng)的本地數(shù)據(jù)通信接口。
WinDriver軟件的驅(qū)動生產(chǎn)
通過PLXMON軟件對PCI9056的配置芯片進行配置后,可以利用Windows操作系統(tǒng)中WinDriver自動生成PCI驅(qū)動程序,步驟如下:首先啟動WinDriver Wizard,從開始菜單,選擇“程序 | WinDriver | Driver Wizard”;然后在Driver Wizard 菜單,單擊“File | New Project”菜單來新建一個工程,從即插即用列表中選擇顯示卡,通過生產(chǎn)商的名字來選定。單擊“Memory”標(biāo)簽。該顯示卡的三個內(nèi)存范圍顯示出來。內(nèi)存范圍中的BAR2映射的是FPGA內(nèi)的RAM緩存塊和專用寄存器,根據(jù)FPGA內(nèi)核對這些緩存塊和寄存器的可讀寫定義,可以在BAR2映射的區(qū)域里進行讀寫,若寫進去的數(shù)值跟讀出來的數(shù)值一致,表面CPCI接口通信正常。最后一步為生成驅(qū)動代碼:單擊“Build | Generate code”菜單, Driver Wizard 將產(chǎn)生操作硬件資源的函數(shù),可以在用戶模式下在應(yīng)用程序中直接使用這些函數(shù),這個向?qū)н€會產(chǎn)生一個樣本程序來使用這些函數(shù)操作硬件,上層界面的開發(fā)可以直接調(diào)用這些API函數(shù)。
總結(jié)
本論文中設(shè)計的帶有CPCI接口的AFDX終端板卡通訊模塊的設(shè)計,充分利用PCI總線傳輸速度快和CPCI接口支持熱插拔的特點,使得設(shè)計能滿足雙冗余AFDX的高速數(shù)據(jù)傳輸,使用方便和設(shè)備體積相對較小,便于攜帶,該板卡已經(jīng)實現(xiàn)AFDX通信協(xié)議并批量生產(chǎn)銷售。此論文的研究為AFDX網(wǎng)絡(luò)交換機的研發(fā)打下了良好的基礎(chǔ)。
參考文獻(xiàn):
[1] Charara H, Scharbarg J L, Ermont J, etal. Methods for Bounding End-to-end Delays on an AFDX Networks [C]// Proceedings of the 18th Euromicro Conference on Real-time Systems. [S. l.]: IEEE Press, 2006.
[2] LTC1643L datasheet,PCI-Bus Hot Swap Controller,LINEAR TECHNOLOGY.
[3] PCI 9030 Data Book, PLX TECHNOLOGY.
[4]陳昕,周擁軍,蔣文寶等. AFDX協(xié)議性能分析及調(diào)度算法研究[J].電子學(xué)報,2009,37(5):1000-1005.
[5]張志,翟正軍,姚方圓.基于FPGA的AFDX端系統(tǒng)協(xié)議芯片的設(shè)計與實現(xiàn)[J].計算機測量與控制,2010,18(2):422-424.
通信相關(guān)文章:通信原理
交換機相關(guān)文章:交換機工作原理
晶振相關(guān)文章:晶振原理
評論