基于PCIE的多FC子卡測試設備的設計與實現(xiàn)
0 引言
本文引用地址:http://2s4d.com/article/201610/308707.htmFC(光纖通道,是Fiber Channel的縮寫)是美國國家標準委員會(ANSI)的X3T11工作組于1988年提出的一種高速串行傳輸協(xié)議,具有高帶寬、高實時性、高可靠性、擴展性好、傳輸速率高、抗干擾性強、拓撲結構和服務類型靈活、支持多種上層協(xié)議和底層傳輸介質等特性,為了適應航空電子環(huán)境的應用,光纖通道提供了一組在航空電子環(huán)境中應用的協(xié)議子集FC-AE(fiber channel avionics environment),它規(guī)范了民用和軍用航空光纖通道交換網絡與環(huán)路拓撲連接設備的選擇,F(xiàn)C—AE基于匿名簽署消息(ASM)的上層映射FC-AE-ASM,具有消息傳輸安全、低延時的特點,適用于航空電子中處理器與傳感器和顯示器之間的通信。因此,F(xiàn)C已成為新一代先進綜合式航空電子網絡互連的首選方案。
為了保證FC產品能夠滿足機載應用要求,為FC產品提供測試、試驗的平臺,設計可靠、高效的機載FC設備的測試設備十分必要。FC子卡是廣泛應用在航電系統(tǒng)中的一種FC產品,FC子卡實現(xiàn)了FC節(jié)點機的功能,負責為FC網絡中各個節(jié)點提供FC通信連接等功能,為多種應用數(shù)據提供通信支撐。
文章針對被測設備的特點,提出了一種基于PCIE接口的多FC子卡的測試設備的設計方法,采用PowerPC處理器的PCIE接口,通過PCIE交換擴展多路PCIE總線,從而一次可以進行多個FC子卡的試驗測試,經過驗證該測試設備通信穩(wěn)定可靠,具有較高的實用性、通用性和擴展性。
1 多FC子卡測試設備總體結構
1.1 被測對象分析
FC子卡是嵌入式的FC節(jié)點機,作為航電子系統(tǒng)接入FC網絡的接口,一方面具備與航空電子系統(tǒng)設備進行信息交互的接口,即FC接口,支持FC—PI、Fc—FS和FC—AE—AsM協(xié)議,F(xiàn)C接口鏈路速率2.125Gbps。另一方面擁有與處理器進行數(shù)據交互的接口,從而可以將網絡上的數(shù)據提交給應用,也可以將應用的數(shù)據發(fā)送到網絡上。因此設計測試設備時主要從以上兩個方面考慮。
考慮到結構和速率等要求,F(xiàn)C子卡采用X4PCIE主機接口,工作頻率為2.5Gb/s,使用標準的XMC結構。由FGPA、配置電路、RS232接口、FLASH接口、時鐘電路、復位電路、電源電路組成,F(xiàn)PGA用于實現(xiàn)FC接口、PCIE接口及片上處理器,硬件框圖如圖1所示。FC子卡主要實現(xiàn)了FC—AE—ASM通信、時間同步、網絡管理等功能,保證航電數(shù)椐傳輸?shù)耐暾院涂煽啃浴?/p>
1.2 測試設備設計
多FC子卡測試設備設計時需要從以下幾方面考慮:
(1)滿足測試產品功能、性能的要求;
(2)考慮在溫度沖擊、濕熱等惡劣的試驗環(huán)境下使用;
(3)考慮一次試驗中盡可能多的測試被測設備,提高資源利用率和試驗效率。
由于FC子卡對外主要的接口為PCIE接口和FC接口,因此設計時必須通過以上兩個接口對設備進行訪問和測試。對于PCIE接口,使用具有PCIE接口的PowerPC處理器模塊,且該模塊需要具備以太網、FLASH、SRAM、串口等必備的外圍接口,從而可以在其上進行軟件開發(fā)和調測。同時為了一次測試多個FC子卡,需要使用PCIE交換擴展多路PCIE總線。對于FC接口,F(xiàn)C子卡使用FPGA進行實現(xiàn),輸出FC電信號。為了測試FC協(xié)議符合性、功能及性能等一系列內容,連接外部測試設備,將電信號轉換為光信號,需要設計轉接板,一方面通過PCIE接口連接母板和FC子卡,另一方面通過光電轉換電路將FC電信號和光信號進行轉換。
為了滿足高帶寬、通用性和惡劣的試驗環(huán)境下使用,采用3U VPX結構設計,通過母板和轉接板連接主機和子卡。測試設備的總體框架如圖1所示。

圖2多FC子卡測試設備總體框架

2 關鍵技術研究
多FC子卡測試設備設計的關鍵點在于PCIE交換和PCIE配置,下面就PCIE交換的選擇和PCIE配置的機制進行描述。
2.1 PCIE交換
選擇PCIE交換芯片時,需考慮兩點,首先根據系統(tǒng)需求和上行和下行端口連接的PCIE設備的線寬、速率、數(shù)目等要求,選擇合適的配置,其次選擇PCIE交換為透明橋還是非透明橋,一般在單處理器系統(tǒng)中使用透明橋,在進行多個處理器系統(tǒng)連接時采用非透明橋。
2.2 PCIE總線配置機制
PCIE和PCI環(huán)境一樣,各種設備都要連接在樹形總線上,包含一種或多種功能,該設計中FC子卡為單功能設備。當系統(tǒng)首次啟動時,只有處理器中根聯(lián)合體(RC)中的總線0才有編號,其他總線還有待發(fā)現(xiàn)。配置軟件使用深度優(yōu)先搜索算法掃描PCIE總線樹上的所有PCIE設備,并以此分配總線號和存儲器地址空間。
對于RC或者PCIE交換使用Type1配置頭,必須初始化主總線(Primary Bus Number)、二級總線(Secondary Bus Number)和從總線(Subordinate BusNumber)寄存器,主總線為RC或者橋上游的總線,二級總線為下游的總線,從總線是從下向上分配的,為當前PCIE子樹中編號最大的總線。需要注意的是PCIE交換中有多個端口,每個端口都有一個P2P的橋,內部有一條虛總線,配置時根據數(shù)據手冊進行配置。
在橋管理的PCIE子樹中有許多PCIE設備,這些PCIE設備可能有自己的存儲器地址空間需要被CPU訪問,通過配置橋的Mernory Limit和Memory Base寄存器,即可實現(xiàn)對目標設備空間的訪問。這兩個寄存器用于存放PCIE子樹上所有設備的存儲器地址空間集合的基地址和大小。
3 硬件設計
多FC子卡測試設備硬件由CPU模塊、PCIE交換電路、母板和轉接板組成,以上組成部分在機箱中集成,下面主要對CPU模塊和PCIE交換電路進行描述:
3.1 CPU模塊設計
在本測試設備中,CPU模塊以MPC858處理器為核心,通過連接FLASH、內存、PCIE接口、網口、串口以及其他接口控制電路實現(xiàn)。如圖3,在CPU模塊中移植嵌入式實時操作系統(tǒng)VxWorks,對設備驅動進行二次開發(fā),繼而以VxWroks為軟件開發(fā)平臺,開發(fā)測試程序,實現(xiàn)板卡的測試任務。

3.2 PCIE交換電路
PCIE交換芯片選用PLX公司的新一代非阻塞、低延遲交換芯片,支持48Lane,12個PCIE端口,通過靈活的硬件配置和軟件編程使PCIE交換支持多種端口配置。在本設計中,將交換芯片配置為透明橋,且由于FC子卡為4Lane PCIE接口,配置1個4Lane上行端口和11個4Lane下行端口,可以滿足測試設備的功能要求。

4 軟件設計
依據FC子卡測試設備的功能需求和硬件平臺,測試軟件運行在VxWorks5.5操作系統(tǒng)上,主要包括三部分軟件,PCIE配置軟件、FC驅動軟件和FC測試軟件。PCIE配置軟件主要用于配置CPU、PCIE交換芯片和FC子卡的PCIE接口,通過配置才能從CPU端訪問FC子卡。FC驅動軟件作為FC子卡的驅動軟件,必須在PCIE配置成功后,才能經過PCIE接口訪問FC子卡的硬件資源、控制FC子卡的通信,管理等功能。FC測試軟件通過調用驅動軟件提供的接口,完成對FC子卡的各種功能、性能測試。其層次結構如圖5所示。

4.1 PCIE配置軟件
PCIE配置軟件的主要功能是對PCIE總線樹的設備進行枚舉,通過PCI兼容配置,從CPU端可以訪問各個FC子卡設備。在本設計中,只用到PCI兼容配置機制,配置過程和PCI設備類似,主要需對MPC8548和PCIE交換開關進行配置,內容包括配置空間的訪問,如何發(fā)現(xiàn)設備,訪問設備空間等。
在本設計中,測試設備的總線示例如下:

最后根據FC子卡所在的總線和分配的存儲器地址空間對FC子卡的BAR空間進行映射,從而可以訪問FC設備。
4.2 FC驅動軟件
FC驅動軟件運行于主機上,主要提供訪問控制FC設備、FC通信、時鐘同步、網絡管理等功能的接口,用于上層軟件調用從而滿足應用具體的要求。在該設計中,測試軟件完成PCIE配置后,通過調用驅動軟件接口訪問FC子卡,完成子卡的初始化,再進行相關的測試。
4.3 FC測試軟件
FC測試軟件主要使用測試設備搭建的平臺,進行FC子卡的各種測試,可以實現(xiàn)單個FC子卡的功能、性能測試,也可以實現(xiàn)試驗環(huán)境下多個FC子卡的通信測試。通過調用驅動軟件,測試軟件可以完成以下測試:包括FC子卡硬件資源測試、FC協(xié)議符合性測試、通信功能的測試、時鐘同步功能測試、網絡管理功能測試、FC通信帶寬測試等其他功能的測試。
5 驗證
為了驗證測試設備是否滿足設計要求,需要對多個FC子卡進行通信功能測試。驗證環(huán)境中,運行測試軟件進行FC-AE-ASM通信測試,F(xiàn)C數(shù)據從CPU端產生,通過PCIE接口DMA到FC子卡內部,然后從FC子卡發(fā)送出去,經過分析儀,從接收通道接收,再從FC子卡DMA到CPU端,對比發(fā)送和接收的數(shù)據是否一致。測試環(huán)境如圖7所示、經過串口打印和分析儀捕獲的數(shù)據,F(xiàn)C子卡運行穩(wěn)定可靠,驗證了測試設備完全滿足實驗室測試驗證的要求,并且該測試設備已經用于FC子卡的試驗測試,測試結果也滿足試驗要求。

6 結束語
文章介紹了一種基于PCIE接口的多FC子卡測試設備,對總體設計方案、硬件組成和軟件設計進行了闡述,通過測試驗證了該設備良好的可行性和穩(wěn)定性。該設備對提高設備試驗效率,降低科研、生產成本有顯著作用,且通用性、擴展性好,對于其他類型的PCIE/PCI接口設備有很好的參考意義和借鑒作用。
評論