JESD204是一款高速串行接口,用于將數(shù)據(jù)轉(zhuǎn)換器(ADC和DAC)連接到邏輯器件。該標準的修訂版B支持高達12.5 Gbps的串行數(shù)據(jù)速率,并確保JESD204鏈路上的可重復確定性延遲。隨著轉(zhuǎn)換器速度和分辨率的不斷提高,JESD204B接口在ADI公司的高速轉(zhuǎn)換器和集成RF收發(fā)器中變得越來越普遍。此外,FPGA和ASIC中的柔性串行器/解串器(SERDES)設計自然開始取代傳統(tǒng)的LVDS/CMOS接口到轉(zhuǎn)換器,并用于實現(xiàn)JESD204B物理層。本文介紹如何使用 Xilinx FPGA 快速設置項目以實現(xiàn) JESD204B 接口,并為 FPGA 設計人員提供一些應用和調(diào)試建議。?
JESD204B協(xié)議實施概述
JESD204B規(guī)范定義了實現(xiàn)協(xié)議數(shù)據(jù)流的四個關鍵層,如圖1所示。傳輸層映射樣本和成幀、未加擾的八位字節(jié)之間的轉(zhuǎn)換??蛇x的加擾層對八位組進行加擾/解擾,分散頻譜峰值以降低EMI。數(shù)據(jù)鏈路層處理鏈路同步、設置和維護,并對可選的加擾八位字節(jié)進行編碼/解碼,使其與 10 位字符/從 10 位字符進行加擾。物理層負責以比特率傳輸和接收字符。
圖1.JESD204B標準的關鍵層。
不同的JESD204B IP供應商可能以不同的方式實現(xiàn)這些層。圖2和圖3說明了ADI如何實現(xiàn)JESD204B發(fā)送和接收協(xié)議。
圖2.JESD204B發(fā)射器實現(xiàn)。
圖3.JESD204B接收器實現(xiàn)
傳輸層的實現(xiàn)在很大程度上取決于特定轉(zhuǎn)換器的配置以及它在樣本和幀之間的映射方式,因此大多數(shù)FPGA供應商將其從其JESD204 IP中排除。此外,高度可配置、緊密集成的SERDES收發(fā)器集成在FPGA中。這些可用于支持各種串行協(xié)議,包括PCIe,SATA,SRIO,CPRI和JESD204B。因此,實現(xiàn)鏈路層的邏輯內(nèi)核與實現(xiàn)物理層的可配置SERDES相結(jié)合,構(gòu)成了JESD204B鏈路的基礎。圖 4 和圖 5 顯示了賽靈思 FPGA 上的 JESD204B 發(fā)射器和接收器的框圖。發(fā)射器/接收器通道實現(xiàn)加擾層和鏈路層;8B/10B 編碼器/解碼器和物理層在 GTP/GTX/GTH 千兆收發(fā)器中實現(xiàn)。
圖4.采用賽靈思 FPGA 的 JESD204B 發(fā)送器實現(xiàn)。
圖5.采用賽靈思 FPGA 的 JESD204B 接收器實現(xiàn)。
采用賽靈思 FPGA 的 JESD204B 設計示例
最新的 Xilinx JESD204 IP 核通過Vivado 設計套件?.Xilinx 還提供了使用高級可擴展接口 (AXI) 的 Verilog 示例設計,但此示例項目針對大多數(shù)應用進行了過度設計。用戶通常有自己的配置接口,不需要為JESD204B邏輯集成額外的AXI。圖6顯示了一個簡化的JESD204設計,旨在幫助FPGA用戶了解JESD204的結(jié)構(gòu),并快速啟動他們自己的基于FPGA的JESD204項目。
圖6.JESD204B設計示例
加密寄存器傳輸語言(RTL)模塊(由Vivado生成的JESD204邏輯IP核)等效于圖4和圖5所示的發(fā)射器和接收器模塊。加密接口定義可在 Xilinx 示例設計文件中找到。然后將加密的RTL包裝到JESD204B用戶頂部。來自加密 RTL 的控制、配置、狀態(tài)和 JESD 數(shù)據(jù)接口通過包裝器與用戶邏輯和 GTX/GTH 收發(fā)器數(shù)據(jù)連接。GTX/GTH 的符號對齊配置經(jīng)過優(yōu)化和更新,使收發(fā)器工作更可靠。
專用焊盤應用于SERDES收發(fā)器的GTX/GTH參考時鐘。必須特別注意FPGA邏輯的全局時鐘設計,包括內(nèi)部PLL的時鐘、并行接口、JESD204邏輯內(nèi)核和用戶特定的處理邏輯。此外,必須準確捕獲JESD204B邏輯內(nèi)核(子類1)的主系統(tǒng)基準(SYSREF)輸入,以保證JESD204鏈路的確定性延遲。
GTX/GTH收發(fā)器和JESD204內(nèi)核的復位順序?qū)τ诳煽康腏ESD鏈路初始化至關重要,因此JESD204內(nèi)核應處于復位狀態(tài),直到GTX/GTH收發(fā)器中的內(nèi)部PLL被鎖定并且GTX/GTH復位。
需要幀到樣本(F2S)模塊來實現(xiàn)JESD204的傳輸層,該傳輸層根據(jù)特定的JESD204B配置將樣本映射到幀或從幀映射幀。然后,由特定于應用程序的邏輯處理示例。輔助模塊監(jiān)控JESD204邏輯和物理層(PHY)狀態(tài),以便進行系統(tǒng)調(diào)試。
賽靈思 SERDES 收發(fā)器中的符號對齊
在SERDES接收器中,串行數(shù)據(jù)必須與符號邊界對齊,然后才能用作并行數(shù)據(jù)。為了對齊數(shù)據(jù),發(fā)射器發(fā)送一個可識別的序列,通常稱為逗號。接收器在傳入的串行數(shù)據(jù)流中搜索逗號,并在找到后將其移動到符號邊界。這使接收到的并行字能夠匹配傳輸?shù)牟⑿凶?。逗號通常?K,它是 8B/10B 表中用于控制符號的特殊字符。對于JESD204B應用,發(fā)送器將發(fā)送K = K28.5符號流,用于代碼組同步(CGS)。因此,F(xiàn)PGA可以使用K28.5作為逗號來對齊符號邊界,用戶可以指定逗號匹配是由逗號加號(運行視差為正號)還是逗號減號(運行視差為負)或兩者組成。GTX/GTH逗號檢測的JESD204B默認設置允許使用逗號加號或逗號減號來對齊逗號。
在某些應用程序中,默認逗號設置可能會導致符號重新對齊或?qū)R到錯誤的符號邊界。這可能會導致混亂的8B/10B解碼錯誤和JESD204B鏈路損壞。逗號加號和減號的組合更可靠,強制逗號對齊塊連續(xù)搜索兩個逗號,僅當接收的數(shù)據(jù)具有逗號加號或減號后跟逗號減號或加號且中間沒有額外位時,才檢測逗號。這有助于在線路速率較高或系統(tǒng)噪聲過多時保持符號邊界和鏈路穩(wěn)定性。
基于FPGA的JESD204項目的設計考慮
從JESD204接收器到發(fā)射器的同步、低電平有效SYNC信號指示同步狀態(tài)。正常運行期間鏈路重新初始化會導致樣本數(shù)據(jù)混亂,因此必須實時監(jiān)控鏈路狀態(tài)。特別是,SYNC上的連續(xù)低電平意味著接收器無法識別接收數(shù)據(jù)流中的至少四個連續(xù)K28.5符號。如果發(fā)生這種情況,請檢查發(fā)射器/接收器 SERDES 配置或確保發(fā)射器正在發(fā)送 K28.5。SYNC 上的持續(xù)高電平表示鏈路已建立并保持穩(wěn)定性。當 SYNC 從高到低再回到高時,應計算低狀態(tài)的持續(xù)時間。如果長度超過5幀加9個八位字節(jié),則接收器檢測到大錯誤并發(fā)送重新初始化JESD204鏈路的請求。如果持續(xù)時間等于兩個幀時鐘,則接收器檢測到一個小錯誤,但不觸發(fā)鏈路重新初始化。此功能可以顯著簡化系統(tǒng)調(diào)試和進一步的鏈路監(jiān)控,因此用戶應將其納入其設計中。
8B/10B解碼錯誤可能導致JESD204B鏈路重新初始化,但不是唯一原因,因此用戶設計應能夠計算每個通道的解碼錯誤,以確定鏈路重新同步的原因。此外,SERDES鏈路質(zhì)量可以通過8B/10B解碼錯誤狀態(tài)實時確定。
偽隨機位序列 (PRBS) 為測量高速鏈路中的信號質(zhì)量和抖動容限提供了有用的資源。大多數(shù) FPGA 中的 SERDES 收發(fā)器具有內(nèi)置的 PRBS 發(fā)生器和檢查器,因此不需要額外的 FPGA 資源。因此,不要忘記實例化此函數(shù),在評估誤碼率(BER)或眼圖時應使用該函數(shù)。
SERDES收發(fā)器中始終使用緩沖器來改變內(nèi)部時鐘域。發(fā)射器和接收器的時鐘設計錯誤或錯誤的時鐘和數(shù)據(jù)恢復 (CDR) 設置可能導致緩沖區(qū)溢出或下溢。在這種情況下可能會發(fā)生一些鏈路錯誤,因此監(jiān)視緩沖區(qū)狀態(tài)是有意義的。緩沖區(qū)溢出和下溢的中斷記錄對于系統(tǒng)調(diào)試很有用,因此還應監(jiān)視用戶邏輯中不允許下溢或溢出的其他內(nèi)部緩沖區(qū)。
結(jié)論
本文介紹了如何在賽靈思 FPGA 上快速實現(xiàn) JESD204 模塊,但該方法也可以應用于其他 FPGA。首先,了解FPGA供應商提供的JESD204邏輯內(nèi)核和收發(fā)器的功能和接口,然后將它們實例化并封裝到邏輯中。其次,全局設計FPGA時鐘樹并重置整個項目的順序。第三,仔細定義JESD204邏輯內(nèi)核、用戶邏輯和收發(fā)器之間的接口。最后,添加必要的調(diào)試資源。遵循以下步驟將幫助您快速成功地設計JESD204接口。
審核編輯:郭婷
-
FPGA
+關注
關注
1630文章
21796瀏覽量
606009 -
收發(fā)器
+關注
關注
10文章
3454瀏覽量
106243 -
adc
+關注
關注
99文章
6533瀏覽量
545754
發(fā)布評論請先 登錄
相關推薦
JESD204B的系統(tǒng)級優(yōu)勢
在Xilinx FPGA上快速實現(xiàn)JESD204B
JESD204B串行接口時鐘的優(yōu)勢
如何讓JESD204B在FPGA上工作?FPGA對于JESD204B需要多少速度?
JESD204B協(xié)議有什么特點?
如何去實現(xiàn)JESD204B時鐘?
JESD204B協(xié)議介紹
JESD204B的優(yōu)勢
在Xilinx FPGA上快速實現(xiàn) JESD204B
![<b class='flag-5'>在</b>Xilinx <b class='flag-5'>FPGA</b><b class='flag-5'>上</b><b class='flag-5'>快速</b><b class='flag-5'>實現(xiàn)</b> <b class='flag-5'>JESD204B</b>](https://file1.elecfans.com//web2/M00/A6/B6/wKgZomUMP-GAfBmbAAAcsdjGvaI258.png)
JESD204B SystemC module 設計簡介(一)
![<b class='flag-5'>JESD204B</b> SystemC module 設計簡介(一)](https://file1.elecfans.com//web2/M00/A6/E9/wKgZomUMQTaAGi9HAAA3rv3fgCY712.png)
評論