張金鳳 孟愛權(quán) 袁子喬
(西安電子工程研究所 西安 710100)
信號 數(shù)據(jù)處理
基于JESD204B協(xié)議的高速數(shù)據(jù)傳輸接口設(shè)計與實現(xiàn)
張金鳳 孟愛權(quán) 袁子喬
(西安電子工程研究所 西安 710100)
為解決高速AD采集項目中PCB布線復(fù)雜及多通道數(shù)據(jù)同步的問題,對基于JESD204B協(xié)議的數(shù)據(jù)傳輸接口進(jìn)行了研究。文中利用Xilinx FPGA的GTX高速收發(fā)器,實現(xiàn)了基于JESD204B協(xié)議的10Gbps數(shù)據(jù)傳輸。簡述了該系統(tǒng)的架構(gòu),詳細(xì)地闡述了JESD204B鏈路建立的關(guān)鍵參數(shù)配置和數(shù)據(jù)幀解碼的軟件設(shè)計,并結(jié)合Matlab程序?qū)ο到y(tǒng)的指標(biāo)進(jìn)行測試。
JESD204B協(xié)議;高速串口;同步
越來越高的采樣率以及數(shù)據(jù)精度要求推動了寬帶數(shù)據(jù)轉(zhuǎn)換的發(fā)展,現(xiàn)有的IO技術(shù)對轉(zhuǎn)換器提出了更高的要求,同時對PCB設(shè)計提出了更加復(fù)雜互聯(lián)密度要求,需要對大量的高速數(shù)字信號布線,而布線的結(jié)果直接影響著通道間采樣的同步效果。
JESD204B串行接口可以用來解決以上問題。JESD204B數(shù)據(jù)發(fā)送模塊可將來自ADC的并行數(shù)據(jù)組合成數(shù)據(jù)幀,并使用8B/10B編碼以及可選數(shù)據(jù)加擾技術(shù),輸出串行數(shù)據(jù)。在鏈路初始建立過程中,使用特殊控制字符來支持通道同步;此后的同步靠數(shù)據(jù)流中嵌入的附加控制字符來維持。JESD204B采用組幀的方式可以從本質(zhì)上實現(xiàn)多JESD204B通道之間的對齊,而且減少了器件之間的走線數(shù)量,降低了走線匹配要求,并消除了建立與保持時序約束問題,從而簡化了高速轉(zhuǎn)換器數(shù)據(jù)接口的實施。
1.1 協(xié)議簡介
JESD204B是高速模數(shù)轉(zhuǎn)換器通過串行接口鏈路連接后端數(shù)字信號處理設(shè)備的一種傳輸協(xié)議。該協(xié)議由JESD204和JESD204A協(xié)議基礎(chǔ)上發(fā)展而來,最大傳輸速率高達(dá)12.5Gbps/通道。JESD204B協(xié)議體系結(jié)構(gòu)可分為應(yīng)用層、傳輸層、鏈路層和物理層,其結(jié)構(gòu)框圖如圖 1所示[1]。應(yīng)用層支持JESD204B鏈路的配置和數(shù)據(jù)映射。傳輸層負(fù)責(zé)將數(shù)據(jù)包裝為JESD204B幀以便映射為8bit。鏈路層主要實現(xiàn)8B/10B編解碼、確定發(fā)送/接收規(guī)則、鏈接操作等功能。物理層即串行器/解串器(SERDES)層,負(fù)責(zé)以線路速率發(fā)送或接收字符。
JESD204B協(xié)議規(guī)定了subclass0、subclass1、subclass2三類子集設(shè)備。subclass1、subclass2提供了建立確定性延遲的方法,這在需要同步多個器件或需要系統(tǒng)同步或固定延遲的應(yīng)用中非常重要[2]。本文主要對subclass1子類同步機(jī)制進(jìn)行介紹。
1.2 同步機(jī)制
通常高速串行協(xié)議的核心部分包含數(shù)據(jù)幀結(jié)構(gòu)和同步機(jī)制[3]。JESD204B協(xié)議是基于serdes的串行協(xié)議,并且在數(shù)據(jù)傳輸?shù)牟煌诫A段定義了不同的數(shù)據(jù)幀結(jié)構(gòu)。JESD204B的Subclass1通過三個階段來建立同步鏈路:代碼組同步(CGS)、初始通道對齊序列(ILAS)和用戶數(shù)據(jù)。其同步操作示意圖如圖2所示。
在CGS階段,接收端拉低SYNC并發(fā)送同步請求,發(fā)送端采樣到SYNC信號后開始發(fā)送/K28.5/bit。接收端正確接收到4個連續(xù)的/K28.5/bit后,釋放同步請求(拉高SYNC),完成代碼組同步。發(fā)送端捕捉SYNC信號的變化,并在下一個本地多幀時鐘(LMFC)邊界上啟動ILAS。
ILAS的主要作用是對齊鏈路的所有通道,驗證鏈路參數(shù),以及確定幀和多幀邊界在接收器的輸入數(shù)據(jù)流中的位置[5]。ILAS由4個多幀組成,/R/字符表示開始,/A/字符表示結(jié)束,如圖3所示。接收端按照固定的格式解析4個初始化多幀數(shù)據(jù),來更新接收端內(nèi)部相應(yīng)的控制/狀態(tài)寄存器。
代碼組同步及信道對齊后,就可正確接收用戶數(shù)據(jù)。在數(shù)據(jù)傳輸階段,通過控制字符監(jiān)控幀對齊[2]。
2.1 硬件設(shè)計
由于FPGA集成了可配置的高速物理PHY和可配置的JESD204BIP核,使用FPGA,用戶可以靈活地配置接口類型,構(gòu)建滿足自身需求的收發(fā)系統(tǒng),所以本系統(tǒng)基于FPGA進(jìn)行設(shè)計。該系統(tǒng)模塊包含1片時鐘管理芯片(AD9523)、1片數(shù)模轉(zhuǎn)換器(AD9680)和一片 FPGA(XC7Z045),設(shè)計框圖如圖4所示。AD采樣的兩路并行數(shù)據(jù)轉(zhuǎn)換為4通道的高速差分串行數(shù)據(jù)通過JESD204BTX 發(fā) 送 到 JESD204BPHY,JESD204BRX接收到的數(shù)據(jù)通過數(shù)據(jù)解析得到兩路14位數(shù)據(jù)0和數(shù)據(jù)1。
ADC選用ADI公司的雙通道14位1GSPS模數(shù)轉(zhuǎn)換器AD9680,該ADC全功率帶寬可以支持高達(dá)2GHz的中頻信號采樣。AD9680是一款支持支持JESD204B子類1的ADC器件。時鐘芯片選用ADI公司的AD9523,該時鐘芯片最多可支持14路時鐘輸出,最大支持1G時鐘輸出。AD9523產(chǎn)生1路ADCCLK,1路JESD204BIP核的 REFCLK,2路 SYSREF同步時鐘,一路輸入到AD9680,一路輸入到FPGA。本系統(tǒng)用到的所有時鐘都為同源時鐘,保證發(fā)送器和接收器共享相同的器件時鐘或其諧波,這樣就能達(dá)到更好地同步效果。
2.2 軟件設(shè)計
在FPGA中基于GTX實現(xiàn)JESD204B協(xié)議,其難點主要包括對時鐘芯片、ADC以及JESD204BIPcore的參數(shù)配置,并且需要對接收到的數(shù)據(jù)幀解析。
JESD204B鏈路建立的關(guān)鍵參數(shù)有:轉(zhuǎn)換器數(shù)M、物理通道數(shù)L、每幀的8位字?jǐn)?shù)F、每個多幀的幀數(shù)K以及轉(zhuǎn)換器分辨率N和每個樣本使用的位數(shù)N'。用幀模式傳輸數(shù)據(jù),配置數(shù)據(jù)幀參數(shù)F=1,K=32。JESD204B發(fā)送端(AD9680輸出)和JESD204B接收端(FPGA)的這些參數(shù)必須匹配。
配置整個系統(tǒng)的參數(shù)時,必須先確定AD的采樣率。當(dāng)AD采樣率為1GHz時,采樣后的數(shù)據(jù)率為1Gsps,AD位數(shù)14位。AD9680配置為使用兩個轉(zhuǎn)換器和四個數(shù)據(jù)通道時,即 M=2,L=4。SERDOUT0和SERDOUT1用來傳輸通道0的數(shù)據(jù),SERDOUT2和SERDOUT3用來傳輸通道1的數(shù)據(jù),SERDOUT0和SERDOUT2分別用來傳通道0和通道1的低八位,SERDOUT1和SERDOUT3分別用來傳通道0和通道1的高六位以及兩位結(jié)束位,所以轉(zhuǎn)換器分辨率N=8,每個樣本使用的位數(shù)N'=16,所以每個SERDOUT上的數(shù)據(jù)率為LaneLineRate=M·N’·(10/8)·Fs/L=10Gsps。這樣接收端GTX的數(shù)據(jù)接收速率為10Gsps。
本方案中JESD204B協(xié)議是通過Xilinx公司提供的IP核實現(xiàn)板間串行數(shù)據(jù)同步傳輸?shù)?。將IP核配置為接收端,4鏈路模式,每鏈路速率為10Gbps,參考時鐘為500MHz。Subclass1工作模式、每幀的8位字?jǐn)?shù)F和每個多幀的幀數(shù)K等參數(shù)需要通過AXI4-Lite總線控制接口配置。
根據(jù)系統(tǒng)所配置的工作參數(shù),對時鐘芯片進(jìn)行配置,輸出四路工作時鐘,分別是AD采樣時鐘ADCCLK為1GHz,GTX參考時鐘REFCLK為500MHz,兩路SYSREF為7.8125MHz。
根據(jù)JESD204B協(xié)議配置的參數(shù),數(shù)據(jù)收到后,為正確解析ADC轉(zhuǎn)化器發(fā)出的數(shù)據(jù),應(yīng)該注意的是其數(shù)據(jù)格式的分布。重組格式如下所示:
設(shè)計完成后,在實驗室對該系統(tǒng)進(jìn)行測試。采用一臺信號發(fā)生器產(chǎn)生正弦波模擬信號的輸入,AD9523的振蕩器輸入由125MHz晶振提供。分別對10MHz、251MHz和1251MHz的信號采樣,并將FPGA邏輯分析軟件Chipscope采樣的數(shù)據(jù)導(dǎo)入Matlab軟件中進(jìn)行計算。在Matlab中分別對這三種不同頻率的數(shù)據(jù)進(jìn)行重組,重組結(jié)果分別如圖5、圖6和圖7的(a)所示,可以看出波形是單頻點正弦波,證明了數(shù)據(jù)解析重組的正確性。
對重組后的數(shù)據(jù)進(jìn)行FFT運算得到采樣信號的頻譜,計算出無雜散動態(tài)、有效位數(shù)和信噪比。在常溫工作條件下,對10MHz的基帶信號采樣的有效位為9.5523bit,無雜散動態(tài)范圍為65.0123dB,信噪比可達(dá)63.5544dB。對251MHz的中頻信號采樣的有效位為8.9807bit,無雜散動態(tài)范圍為70.7586dB,信噪比可達(dá)56.4127dB。對1251MHz的中頻信號欠采樣的有效位為7.5695bit,無雜散動態(tài)范圍為60.3335dB,信噪比也能達(dá)到47.3281dB。
文中基于JESD204B協(xié)議,利用Xilinx FPGA的GTX高速收發(fā)器實現(xiàn)了10Gbps的高速數(shù)據(jù)傳輸。對該方案的架構(gòu)、JESD204B鏈路的參數(shù)配置以及數(shù)據(jù)幀解碼等進(jìn)行詳細(xì)介紹。并對采樣結(jié)果進(jìn)行了指標(biāo)測試。測試結(jié)果顯示,本方案能夠很好地實現(xiàn)高速數(shù)據(jù)的采集,其較小的PCB面積以及穩(wěn)定的同步機(jī)制為高速AD采樣提供了保障。
[1]Jonathan Harris.了解 JESD204B規(guī)范的各層—從高速ADC的角度出發(fā)[D].
[2]Anthony Desimone,Michael Giancioppo.抓住JESD204B接口功能的關(guān)鍵問題[D].
[3]顧大曄.中國集成電路JESD204B協(xié)議在FPGA/DSP中的應(yīng)用研究[J].中國集成電路,2015.151:17-20.
[4]JEDEC STANDARD.Serial Interface for Data Converters JESD204B.01.2011.6.
[5]ADI公司應(yīng)用工程師 JonathanHarris.了解JESD204B規(guī)范的各層—從高速ADC的角度出發(fā).
Design and Implementation of a High-Speed Data Transmission Interface Based on JESD204B Protocol
Zhang Jinfeng, Meng Aiquan,Yuan Ziqiao
(Xi'an Electronic Engineering Research Institute,Xi'an 710100)
A 10Gbps data transmission interface based on JESD204B protocol is implemented with Xilinx FPGA GTX transceivers to solve the problem of PCB routing complexity and inter symbol synchronization in AD acquisition.The system architecture is briefly described.The key parameters configuration of JESD204B link establishment and design of data frame and the method of decoding are analyzed in detail,the technical specification is tested by using Matlab.
JESD204B protocol;high-speed serial I/O;synchronization
TN957.52
A
1008-8652(2017)01-016-04
2017-02-12
張金鳳(1987-),女,碩士研究生。研究方向為雷達(dá)信號處理技術(shù)。