<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 基于Virtex-6 FPGA的三種串行通信協(xié)議測試及對比(一)

基于Virtex-6 FPGA的三種串行通信協(xié)議測試及對比(一)

作者: 時(shí)間:2016-12-06 來(lái)源:網(wǎng)絡(luò ) 收藏

  在高性能雷達信號處理機研制中,高速串行總線(xiàn)正逐步取代并行總線(xiàn)。業(yè)界廣泛使用的Xilinx公司Virtex-6系列FPGA支持多種高速串行通信協(xié)議,本文針對其中較為常用的Aurora 8B/10B和PCI Express 2.0,Serial RapidIO 2.0三種協(xié)議進(jìn)行了測試及對比分析。首先搭建了基于Virtex-6 FPGA的高速串行協(xié)議測試平臺;然后設計并分別實(shí)現了三種協(xié)議的高速數據通信,測算了協(xié)議的實(shí)際傳輸速率;最后結合測試結果,從協(xié)議層次結構、鏈路數目、鏈路線(xiàn)速率、數據傳輸方式、協(xié)議開(kāi)銷(xiāo)、拓撲結構、設備尋址方式、應用領(lǐng)域等方面對三種協(xié)議進(jìn)行了比較。本文研究工作可為三種協(xié)議的選用、測試和工程實(shí)現提供參考。

本文引用地址:http://dyxdggzs.com/article/201612/326825.htm

  1引言

  隨著(zhù)雷達帶寬和AD采樣率的提高,在高性能雷達信號處理機研制中,系統對數據傳輸帶寬的要求不斷增加,高速串行總線(xiàn)正逐步取代傳統的并行總線(xiàn)。

  Xilinx公司推出的Virtex-6系列FPGA,在片上集成了固化的GTX模塊,以提供高速串行通信支持。同時(shí)Xilinx公司提供有多種串行通信協(xié)議IP核,便于用戶(hù)進(jìn)行開(kāi)發(fā)。Aurora 8B/10B,PCI Express 2.0和Serial RapidIO 2.0是其中較為常用的三種協(xié)議。目前已有眾多文獻涉及到三種協(xié)議基于FPGA的實(shí)現方案。然而這些方案未能充分發(fā)揮協(xié)議性能,存在線(xiàn)速率較低(僅為2.5Gb/s)或未實(shí)現多通道綁定。針對上述問(wèn)題,本文基于Virtex-6 FPGA,分別實(shí)現了三種協(xié)議在4x鏈路,5.0Gb/s線(xiàn)速率模式下的數據通信,測得協(xié)議的實(shí)際傳輸速率,并對三種協(xié)議的特點(diǎn)與應用進(jìn)行了對比分析。

  2測試平臺簡(jiǎn)介

  本文以實(shí)驗室自行開(kāi)發(fā)設計的PCIe光纖接收處理板(以下簡(jiǎn)稱(chēng)測試電路板)為測試平臺。測試電路板的結構圖和實(shí)物圖分別如圖1,圖2所示。其中,FPGA選用XC6VLX240T-2FF1156,該芯片含20個(gè)GTX收發(fā)器,鏈路線(xiàn)速率可達6.6Gb/s.DSP選用TMS320C6678,該芯片含有SRIO接口,支持1x、2x和4x鏈路。光電轉換模塊選用FCBG410QB1C10,它包含4條鏈路,帶寬可達40Gb/s.故而測試電路板的硬件設計符合本測試對數據傳輸速率的要求。

  

  圖1測試電路板模塊結構和鏈路連接圖

  

  圖2測試電路板實(shí)物圖

  如圖3所示,將測試電路板插入服務(wù)器主板的PCIe插槽中,并將光纖接入測試電路板,完成測試平臺的搭建。本測試中,PCI Express 2.0協(xié)議用于實(shí)現FPGA與服務(wù)器的數據通信,Serial RapidIO 2.0協(xié)議用于實(shí)現FPGA與DSP的數據通信,Aurora 8B/10B協(xié)議用于實(shí)現FPGA的光纖自發(fā)自收通信。由于三種協(xié)議都在物理層進(jìn)行8B/10B編碼,故在本測試工作模式下,它們的極限速率均為

  

  圖3測試平臺搭建

  3 AURORA 8B/10B通信測試

  Aurora 8B/10B協(xié)議是Xilinx公司針對高速傳輸開(kāi)發(fā)的一種可裁剪的輕量級鏈路層協(xié)議,通過(guò)一條或多條串行鏈路實(shí)現兩設備間的數據傳輸。協(xié)議Aurora協(xié)議可以支持流和幀兩種數據傳輸模式,以及全雙工、單工等數據通信方式。

  本測試中,Aurora 8B/10B IP核配置為雙工、流模式,參考時(shí)鐘頻率250MHz.

  使用ChipScope軟件觀(guān)察FPGA相關(guān)信號如圖4所示。觀(guān)察RX_SRC_RDY_N可以發(fā)現,平均每4992周期出現7個(gè)周期的數據無(wú)效信號。由于接收數據時(shí)鐘頻率為250MHz,數據位寬為64bit,故本測試中,Aurora 8B/10B協(xié)議單向傳輸速率為,

  

  

  圖4 Aurora 8B/10B協(xié)議通信測試信號波形

  下面分析協(xié)議理論傳輸速率和實(shí)際通信效率。該協(xié)議的幀格式比較簡(jiǎn)單,除2字節的起始標志,2字節終止標志和至多1字節的填裝字符外,其余為數據部分。本測試采用的流模式是以無(wú)結尾的幀方式實(shí)現。故協(xié)議除8B/10B編碼外,基本上不存在其他開(kāi)銷(xiāo)。故根據(1)式可得,協(xié)議的理論速率為2.0GB/s,協(xié)議的實(shí)際通信效率為99.75%.

  4 PCI Express 2.0通信測試

  PCI Express(簡(jiǎn)稱(chēng)PCIe)總線(xiàn)技術(shù)是取代PCI的第三代I/O技術(shù)。PCIe采用串行點(diǎn)對點(diǎn)互連,允許每個(gè)設備擁有專(zhuān)屬的一條連接,不爭奪帶寬資源,同時(shí)保證了數據的完整性。PCI Express 2.0協(xié)議的鏈路線(xiàn)速率達到5Gb/s,最高支持32x鏈路。

  本測試中,PCIe 2.0通信測試通過(guò)FPGA對服務(wù)器內存的DMA讀/寫(xiě)操作來(lái)實(shí)現。

  服務(wù)器方面,本測試選用Windriver軟件進(jìn)行PCIe驅動(dòng)程序的開(kāi)發(fā)。利用該軟件提供的PCIe驅動(dòng)程序及用戶(hù)接口函數,編寫(xiě)符合本測試功能需求的程序。

  FPGA方面,本測試通過(guò)設計用戶(hù)模塊,實(shí)現對PCIe IP核的控制,完成DMA讀/寫(xiě)操作。FPGA模塊結構如圖5所示。

  

  圖5 PCIe 2.0通信測試FPGA模塊結構  為便于服務(wù)器對測試電路板FPGA進(jìn)行控制,在FPGA的PCIe存儲空間模塊中,定義了若干控制/狀態(tài)寄存器,這些寄存器的作用有:DMA讀/寫(xiě)初始化,控制DMA讀/寫(xiě)的啟動(dòng)與停止,標志一次DMA傳輸是否完成,設置一次DMA傳輸的數據量等。

  服務(wù)器通過(guò)PCIe接口對測試板FPGA控制/狀態(tài)寄存器進(jìn)行讀/寫(xiě)操作,來(lái)控制DMA的進(jìn)程。每次DMA完成后,處理板FPGA會(huì )向服務(wù)器CPU發(fā)送一次中斷。服務(wù)器對測試電路板FPGA DMA傳輸的控制流程如圖6所示。

  

  圖6 PCIe 2.0 DMA傳輸控制流程圖

  本測試將TLP包載荷數設為256Bytes(IP核允許的最大值),每次DMA傳輸的TLP包的數量為16384,故每次DMA傳輸的數據量為4MB.使用ChipScope軟件觀(guān)察FPGA內部的PCIe 2.0 DMA讀/寫(xiě)相關(guān)信號,如圖7,圖8所示。本測試開(kāi)發(fā)了PCIe讀寫(xiě)功能測試軟件,實(shí)現PCIe傳輸數據量和傳輸速率的實(shí)時(shí)顯示。傳輸速率通過(guò)1s內DMA傳輸完成的次數來(lái)計算。測試結果如圖9(a)、(b)所示。PCIe 2.0 DMA讀的數據傳輸速率為1.770GB/s,DMA寫(xiě)的數據傳輸速率為1.820GB/s.

  

  圖7 PCIe 2.0 DMA讀測試信號波形

  

  圖8 PCIe 2.0 DMA寫(xiě)測試信號波形

  

  圖9 PCIe 2.0 DMA讀寫(xiě)速率測試結果(a)DMA讀測試(b)DMA寫(xiě)測試

  下面分析并計算本測試條件下PCIe 2.0 DMA讀/寫(xiě)的理論傳輸速率和實(shí)際通信效率。

  PCIe 2.0協(xié)議主要開(kāi)銷(xiāo)為8B/10B編碼開(kāi)銷(xiāo)和數據包傳送開(kāi)銷(xiāo)。PCIe總線(xiàn)以包的形式在不同器件之間交換信息。數據在進(jìn)入處理層后會(huì )被封裝一個(gè)包頭,該包頭長(cháng)度在32bit地址下為12字節(本測試采用32bit地址)。當數據包進(jìn)入數據鏈路層后,會(huì )添加2字節的序列號和4字節的LCRC字段。數據包進(jìn)入物理層后,使用1字節的開(kāi)始字符和1字節的結束字符將其封裝成幀。

  在DMA寫(xiě)測試中,FPGA每發(fā)送一次存儲器寫(xiě)報文(含256字節數據)會(huì )帶來(lái)20字節的額外開(kāi)銷(xiāo)。在DMA讀測試中,FPGA向服務(wù)器發(fā)送存儲器讀報文,并由服務(wù)器返回完成報文(含256字節數據)。每返回一次完成報文會(huì )帶來(lái)20字節的額外開(kāi)銷(xiāo)。由于PCIe 2.0定義了流量控制緩存管理機制,允許服務(wù)器返回完成報文的同時(shí)接收FPGA發(fā)來(lái)的存儲器讀報文,故DMA讀測試中可忽略FPGA發(fā)送存儲器讀報文帶來(lái)的開(kāi)銷(xiāo)。

  故PCIe 2.0 DMA讀/寫(xiě)的理論速率相同,均為

  

  5 Serial RapidIO 2.0通信測試

  RapidIO是針對嵌入式系統芯片間和板間互連而設計的一種開(kāi)放式的基于包交換的高速串行標準,已在電信、國防等行業(yè)大量使用。

  Serial RapidIO(簡(jiǎn)稱(chēng)SRIO)是物理層采用串行差分模擬信號傳輸的RapidIO標準。SRIO 2.0協(xié)議性能進(jìn)一步增強,鏈路線(xiàn)速率可達6.25Gb/s,在電氣層支持熱插拔,并新添了控制符號和空閑模式功能。

  本測試以測試電路板FPGA作為發(fā)起端,以測試電路板DSP作為目標端。通過(guò)FPGA向DSP發(fā)送SWRITE包,進(jìn)行SRIO 2.0寫(xiě)測試,通過(guò)FPGA向DSP發(fā)送NREAD包,DSP向FPGA返回RESPONSE包,進(jìn)行SRIO 2.0讀測試。



關(guān)鍵詞: Virtex-6FPGA通信協(xié)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>