1. 程式人生 > >Xilinx-7Series-FPGA高速收發器使用學習—RX接收端介紹

Xilinx-7Series-FPGA高速收發器使用學習—RX接收端介紹

    上一篇博文介紹了GTX的傳送端,這一篇將介紹GTXRX接收端,GTX RX接收端的結構和TX傳送端類似,資料流方向相反,不過和傳送端也有一些區別,GTXRX接收端結構圖如圖1所示:

1.jpg

1

    下面將根據資料流方向介紹一下RX接收端各個電路部分的功能。

RX Equalizer (DFE and LPM)RX訊號從AFE(模擬前端)進來之後,首先經過RX均衡器,均衡器的主要作用是用於補償訊號在通道傳輸過程中的高頻損失,因為通道是頻寬受限的,所以訊號經過它必將造成衰減甚至遭到破壞。

       RX接收端的均衡器有兩種,分別是LPMDFE,兩者功耗和效能有所不同,其中

LPM功耗較低,DFE能提供更精確的濾波器引數,從而可以更好的補償傳輸通道損失,因此效能更好。

RX CDRRX的時鐘資料恢復電路是圖1的綠色圓圈部分,因為GTX傳輸不帶隨路時鐘,因此在接收端必須自己做時鐘恢復和資料恢復,時鐘資料恢復電路如圖2所示:

2.jpg

2

    具體過程如圖2所示,首先外部資料進來之後經過均衡器,緊接著均衡器出來的資料就進入時鐘資料恢復電路。GTX使用相位旋轉CDR結構,從DFE進來的資料分別被邊緣取樣器和資料取樣器捕獲,然後CDR狀態機根據兩者決定資料流的相位並反饋控制相位內插器(PI),當資料取樣器的位置位於眼圖中央的時候邊緣取樣器鎖定到資料流的傳輸域。其中

CPLL或者QPLL為相位內插器提供基礎時鐘,使CDR狀態機能很好進行相位控制。

RX Fabric Clock Output ControlRX接收端的時鐘結構和TX傳送端的很類似,如圖3所示,圖中紅色方框的CDR部分是和TX端最大的區別。

3.jpg

3

    和TX傳送端一樣,RX接收端的時鐘結構也主要分為序列時鐘分頻器和並行時鐘分頻器,D分頻器是序列時鐘分頻器,用於降低PLL時鐘速率以支援較低的線速率,後面的並時鍾分頻器主要根據設定的位寬和是否使用8b/10b生成不同的並行資料時鐘。

RX Polarity ControlTX傳送端一樣,RX接收端也擁有極性控制功能,可用於實現資料翻轉,在

PCB設計時RXPRXN接反時使用這個功能。

RX Pattern CheckerGTX包含一個內嵌的PRBS檢查器,如圖4所示,有四種不同的偽隨機序列生成器可以選擇,檢查器是自同步的,且工作在邊界對齊和解碼之前,這個功能可以用來測試訊號的完整性。

4.jpg

4

RX Byte and Word Alignment序列資料在被並行化之前,比如找到一個合適的特徵邊界,這個特徵邊界或者字元邊界是由TX傳送端傳送的一個可識別序列,通常稱為識別符號(comma)或者K碼,接收端在到來的資料中搜索這個識別符號,當找到這個識別符號之後,後面接收的資料都已這個識別符號為邊界進行並行化,其工作原理如圖5所示。

5.jpg

5

    如圖5所示,當在序列資料中搜索到comma之後(紅色方框),後面的資料都已此為邊界對齊資料。

RX 8B/10B Decoder如果傳送端傳送的資料是8B/10B編碼的,那麼在接收端就需要8B/10B解碼,否則的話可以旁路,這一功能在TX傳送端介紹時有說明,這裡就不再做介紹。

RX Elastic BufferRX接收端彈性緩衝器是一個重要的功能,和TX接收端緩衝相比,RX多出了一個“彈性”屬性,意味著和TX傳送端相比,RX彈性緩衝器有更多的功能(RX時鐘糾正和RX通道繫結)。RX彈性緩衝器在RX接收端的位置如圖6綠色方框所示。

6.jpg

6

    從圖6可以知道,RX接收端PCS子層主要有兩個時鐘域,分別是XCLKRXUSRCLK時鐘域,RX彈性緩衝器功能主要用來匹配兩個時鐘相位差。

    如果旁路掉這個RX彈性緩衝器,那麼為了保證資料的穩定接收,需要滿足一定的條件,首先需要一個相位對齊電路處理SIPO電路時鐘和XCLK時鐘的相位差,其次XCLK需要配置成RXUSRCLK時鐘,保證XCLKRXUSRCLK同一個時鐘域,不存在相位差。

RX Clock CorrectionRX彈性緩衝器的“彈性”反映在可以通過時鐘糾正來調整XCLKRXUSRCLK的頻率差。對於RX接收端來說,即便XCLKRXUSRCLK執行在同一個時鐘頻率,但往往存在一定的差異,這種差異很容易導致RX彈性緩衝器寫滿或者讀空,時鐘糾正功能應運而生。時鐘糾正功能如圖7所示。

7.jpg

7

    通俗的講,在TX傳送端的時候,我們會定期的傳送K碼用於保證接收端邊界對齊,在RX彈性緩衝器裡面資料不足的時候,接收到的K碼資料將被複制寫入RX彈性緩衝器,以保持RX彈性緩衝器處於半滿。當RX彈性緩衝器資料過多的時候,接收到的K碼資料將被捨棄不寫入RX彈性緩衝器,以保持RX彈性緩衝器處於半滿。

    RX Channel Bonding通道繫結功能同樣體現RX彈性緩衝器的“彈性”之處,對於像PCIESRIO等協議,可以支援多lane傳輸來提高傳輸總頻寬。因為傳輸通道的原因,TX傳送端同一時刻傳送的資料在RX接收端不能被所有的lane同一時刻接收,每一個lane接收存在時間差,那麼在恢復資料的時候就要重新對齊,因此需要在RX接收端執行通道繫結功能。

         為了實現這個功能,TX傳送端在傳送的資料流中加入一個同樣的通道繫結序列,子啊RX接收端根據每一個lane檢測到的通道繫結序列在各自的RX彈性緩衝器做相應的調整和延遲,最終使得各個lane的資料不存在偏移,在FPGA RX Interface的輸出能和TX傳送端傳送的資料一樣,功能如圖8所示,左邊是未對齊資料,右邊是對齊的資料。

8.jpg

8

FPGA RX Interface使用者通過FPGA RX Interface接收資料,和TX傳送端相似,在RXUSRCLK2的上升沿接收資料(TX傳送端是在TXUSRCLK2上升沿傳送資料),該使用者埠可以設定成16/20/32/40/64/80bit位寬,RXUSRCLK2的速率由RX線速率、RXDATA位寬和8B/10B是否使能決定。具體埠如表1所示,和TX相似,就不再描述。

表1.jpg

1

    到這裡,RX接收端就介紹完畢,下一篇部落格將介紹7-Series Transceivers IP如何使用。

下一篇:Xilinx-7Series-FPGA高速收發器使用學習—Transceivers IP使用

作者QQ:799536339

歡迎互相交流學習。 


相關推薦

Xilinx-7Series-FPGA高速收發使用學習RX接收介紹

    上一篇博文介紹了GTX的傳送端,這一篇將介紹GTX的RX接收端,GTX RX接收端的結構和TX傳送端類似,資料流方向相反,不過和傳送端也有一些區別,GTX的RX接收端結構圖如圖1所示: 圖1     下面將根據資料流方向介紹一下RX接收端各個電路部分的功

Xilinx-7Series-FPGA高速收發使用學習—TX傳送介紹

每一個收發器擁有一個獨立的傳送端,傳送端有PMA(Physical Media Attachment,物理媒介適配層)和PCS(PhysicalCoding Sublayer,物理編碼子層)組成,其中PMA子層包含高速串並轉換(Serdes)、預/後加重、接收均衡、時鐘發生

Xilinx-7Series-FPGA高速收發使用學習—概述與參考時鐘篇

xilinx的7系列FPGA根據不同的器件型別,集成了GTP、GTX、GTH以及GTZ四種序列高速收發器,四種收發器主要區別是支援的線速率不同,圖一可以說明在7系列裡面器件型別和支援的收發器型別以及最大的收發器數量。   圖一 Xilinx的7系列FPGA隨著整合度的提

FPGA基礎知識24(xilinx 高速收發系列:Xilinx 7 系列的時鐘資源(1))

談到數字邏輯,談到FPGA設計,每位工程師都離不開時鐘。這裡我們簡單介紹一下xilinx 7 系列中的時鐘資源。時鐘設計的好壞,直接影響到佈局佈線時間、timing的收斂情況,FPGA的時鐘設計非常重要,認識FPGA的時鐘資源很有必要。 FPGA設計是分模組的,

FPGA基礎知識26(xilinx 高速收發系列:Xilinx 7 系列的時鐘資源(3))

隨著高速互聯應用增多,FPGA的高速介面提供了很多互聯介面,如DP、SRIO、PCI-E等。這些協議實現的基礎都是FPGA底層的高速硬核,GTP、GTX、GTH等。本小結關注一下xilinx為高速IO提供的時鐘資源有哪些。 提到高速IO的時鐘,我們首先看一下參考時鐘

【轉載】xilinx 高速收發Serdes深入研究

monitor 需要 .com 采樣 就會 其它 fsm 拼接 valid   此篇文章深入淺出介紹了關於高速串行收發器的幾個重要概念和註意事項,為方便知識點復習總結和後續查閱特此轉載,原文標題及鏈接為:xilinx 高速收發器Serdes深入研究 - CSDN博客 h

xilinx 高速收發Serdes深入研究-Comma碼(轉)

  一、為什麼要用Serdes 傳統的源同步傳輸,時鐘和資料分離。在速率比較低時(<1000M),沒有問題。 在速率越來越高時,這樣會有問題 由於傳輸線的時延不一致和抖動存在,接收端不能正確的取樣資料,對不準眼

轉發:Xilinx 7series FPGA SelectIO資源--ODDR

OLOGIC 資源 OLOGIC塊在FPGA內的位置緊挨著IOB,其作用是FPGA通過IOB傳送資料到器件外部的專用同步塊。OLOGIC 資源的型別有OLOGIC2(位於HP I/O banks)和OLOGIC2(位於HR I/O banks)。在本文的下述論述

C 上傳文件到服務(含接收源碼)

狀態 成了 可能 webex event 全路徑 不可 響應 說明 本文demo下載地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1067 實例向大家展示了如何用Visual C

Intellij IDEA 2017.3 基於編輯的REST客戶介紹

最近Intellij IDEA更新到了2017.3這一版本,這個版本又增加了很多新功能。我覺得其中這個基於編輯器的REST客戶端這個功能很不錯,可以為我們帶來很多方便。這個功能並不僅僅在Intellij IDEA才有,最近更新的所有Jetbrains系IIDE都

TI C6678 DSP + Xilinx Kintex-7 FPGA高速大資料採集處理創龍開發板硬體說明書

本文的硬體說明書,主要圍繞創龍TMS320C6678 DSP + Xilinx Kintex-7 FPGA高速大資料採集處理開發板進行詳細講解: TL6678F-EasyEVM是創龍基於SOM-TL6678F核心板而研發的一款多核高效能DSP+FPGA開發板。開發板採用核心板+底板方式,底板

TJA1050--擴充套件了高速CAN收發的陣容

概述   TJA1050 是控制器區域網路(CAN)協議控制器和物理匯流排之間的介面,是一種標準的高速CAN收發器。TJA1050可以為匯流排提供差動傳送效能,為CAN控制器提供差動接收效能。  TJA1050 是PCA82C250和PCA82C251高速CAN收發器的後繼產

XilinxFPGA中LVDS差分高速傳輸的實現

低壓差分傳送技術是基於低壓差分訊號(Low Volt-agc Differential signaling)的傳送技術,從一個電路板系統內的高速訊號傳送到不同電路系統之間的快速資料傳送都可以應用低壓差分傳送技術來實現,其應用正變得越來越重要。低壓差分訊號相對於單端的傳送具有

頂點著色 學習筆記

裁剪 str cati strong log href open rotate 程序 頂點著色器 shader的三種變量類型 uniform變量一般用來表示:變換矩陣,材質,光照參數和顏色等信息;如果在vertex和fragment兩者之間聲明方式完全一樣,則它可以在v

xilinxFPGA命名規則和一些簡寫含義

如果 com bsp -1 具體實現 customer instead qml 來看 xilinx公司的FPGA種類繁多,知道了命名規則,看起來應該會舒服很多。 1.xilinx的FPGA命名規則Xilinx的ug112第一章中介紹了Xilinx公司的FPGA命名規則。一般

Linux服務學習(一)

-1 修改 感覺 img size 地址 mage 第一次 spa 一、首先連接服務器   下載一個windows下連接linux的ssh工具,我這裏用的putty。一次填入HostName(主機名,可以是服務器域名也可以是對應的ip)、Port(端口號默認為22)、Co

C++ opencv高速樣例學習——讀圖顯示

ext -1 borde _id msh family opencv str bit 1.關鍵函數 1. 讀入圖片 imread(圖片或位置,顯示格式)默覺得:IMREAD_COLOR 顯示格式: IMREAD_UNCHANG

Windows定時學習

內核對象 arm 三個參數 inf ont 多少 defined win int 定時器是一個在特定時間或者規則間隔被激發的內核對象。結合定時器的異步程序調用可以允許回調函數在任何定時器被激發的時候執行。 通過調用CreateWaitableTimer()可以創建一個定時器

CC2500RGPR是一種低成本單片2.4G 收發,為低功耗無線應用而設計

5.6 應用電路 -1 健康 低功耗 電路 分銷商 價格 國內 CC2500RGPR是一種低成本單片2.4G 收發器,為低功耗無線應用而設計。2400~2483.5MHz ISM及SRD頻率波段。高度集成的RF收發芯片,可以配置基帶調制解調,最高速率可以到500Kbps。

Kestrel Web 服務學習筆記

tabpanel 簡單的 事件循環 請求 eat 線程池。 hub .cn 封裝庫 前言:   ASP.NET Core 已經不是啥新鮮的東西,很多新啟的項目都會首選 Core 做開發;   而 Kestrel 可以說是微軟推出的唯一真正實現跨平臺的 Web 服務器了;