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

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

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

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

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

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

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

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