基于CPCI接口的AFDX終端測試板卡通訊模塊設計研究
AFDX終端系統模塊設計
本文引用地址:http://m.butianyuan.cn/article/203230.htm本文設計的AFDX終端通訊系統包括FPGA控制模塊、PCI接口模塊、雙冗余PHY模塊。為了設計高可靠性的AFDX終端系統,設計了2個獨立的雙冗余交換網絡,從而保證系統的可靠性信息傳輸。系統硬件架構如圖1所示。
CPCI接口模塊
CPCI接口模塊由2個部分組成,第一部分主要實現PCI總線協議功能,實現FPGA與上位機進行數據的通信;第二部分主要實現從CPCI接口采電,并在板上進行電源管理,對整個板卡實現支持熱插拔的電源供應。
FPGA控制模塊
FPGA控制模塊是整個板卡的控制核心,它包含了AFDX協議棧的IP硬核,實現了AFDX協議棧特有的,如流量整形、虛擬鏈路調度、完整性檢查、冗余管理、以太網MAC層硬件實現等功能以及其它如與PCI9056通信、內部數據的緩存管理等功能。支持10/100Mbps標準的航空實時以太網數據的可靠性傳輸。
以數據下傳為例介紹FPGA控制模塊的工作流程:首先在PC機上運行上層測試軟件,通過它來設置發(fā)送通道的相應參數,該信息通過CPCI接口傳送至可編程芯片,可編程芯片內的處理器單元根據PC機下傳的參數來設置發(fā)送通道的相關寄存器參數,同時該消息經過流量整形模塊,進行規(guī)劃化處理,使其輸出的數據幀是規(guī)整的、沒有時延抖動的。來自流量整形模塊的數據幀由虛擬調度模塊添加序列號(SN)后,發(fā)往冗余管理模塊。冗余管理模塊將需要發(fā)送消息復制發(fā)送到2個獨立的冗余MAC鏈路層中。 MAC模塊對數據幀添加幀序列校驗,發(fā)往PHY模塊。PHY層模塊將可編程芯片內的MAC層的數據幀進行電平轉換后傳送至其他標準航空以太網PHY設備中。

雙冗余PHY物理接口
雙冗余的PHY模塊實現以太網物理層的接口功能,實現AFDX航空以太網的可靠性傳輸,FPGA內部的航空以太網MAC層通過MII接口與PHY連接,完成數據流的通信。MII (Media Independent Interface 介質無關接口) 接口,即媒體獨立接口,它是IEEE-802.3定義的以太網行業(yè)標準。它包括一個數據接口,以及一個MAC和PHY之間的管理接口。數據接口包括分別用于發(fā)送器和接收器的兩條獨立信道。每條信道都有自己的數據、時鐘和控制信號。MII數據接口總共需要16個信號。管理接口是個雙信號接口:一個是時鐘信號,另一個是數據信號。通過管理接口,上層能監(jiān)視和控制PHY。本設計中采用的是雙PHY芯片共用一個25MHz的外部晶振提供工作時鐘,這樣可以保證雙冗余的PHY完全工作同步。
CPCI接口電源電路分析
熱插拔功能主要用于CPCI設備,熱插拔功能允許板卡隨意從設備中插拔而不影響設備操作系統的正常運行。如圖2所示,LTC1643L是一個允許CPCI型設備進行安全插入和拔出的電源管理控制器,將系統的CPCI插槽電源接入到AFDX板卡,圖中IRF7413是一個N型MOS管,用于控制3.3V和5V的電源供應,而-12V和+12V電源由片上開關供應,所有的電壓的上升時間可以達到一個可編程的速率,同時還有電源過流故障時的短路保護。
PCI9030的引腳BD_SEL#是CPCI接口中最小的插針之一,BD_SEL#連接LTC1643L的使能引腳,低電平時有效開啟LTC1643L工作并同時給板卡供電。R10是一個0.018歐姆,0.5W,精度為1%的精密電阻,用于過流保護的電壓檢測電阻。當板卡發(fā)生故障導致電流超過額定值之后,R10兩端的壓差將增大,SENSE引腳將此過流信息反饋至LTC1643L電源管理器,同時切斷電源供應,起到電源過流保護的功能。

FPGA與PCI9030接口模塊時序分析
在PCI9030與本地FPGA之間的通信分為直接主模式(Direct Master Mode)、直接從模式(Direct Slave Mode)和DMA模式。由于PCI通信要AFDX網絡的10M/100M通訊速率,這里采用直接從模式,工作時序如圖3所示,PCI9030為主,FPGA為從。LHOLD為輸出,聲明使用本地地址數據總線,LHOLDA為本地總線申請使用成功的返回信號。LBE[3:0]#為本地總線使能控制引腳,這里選擇32位寬的數據總線。LA[31:2]為地址總線,在本地總線申請使用成功信號返回且本地總線位寬使能有效后,開始輸出地址信號。ADS#為起始信號,表明地址總線有效且開始一個有效的總線訪問,同時一個周期后就可以讀數據或者寫數據了,LW/R#低電平為讀高電平為寫。為了與PCI9030進行高效的數據通信,FPGA里面必須有相應的本地數據通信接口。
WinDriver軟件的驅動生產
通過PLXMON軟件對PCI9056的配置芯片進行配置后,可以利用Windows操作系統中WinDriver自動生成PCI驅動程序,步驟如下:首先啟動WinDriver Wizard,從開始菜單,選擇“程序 | WinDriver | Driver Wizard”;然后在Driver Wizard 菜單,單擊“File | New Project”菜單來新建一個工程,從即插即用列表中選擇顯示卡,通過生產商的名字來選定。單擊“Memory”標簽。該顯示卡的三個內存范圍顯示出來。內存范圍中的BAR2映射的是FPGA內的RAM緩存塊和專用寄存器,根據FPGA內核對這些緩存塊和寄存器的可讀寫定義,可以在BAR2映射的區(qū)域里進行讀寫,若寫進去的數值跟讀出來的數值一致,表面CPCI接口通信正常。最后一步為生成驅動代碼:單擊“Build | Generate code”菜單, Driver Wizard 將產生操作硬件資源的函數,可以在用戶模式下在應用程序中直接使用這些函數,這個向導還會產生一個樣本程序來使用這些函數操作硬件,上層界面的開發(fā)可以直接調用這些API函數。

總結
本論文中設計的帶有CPCI接口的AFDX終端板卡通訊模塊的設計,充分利用PCI總線傳輸速度快和CPCI接口支持熱插拔的特點,使得設計能滿足雙冗余AFDX的高速數據傳輸,使用方便和設備體積相對較小,便于攜帶,該板卡已經實現AFDX通信協議并批量生產銷售。此論文的研究為AFDX網絡交換機的研發(fā)打下了良好的基礎。
參考文獻:
[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協議性能分析及調度算法研究[J].電子學報,2009,37(5):1000-1005.
[5]張志,翟正軍,姚方圓.基于FPGA的AFDX端系統協議芯片的設計與實現[J].計算機測量與控制,2010,18(2):422-424.
通信相關文章:通信原理
交換機相關文章:交換機工作原理
晶振相關文章:晶振原理
評論