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

JESD204B標(biāo)準(zhǔn)及演進(jìn)歷程
JESD204B是FPGA中的新流行語(yǔ)嗎

JESD204B使用說(shuō)明

評(píng)論