文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.06.012
中文引用格式: 劉安,禹衛(wèi)東,馬小兵,等. 基于FPGA的高速串行數(shù)據(jù)收發(fā)接口設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2017,43(6):48-51.
英文引用格式: Liu An,Yu Weidong,Ma Xiaobing,et al. Design of high-speed serial data transceiver interface based on FPGA[J].Application of Electronic Technique,2017,43(6):48-51.
0 引言
數(shù)據(jù)轉(zhuǎn)換器包括模數(shù)轉(zhuǎn)換(Analog-to-Digital Converter,ADC)和數(shù)模轉(zhuǎn)換(Digital-to-Analog Converter,DAC),是集成電路中的重要組成部分。在數(shù)字信號(hào)處理技術(shù)發(fā)展的過(guò)程中,普通的數(shù)據(jù)轉(zhuǎn)換器已難以滿足用戶對(duì)數(shù)據(jù)傳輸速率和轉(zhuǎn)換速率的需求,這促使了高速ADC/DAC及其相關(guān)技術(shù)的快速發(fā)展。
傳統(tǒng)的采樣數(shù)據(jù)多使用并行傳輸方式,該方式不僅使信號(hào)容易受到同步難、線間串?dāng)_大等問(wèn)題的影響,還帶來(lái)PCB布局布線復(fù)雜、板層多、成本高等諸多弊端。本文就該問(wèn)題研究了高速串行數(shù)據(jù)傳輸協(xié)議——JESD204B,并基于該協(xié)議設(shè)計(jì)了一種高速數(shù)據(jù)轉(zhuǎn)換器與FPGA之間的數(shù)據(jù)傳輸接口。最終通過(guò)以Xilinx Vertex-7系列FPGA為邏輯控制單元搭建電路進(jìn)行實(shí)驗(yàn)測(cè)試,驗(yàn)證了設(shè)計(jì)的正確性和可行性。
1 JESD204B協(xié)議的優(yōu)勢(shì)
互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)和低電壓差分信號(hào)(Low-Voltage Differential Signaling,LVDS)是數(shù)據(jù)轉(zhuǎn)換器與FPGA間常用的兩種接口電平標(biāo)準(zhǔn)。其中CMOS的瞬態(tài)電流會(huì)隨著數(shù)據(jù)轉(zhuǎn)換率的提高而增大;LVDS的電流和功耗雖然較為平穩(wěn),但接口可支持的最高速率受到限制(僅1~2 Gb/s)[1]。因此這兩種接口標(biāo)準(zhǔn)已不再能滿足用戶對(duì)轉(zhuǎn)換器在轉(zhuǎn)換速率、分辨率和更低功耗等方面的需求。
JESD204B作為高速串行協(xié)議提供了一種高性能低功耗的接口解決方案,它的主要優(yōu)勢(shì)在于:簡(jiǎn)化了系統(tǒng)設(shè)計(jì),使得PCB布局布線更輕松;減少了芯片引腳數(shù)量,從原來(lái)的多引腳低速并行接口升級(jí)到少引腳高速度串行接口;降低了總體成本,能夠?qū)崿F(xiàn)更小的IC封裝和電路板設(shè)計(jì),從而降低成本?;谶@些優(yōu)勢(shì),JESD204B特別適合一些高速應(yīng)用,如4G、LTE、醫(yī)學(xué)影像處理、雷達(dá)通訊等。
目前,主流的半導(dǎo)體廠商都推出了支持該協(xié)議的高速數(shù)據(jù)轉(zhuǎn)換器,因此針對(duì)高速數(shù)據(jù)串行傳輸?shù)慕涌谠O(shè)計(jì)是非常必要的。由于FPGA具有硬件可編程性、運(yùn)行速度快、性能穩(wěn)定等優(yōu)勢(shì),且擁有多個(gè)Bank 的高速收發(fā)器能夠支持JESD204B協(xié)議,故在應(yīng)用中多使用FPGA作為邏輯器件與ADC/DAC配合使用,方案架構(gòu)如圖1[2]。
2 JESD204B協(xié)議接口結(jié)構(gòu)
JESD204B協(xié)議主要由4個(gè)部分組成,分別是物理層、鏈路層、傳輸層和應(yīng)用層[3],如圖2。
其中物理層用來(lái)實(shí)現(xiàn)高速串行數(shù)據(jù)的發(fā)送與接收、串行與并行之間的形式轉(zhuǎn)換,即以比特流的形式來(lái)傳輸數(shù)據(jù)。本設(shè)計(jì)中使用FPGA的transceiver模塊來(lái)完成物理層的功能。
鏈路層主要負(fù)責(zé)對(duì)采樣數(shù)據(jù)進(jìn)行8b/10b解碼、編碼以及后續(xù)鏈路操作。其中,發(fā)送端數(shù)據(jù)鏈路層負(fù)責(zé)完成同步字符/K/=/K28.5/的產(chǎn)生與編碼、多幀同步、鏈路對(duì)齊、鏈路同步等操作[2];接收端數(shù)據(jù)鏈路層負(fù)責(zé)完成向發(fā)射端請(qǐng)求同步信號(hào)、/K/=/K28.5/字符的檢測(cè)與還原。
傳輸層主要完成對(duì)發(fā)送和接收數(shù)據(jù)的格式進(jìn)行相關(guān)操作。發(fā)送端傳輸層負(fù)責(zé)根據(jù)用戶對(duì)數(shù)據(jù)格式的配置對(duì)數(shù)據(jù)重新打包,包括對(duì)采樣數(shù)據(jù)添加尾碼以及控制位等;而對(duì)于接收端傳輸層而言,是根據(jù)用戶對(duì)數(shù)據(jù)格式的配置來(lái)剝離尾碼及控制位,恢復(fù)出原始數(shù)據(jù)并送至總線。
3 高速串行數(shù)據(jù)傳輸接口設(shè)計(jì)與實(shí)現(xiàn)
3.1 總體設(shè)計(jì)方案
選用Xilinx公司V7系列FPGA-XC7VX690T作為設(shè)計(jì)的邏輯控制單元,其內(nèi)部集成了80組高速收發(fā)器GTH,所支持的最高線上速率為13.1 Gb/s,而JESD204B協(xié)議的傳輸速率上限為12.5 Gb/s,因此滿足設(shè)計(jì)要求。
為了確定時(shí)鐘配置,首先要計(jì)算線上速率。設(shè)采樣率為600 MS/s,每個(gè)采樣數(shù)據(jù)的精度為16位,那么計(jì)算得到線上速率為(600 M×16) b/s,又因?yàn)樵趥鬏數(shù)倪^(guò)程中經(jīng)過(guò)8 b/10 b編碼,因此總的線上速率為(600 M×16) b/s/8×10=12 Gb/s,逼近了協(xié)議所能支持的最大速率。為了兼顧采樣率與線上速率,將采樣數(shù)據(jù)拆分為高8位與低8位,分別通過(guò)兩個(gè)通道進(jìn)行傳輸。此時(shí)單通道上的速率降為6 Gb/s,接近協(xié)議傳輸速率上限的一半且保證了采樣率。進(jìn)而依據(jù)core clk=line rate/40的關(guān)系計(jì)算出本地時(shí)鐘為150 MHz。為了保證時(shí)鐘信號(hào)的質(zhì)量,選擇由外部信號(hào)源提供600 MHz時(shí)鐘信號(hào),再由時(shí)鐘芯片進(jìn)行4分頻產(chǎn)生差分時(shí)鐘信號(hào)輸入FPGA。最后進(jìn)行鏈路參數(shù)設(shè)計(jì),主要涉及到以下幾個(gè)重要參數(shù):
L:鏈路中通道的個(gè)數(shù)
F:每幀中的字節(jié)個(gè)數(shù)
S:每個(gè)數(shù)據(jù)轉(zhuǎn)換器每幀轉(zhuǎn)換的樣本個(gè)數(shù)
K:每多幀中的幀數(shù)
M:每個(gè)器件中數(shù)據(jù)轉(zhuǎn)換器的數(shù)量
因此根據(jù)之前討論的采樣率與時(shí)鐘頻率問(wèn)題,將鏈路參數(shù)配置如表1所示。
數(shù)據(jù)傳輸方案使用高密度形式,即選擇兩個(gè)通道分別傳送采樣數(shù)據(jù)的高8位與低8位。因?yàn)槊總€(gè)通道緩存數(shù)據(jù)位寬為32位,故兩個(gè)通道在150 MHz本地時(shí)鐘下,每個(gè)周期能夠傳輸4個(gè)采樣點(diǎn)的信息,滿足600 MS/s的采樣率。
3.2 傳輸數(shù)據(jù)同步機(jī)制
在數(shù)據(jù)傳輸過(guò)程中,無(wú)論是在發(fā)射端與接收端之間,還是兩個(gè)通道之間都需要做到嚴(yán)格的同步才能夠保證采樣數(shù)據(jù)的正確傳輸與恢復(fù)。在JESD204B協(xié)議中,通過(guò)在不同階段定義不同的數(shù)據(jù)幀結(jié)構(gòu)來(lái)完成同步操作。在數(shù)據(jù)鏈路層,主要使用8 b/10 b編碼規(guī)范定義的特殊字符-K碼來(lái)完成鏈路同步以及構(gòu)成數(shù)據(jù)幀[2]。在進(jìn)入用戶數(shù)據(jù)傳輸狀態(tài)前,鏈路需經(jīng)過(guò)代碼組同步、初始化幀同步,過(guò)程如圖3。
主要步驟包括:
(1)接收端向發(fā)送端發(fā)送同步請(qǐng)求信號(hào),即拉低SYNC信號(hào);
(2)發(fā)送端接收到同步請(qǐng)求信號(hào)后,開(kāi)始向接收端連續(xù)發(fā)送/K28.5/字符;
(3)接收端接收到至少連續(xù)4個(gè)/K28.5/字符后,取消同步請(qǐng)求(拉高SYNC信號(hào)),標(biāo)志著代碼組同步的完成,然后在下一個(gè)本地幀時(shí)鐘的上升沿進(jìn)入信道初始化幀同步階段[3]。
代碼組、初始化幀結(jié)構(gòu)及同步過(guò)程時(shí)序如圖4。
其中, /K/字符用于首先進(jìn)行的代碼組同步;/R/字符標(biāo)志著初始化多幀的開(kāi)始;/A/字符標(biāo)志著初始化多幀的結(jié)束;/Q/字符用于指示接收端,用戶所配置的信息即將開(kāi)始[4]??梢?jiàn),通過(guò)8 b/10 b編碼結(jié)合控制字不僅可以使鏈路得到正確的同步以便對(duì)齊,同時(shí)也為監(jiān)控鏈路、檢查錯(cuò)誤提供了一種方法。各字符定義如下:
/K/=/K28.5/;
/R/=/K28.0/;
/A/=/K28.3/;
/Q/=/K28.4/;
3.3 數(shù)據(jù)傳輸方案
正如3.2節(jié)中討論那樣,既要兼顧采樣率又要考慮串行線上最大速率,因此采用如圖5所示的高密度傳輸方案:在發(fā)射端使用兩個(gè)通道分別傳送采樣點(diǎn)的高、低8位。
4 實(shí)驗(yàn)測(cè)試結(jié)果分析
4.1 設(shè)計(jì)框架圖
實(shí)驗(yàn)采用FPGA自收發(fā)環(huán)路來(lái)驗(yàn)證所設(shè)計(jì)數(shù)據(jù)傳輸接口的邏輯功能,即在發(fā)送端與接收端分別使用兩對(duì)差分的GTH高速串行收發(fā)器,信號(hào)從發(fā)送端輸出后經(jīng)隔直電容再輸入至接收端,線上傳輸速率為6 Gb/s,本地時(shí)鐘與高速串行收發(fā)器的參考時(shí)鐘均為150 MHz。設(shè)計(jì)電路單板層數(shù)為8層,設(shè)計(jì)框架如圖6。
4.2 測(cè)試結(jié)果
首先需要通過(guò)AXI-LITE接口分別對(duì)收發(fā)接口進(jìn)行鏈路參數(shù)的配置,包括數(shù)據(jù)打包格式、鏈路選擇、同步方式等,以保證數(shù)據(jù)傳輸鏈路的正確建立,其時(shí)序如圖7。
為了驗(yàn)證傳輸數(shù)據(jù)的正確性與同步性,實(shí)驗(yàn)選擇遞增碼作為測(cè)試碼以便發(fā)現(xiàn)錯(cuò)誤,假設(shè)一個(gè)采樣點(diǎn)的位寬為16位,測(cè)試碼見(jiàn)表2。
由于使用兩個(gè)lane分別傳輸采樣數(shù)據(jù)的高8位和低8位,而每個(gè)lane為32 bit位寬,因此在接收端得到的數(shù)據(jù)是64位。這64位數(shù)據(jù)中包含了4個(gè)樣本點(diǎn)的信息。故將在FPGA接收端觀察到的數(shù)據(jù)拆分成了4路,得到的是4路鋸齒波,測(cè)試結(jié)果如圖8和圖9。
通過(guò)圖8可以看出在接收端可以準(zhǔn)確地恢復(fù)出發(fā)送的數(shù)據(jù),無(wú)錯(cuò)碼、亂碼存在,證明了發(fā)射與接收的正確性。同時(shí)通過(guò)圖9可以看出波形是相位對(duì)齊的,說(shuō)明兩個(gè)lane之間是同步的。
5 結(jié)束語(yǔ)
高速串行傳輸是今后高性能ADC和DAC的發(fā)展趨勢(shì)。本文通過(guò)分析串行協(xié)議JESD204B,設(shè)計(jì)了一種高速數(shù)據(jù)自收發(fā)接口,并基于Xilinx Vertex-7 FPGA 搭建實(shí)驗(yàn)電路,實(shí)現(xiàn)了數(shù)據(jù)的高速串行收發(fā),驗(yàn)證了設(shè)計(jì)的正確性與有效性。本設(shè)計(jì)中的發(fā)射接口可以配合DAC使用,接收接口可以配合ADC使用,具有一定的工程應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 胥京宇.JESD204:更先進(jìn)的高速轉(zhuǎn)換器至FPGA接口標(biāo)準(zhǔn)[J].世界電子元器件,2013(6):68-69.
[2] 顧大曄.JESD204B協(xié)議在FPGA/DSP中的應(yīng)用研究[J].中國(guó)集成電路,2015,24(5):17-20.
[3] JEDEC. Serial interface for data converters JESD204B.01[S].USA:JEDEC.2011.
[4] Jonathan Harris.JESD204B中的鏈路同步和對(duì)齊[J].技術(shù)前沿,2013(9):36-37.
[5] Xilinx.Xilinx 7 series FPGAs configurable logic block user guide[M].USA:Xilinx,2014.
[6] Xilinx.Analog for Xilinx FPGAs[M].USA:Xilinx,2015.
[7] Xilinx.7 Series FPGAs GTX/GTH Transceivers[M].USA:Xilinx,2014.
[8] Jonathan Harris.JESD204 標(biāo)準(zhǔn)解析[J].今日電子,2012(12):31-33.
[9] 張峰,王占江.基于JESD204協(xié)議的A/D采樣數(shù)據(jù)高速串行傳輸[J].電訊技術(shù),2014,54(2):174-177.
[10] Analog Devices.JESD204B Survival Guide[M].USA:Analog Devices.2013.
[11] 何賓.Xilinx FPGA設(shè)計(jì)權(quán)威指南Vivado集成設(shè)計(jì)環(huán)境[M].北京:清華大學(xué)出版社,2014.
作者信息:
劉 安1,2,禹衛(wèi)東1,馬小兵1,呂志鵬1,2
(1.中國(guó)科學(xué)院電子學(xué)研究所,北京100190;2.中國(guó)科學(xué)院大學(xué) 電子電氣與通信工程學(xué)院,北京100039)