工控網首頁
>

應用設計

>

AFDX終端系統模塊設計

AFDX終端系統模塊設計

2016/8/15 13:29:16

1 引言

本文在研究航空全雙工交換式以太網(Avionics Full Duplex Switched Ethernet,AFDX)實時傳輸協議的基礎上,分析了基于CPCI接口的雙冗余AFDX終端測試系統通訊模塊的設計原理,重點介紹了支持熱插拔的CPCI接口電源電路分析、FPGAPCI9030接口模塊時序分析和在Windriver軟件環境下的驅動程序的開發,為AFDX上位機底層驅動接口的開發和軟件界面的開發以及AFDX交換機的研發打下了良好的基礎。

2 AFDX終端系統模塊設計

本文設計的AFDX終端通訊系統包括FPGA控制模塊、PCI接口模塊、雙冗余PHY模塊。為了設計高可靠性的AFDX終端系統,設計了2個獨立的雙冗余交換網絡,從而保證系統的可靠性信息傳輸。系統硬件架構如圖1所示。

2.1 CPCI接口模塊

CPCI接口模塊由2個部分組成,第一部分主要實現PCI總線協議功能,實現FPGA與上位機進行數據的通信;第二部分主要實現從CPCI接口采電,并在板上進行電源管理,對整個板卡實現支持熱插拔的電源供應。

2.2 FPGA控制模塊

FPGA控制模塊是整個板卡的控制核心,它包含了AFDX協議棧的IP硬核,實現了AFDX協議棧特有的,如流量整形、虛擬鏈路調度、完整性檢查、冗余管理、以太網MAC層硬件實現等功能以及其它如與PCI9056通信、內部數據的緩存管理等功能。支持10/100Mbps標準的航空實時以太網數據的可靠性傳輸。

以數據下傳為例介紹FPGA控制模塊的工作流程:首先在PC機上運行上層測試軟件,通過它來設置發送通道的相應參數,該信息通過CPCI接口傳送至可編程芯片,可編程芯片內的處理器單元根據PC機下傳的參數來設置發送通道的相關寄存器參數,同時該消息經過流量整形模塊,進行規劃化處理,使其輸出的數據幀是規整的、沒有時延抖動的。來自流量整形模塊的數據幀由虛擬調度模塊添加序列號(SN)后,發往冗余管理模塊。冗余管理模塊將需要發送消息復制發送到2個獨立的冗余MAC鏈路層中。 MAC模塊對數據幀添加幀序列校驗,發往PHY模塊。PHY層模塊將可編程芯片內的MAC層的數據幀進行電平轉換后傳送至其他標準航空以太網PHY設備中。

2.3 雙冗余PHY物理接口

雙冗余的PHY模塊實現以太網物理層的接口功能,實現AFDX航空以太網的可靠性傳輸,FPGA內部的航空以太網MAC層通過MII接口與PHY連接,完成數據流的通信。MII (Media Independent Interface 介質無關接口) 接口,即媒體獨立接口,它是IEEE-802.3定義的以太網行業標準。它包括一個數據接口,以及一個MACPHY之間的管理接口。數據接口包括分別用于發送器和接收器的兩條獨立信道。每條信道都有自己的數據、時鐘和控制信號。MII數據接口總共需要16個信號。管理接口是個雙信號接口:一個是時鐘信號,另一個是數據信號。通過管理接口,上層能監視和控制PHY.本設計中采用的是雙PHY芯片共用一個25MHz的外部晶振提供工作時鐘,這樣可以保證雙冗余的PHY完全工作同步。

3 CPCI接口電源電路分析

熱插拔功能主要用于CPCI設備,熱插拔功能允許板卡隨意從設備中插拔而不影響設備操作系統的正常運行。如圖2所示,LTC1643L是一個允許CPCI型設備進行安全插入和拔出的電源管理控制器,將系統的CPCI插槽電源接入到AFDX板卡,圖中IRF7413是一個NMOS管,用于控制3.3V5V的電源供應,而-12V+12V電源由片上開關供應,所有的電壓的上升時間可以達到一個可編程的速率,同時還有電源過流故障時的短路保護。

PCI9030的引腳BD_SEL#CPCI接口中最小的插針之一,BD_SEL#連接LTC1643L的使能引腳,低電平時有效開啟LTC1643L工作并同時給板卡供電。R10是一個0.018歐姆,0.5W,精度為1%的精密電阻,用于過流保護的電壓檢測電阻。當板卡發生故障導致電流超過額定值之后,R10兩端的壓差將增大,SENSE引腳將此過流信息反饋至LTC1643L電源管理器,同時切斷電源供應,起到電源過流保護的功能。

4 FPGAPCI9030接口模塊時序分析

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里面必須有相應的本地數據通信接口。

 

5 WinDriver軟件的驅動生產

通過PLXMON軟件對PCI9056的配置芯片進行配置后,可以利用Windows操作系統中WinDriver自動生成PCI驅動程序,步驟如下:首先啟動WinDriver Wizard,從開始菜單,選擇“程序 | WinDriver | Driver Wizard;然后在Driver Wizard 菜單,單擊“File | New Project”菜單來新建一個工程,從即插即用列表中選擇顯示卡,通過生產商的名字來選定。單擊“Memory”標簽。該顯示卡的三個內存范圍顯示出來。內存范圍中的BAR2映射的是FPGA內的RAM緩存塊和專用寄存器,根據FPGA內核對這些緩存塊和寄存器的可讀寫定義,可以在BAR2映射的區域里進行讀寫,若寫進去的數值跟讀出來的數值一致,表面CPCI接口通信正常。最后一步為生成驅動代碼:單擊“Build | Generate code”菜單, Driver Wizard 將產生操作硬件資源的函數,可以在用戶模式下在應用程序中直接使用這些函數,這個向導還會產生一個樣本程序來使用這些函數操作硬件,上層界面的開發可以直接調用這些API函數。

投訴建議

提交

查看更多評論
其他資訊

查看更多

新大陸自動識別精彩亮相2024華南國際工業博覽會

派拓網絡被Forrester評為XDR領域領導者

智能工控,存儲強基 | 海康威視帶來精彩主題演講

展會|Lubeworks路博流體供料系統精彩亮相AMTS展會

中國聯通首個量子通信產品“量子密信”亮相!