《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于Xilinx FPGA的PCIE接口實(shí)現(xiàn)
基于Xilinx FPGA的PCIE接口實(shí)現(xiàn)
作者:石 峰,吳建飛,劉 凱,徐 欣
摘要: 作者:石峰,吳建飛,劉凱,徐欣隨著系統(tǒng)性能、功能和帶寬的日益增長(zhǎng),總線(xiàn)技術(shù)也在迅速的發(fā)展。海量存儲(chǔ),衛(wèi)星通訊,高速數(shù)據(jù)采集與記錄以及其他數(shù)據(jù)處理的數(shù)據(jù)吞吐量現(xiàn)以KMbps為量級(jí),未來(lái)計(jì)算機(jī)系統(tǒng)對(duì)帶寬和擴(kuò)
Abstract:
Key words :

隨著系統(tǒng)性能、功能和帶寬的日益增長(zhǎng),總線(xiàn)技術(shù)也在迅速的發(fā)展。海量存儲(chǔ),衛(wèi)星通訊,高速數(shù)據(jù)采集與記錄以及其他數(shù)據(jù)處理的數(shù)據(jù)吞吐量現(xiàn)以KMbp s為量級(jí),未來(lái)計(jì)算機(jī)系統(tǒng)對(duì)帶寬和擴(kuò)展性的要求已經(jīng)超越了第二代總線(xiàn)技術(shù)。由英特爾提出的第三代高性能I/O總線(xiàn)技術(shù)—PCIE總線(xiàn)解決了PCI總線(xiàn)的不足,它的發(fā)展將取代PCI成為新型的數(shù)據(jù)總線(xiàn),其提供了更加完善的性能,更多的功能,更強(qiáng)的可擴(kuò)展性和更低的成本。

本文研究了采用NXP公司的PC I Exp ress接口協(xié)議芯片PX1011A和Xilinx公司Spartan - 3 FPGA實(shí)現(xiàn)PC IE接口的硬件電路設(shè)計(jì)以及使用Xilinx公司提供的PC I Exp ress LogiCORE IP核的軟件設(shè)計(jì)。

2 PCIE總線(xiàn)和PX1011A的介紹
2. 1 PCIE總線(xiàn)的介紹
PC I Exp ress是用來(lái)互連諸如計(jì)算和通信平臺(tái)應(yīng)用中外圍設(shè)備的第三代I/O總線(xiàn)技術(shù),第一代總線(xiàn)包括ISA、E ISA、VESA和微通道(Micro Channel)總線(xiàn),而第二代總線(xiàn)則包括了PCI、PC I - X和AGP。PCI Exp ress是一種能夠應(yīng)用于一種設(shè)備、臺(tái)式電腦、工作站、服務(wù)器、嵌入式計(jì)算機(jī)和通信平臺(tái)等所有周邊I/O設(shè)備互連的總線(xiàn)。

PC IE最初由Intel發(fā)展,并于1992年在市場(chǎng)發(fā)布。PC IE的體系結(jié)構(gòu)繼承了第二代總線(xiàn)體系結(jié)構(gòu)最有用的特點(diǎn),并且采用了計(jì)算機(jī)體系結(jié)構(gòu)中新的開(kāi)發(fā)成果。它保留了原先的通訊模型和下載配置機(jī)制,但拋棄了共享總線(xiàn)的方式,采用點(diǎn)到點(diǎn)的總線(xiàn)連接方式。由于它提供了更高的性能特點(diǎn)和越來(lái)越大的帶寬,從而解決了PC I、PCI - X和AGP的許多缺點(diǎn),是以后PC發(fā)展必然采用的接口總線(xiàn),其必將取代PCI, PC I - X以及圖形加速器(AGP) 。

PC IE總線(xiàn)保留了對(duì)于PCI局部總線(xiàn)協(xié)議全部軟件的向下兼容性,即只要是PC IE的卡都可以插到帶有PCI的操作系統(tǒng)使用;在硬件上,兩者不兼容, PCIE取代PC I、PCI - X的并行多路總線(xiàn)結(jié)構(gòu),采用了一種串行、點(diǎn)到點(diǎn)的總線(xiàn)連接結(jié)構(gòu),需要的接口更少。

2. 2 單通道物理層收發(fā)器PX1011A
NXP公司的PX1011A 是一款與低成本FPGA一起使用而優(yōu)化的單通道2. 5Gbp s的PC I Exp ressPHY器件。它具有很小的封裝,可提供卓越的發(fā)射和接收性能,符合PCI Exp ress規(guī)范v1. 0a和v1. 1。它通過(guò)采用用于傳輸和接收數(shù)據(jù)的同步時(shí)鐘源來(lái)提高片外應(yīng)用的性能。

數(shù)據(jù)由接收器的差分輸入接口進(jìn)入PX1011A,在被傳送到解串化電路之前,這些數(shù)據(jù)將小振幅的差分信號(hào)變?yōu)檐墝?duì)軌的數(shù)字信號(hào)。一個(gè)載波檢測(cè)電路將檢測(cè)線(xiàn)路上是否有數(shù)據(jù)并將這些信息傳送到SERDES和PCS上。SERDES將這些數(shù)據(jù)串行為10位并行數(shù)據(jù)。然后PCS采用8位/10位解碼器來(lái)恢復(fù)成8位數(shù)據(jù)格式。

在發(fā)送過(guò)程中,來(lái)自P IPE接口的8位數(shù)據(jù)通過(guò)一個(gè)8位/10位編碼算法進(jìn)行編碼。8 位/10 位編碼確保串行數(shù)據(jù)被直流平衡以避免交流耦合系統(tǒng)中的基帶漂移,它同時(shí)確保足夠的數(shù)據(jù)轉(zhuǎn)換以避免接收端的時(shí)鐘恢復(fù)。

PX1011A的MAC接口采用獨(dú)立的時(shí)鐘,由片內(nèi)100MHz的基準(zhǔn)時(shí)鐘的鎖相環(huán)來(lái)產(chǎn)生。鎖相環(huán)有一個(gè)相對(duì)較高的帶寬來(lái)實(shí)現(xiàn)可選的擴(kuò)頻并減少EM I。8bit 數(shù)據(jù)接口在250MHz 上運(yùn)行并進(jìn)行SSTL2信號(hào)發(fā)送,這種模式與流行的FPGA I/O接口兼容。

3 基于PX1011A收發(fā)器芯片的硬件電路設(shè)計(jì)
3. 1 PX1011A收發(fā)器芯片硬件電路設(shè)計(jì)
PC IE接口硬件電路如圖1 所示,包括三個(gè)部分:第一部分是PX1011A 與FPGA 的連接信號(hào)線(xiàn),包括8位的接收發(fā)送信號(hào)TXD [ 7: 0 ]和RXD [ 7: 0 ] ,控制信號(hào)RX_DATAK、RX_VAL ID、RX_CLK、RX_E IDLE、RX_POLAR、RX_PHY_STAT、TX_DATAK、TX_CLK、TX_EIDLE、TX_COMP、TX_DET_LOOP、TX_PWRDN0、TX_PWRDN1,狀態(tài)信號(hào)STAT0、STAT1、STAT2和復(fù)位信號(hào)RESET。第二部分是PX1011A與PCIE接口的連接信號(hào)線(xiàn),包括差分接收信號(hào),差分發(fā)送信號(hào), 差分時(shí)鐘信號(hào)。第三部分是PCIExp ress的配置接口,包括PCIE _ TMS、PCIE _ TCK、PCIE_TDO、PCIE_TD I和PCIE_TRST。

FPGA 選用Xilinx 公司的Spartan - 3 系列XC3S1000,采用90nm 材料生產(chǎn),容量高、成本低。具有業(yè)界一流的區(qū)塊和分布,具有多達(dá)784個(gè)I/O、MicroB laze 32位R ISC軟處理器和支持乘法累加器(MAC)功能(專(zhuān)用18x18乘法器提供高達(dá)3300 億
次MAC /秒)的嵌入XtremeDSP功能。

Xilinx Spartan - 3 PCI Exp ress設(shè)計(jì)包括一個(gè)PCI Exp ress P IPE Endpoint LogiCore。Xilinx低成本Spartan - 3系列提供PCI Exp ress協(xié)議層核。PC IE P IPE Endpoint LogiCORE整合了分立的PCIE PHY,提供了全面的、完全符合PC I Exp ress基礎(chǔ)規(guī)范( PCIExp ressBase Specification) v1. 1的PCIE端點(diǎn)解決方案。

3. 2 PCB布線(xiàn)
PCB布線(xiàn)時(shí)有以下注意點(diǎn):終端阻抗布線(xiàn)盡量降低容性;一組信號(hào),避免在參考層斷續(xù);高速信號(hào)盡量在一層布線(xiàn),不要打孔,否則要在過(guò)孔處打一個(gè)U形的地孔;微波傳輸帶,差分信號(hào)布線(xiàn)線(xiàn)寬5mil,間距7mil;帶狀傳輸線(xiàn),差分信號(hào)布線(xiàn)線(xiàn)寬5mil,間
距5mil。信號(hào)之間的間距在5 ×4 = 20mil以上,高壓和邊緣尖銳的信號(hào)盡量遠(yuǎn)離差分線(xiàn),避免干擾。

接口上數(shù)據(jù)采用SSTL2信號(hào)發(fā)送,傳送速率達(dá)到250MB / s。每組數(shù)據(jù)發(fā)送端需串行一個(gè)25歐姆電阻,數(shù)據(jù)接收端上拉50歐姆電阻,提高信號(hào)的阻抗匹配。TD和RX每組為8位250MB / s信號(hào),為了減少信號(hào)間的延時(shí)誤差,每組信號(hào)布線(xiàn)時(shí)盡量等長(zhǎng)。

4 P IPE Core實(shí)現(xiàn)PC IE總線(xiàn)協(xié)議
4. 1 Xilinx PC I Exp ress P IPE Core
Xilinx PCI Exp ress P IPE Core符合PC I Exp ress Base Specification v1. 1 規(guī)范的協(xié)議和電特性兼容,提供完整的端點(diǎn)解決方案,包括物理鏈接與處理和配置管理模塊。支持同步點(diǎn)對(duì)點(diǎn)通信,上行和下行流程控制,與PCI Exp ress處理排序規(guī)則完全兼容。有效的鏈接帶寬利用率,誤差檢測(cè)和恢復(fù)。支持最大為512字節(jié)的有效負(fù)載,經(jīng)過(guò)Xilinx專(zhuān)有的測(cè)試平臺(tái)驗(yàn)證的設(shè)計(jì),通過(guò)PC I - SIG的認(rèn)證大會(huì)( com2p liance workshop) 。

P IPE Core包括傳輸層,數(shù)據(jù)鏈路層,物理層,配置管理層四個(gè)模塊。這些模塊包括產(chǎn)生和進(jìn)行傳輸包、數(shù)據(jù)流的控制管理,初始化,電源管理,數(shù)據(jù)保護(hù),誤碼檢測(cè),物理接口初始化,并串轉(zhuǎn)換以及其他的接口操作。各個(gè)模塊的具體連接關(guān)系如圖2 所
示。

4. 2 數(shù)據(jù)接收和發(fā)送的時(shí)序分析
數(shù)據(jù)的接收和發(fā)送都包含以下接口信號(hào):傳輸時(shí)鐘trn_clk,利用PCIE端口的100MHz差分時(shí)鐘輸入,通過(guò)Core的內(nèi)部DCM產(chǎn)生62. 50MHz時(shí)鐘,傳輸和配置模塊的操作都在trn_clk的上升沿變化;傳輸復(fù)位信號(hào)trn_reset_n,低有效;傳輸鏈路掛起信號(hào)
trn_lnk_up_n,在Core與連接方取消通信時(shí)產(chǎn)生,所有存在端口的傳輸包都會(huì)丟失。

發(fā)送數(shù)據(jù)端口包括P IPE Core準(zhǔn)備接收32位數(shù)據(jù)的trn_ tdst_ rdy_n信號(hào),用戶(hù)有效數(shù)據(jù)trn _ tsrc _rdy_n,發(fā)送32 位數(shù)據(jù)trn _ td [ 31: 0 ] ,幀開(kāi)始信號(hào)trn_tsof_n和幀結(jié)束信號(hào)trn_tesof_n。接收端口第一個(gè)包的長(zhǎng)度是其它包的兩倍,其余時(shí)序與發(fā)送信號(hào)類(lèi)似,具體如圖3所示。

4. 3 FPGA設(shè)計(jì)
選用Xilinx公司的ISE軟件并采用Verilog硬件描述語(yǔ)言可對(duì)該IP核進(jìn)行行為級(jí)描述和邏輯綜合,同時(shí)可將生成的網(wǎng)表文件設(shè)計(jì)實(shí)現(xiàn),包括邏輯綜合及布局布線(xiàn)。具體設(shè)計(jì)過(guò)程中,需要先加載P IPE Core,這要求ISE為8. 1 以上版本,同時(shí)要取得IP
Core的使用授權(quán)。

配置P IPE Core, 需要確定設(shè)備的生產(chǎn)廠(chǎng)商Vendor ID,設(shè)備編號(hào)Device ID,類(lèi)型Class Code, I/O方式的地址存儲(chǔ)器空間BAR,有效載荷大小等信息。

在Core Generation之后,根據(jù)P IPE Core提供的文件加載各模塊的源文件。至此,帶PCIE總線(xiàn)協(xié)議的接口已經(jīng)建立好,用戶(hù)應(yīng)用程序在模塊中添加。

5 結(jié)束語(yǔ)
實(shí)驗(yàn)結(jié)果表明,以PX1011A 和Xilinx公司的Spartan - 3 FPGA搭建的×1 PCIE平臺(tái)最高傳輸速率可達(dá)150MB / s,能夠滿(mǎn)足高速信號(hào)傳輸?shù)男阅芤?。隨著器件的發(fā)展和IP 核的開(kāi)發(fā), 多通道的PCIE總線(xiàn)技術(shù)將會(huì)迅速發(fā)展。PCI Exp ress總線(xiàn)取代捉襟見(jiàn)肘的PCI總線(xiàn)已是大勢(shì)所趨,它能給電腦硬件的發(fā)展提供一種高性能的總線(xiàn)平臺(tái),充分發(fā)揮各硬件子系統(tǒng)的性能,并為這些子系統(tǒng)今后的性能提升開(kāi)辟更廣闊的空間。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。