文獻(xiàn)標(biāo)識碼: 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ù)字信號處理技術(shù)發(fā)展的過程中,普通的數(shù)據(jù)轉(zhuǎn)換器已難以滿足用戶對數(shù)據(jù)傳輸速率和轉(zhuǎn)換速率的需求,,這促使了高速ADC/DAC及其相關(guān)技術(shù)的快速發(fā)展,。
傳統(tǒng)的采樣數(shù)據(jù)多使用并行傳輸方式,該方式不僅使信號容易受到同步難,、線間串?dāng)_大等問題的影響,,還帶來PCB布局布線復(fù)雜,、板層多、成本高等諸多弊端,。本文就該問題研究了高速串行數(shù)據(jù)傳輸協(xié)議——JESD204B,,并基于該協(xié)議設(shè)計(jì)了一種高速數(shù)據(jù)轉(zhuǎn)換器與FPGA之間的數(shù)據(jù)傳輸接口。最終通過以Xilinx Vertex-7系列FPGA為邏輯控制單元搭建電路進(jìn)行實(shí)驗(yàn)測試,,驗(yàn)證了設(shè)計(jì)的正確性和可行性,。
1 JESD204B協(xié)議的優(yōu)勢
互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)和低電壓差分信號(Low-Voltage Differential Signaling,,LVDS)是數(shù)據(jù)轉(zhuǎn)換器與FPGA間常用的兩種接口電平標(biāo)準(zhǔn),。其中CMOS的瞬態(tài)電流會隨著數(shù)據(jù)轉(zhuǎn)換率的提高而增大;LVDS的電流和功耗雖然較為平穩(wěn),,但接口可支持的最高速率受到限制(僅1~2 Gb/s)[1],。因此這兩種接口標(biāo)準(zhǔn)已不再能滿足用戶對轉(zhuǎn)換器在轉(zhuǎn)換速率、分辨率和更低功耗等方面的需求,。
JESD204B作為高速串行協(xié)議提供了一種高性能低功耗的接口解決方案,,它的主要優(yōu)勢在于:簡化了系統(tǒng)設(shè)計(jì),使得PCB布局布線更輕松,;減少了芯片引腳數(shù)量,,從原來的多引腳低速并行接口升級到少引腳高速度串行接口;降低了總體成本,,能夠?qū)崿F(xiàn)更小的IC封裝和電路板設(shè)計(jì),,從而降低成本?;谶@些優(yōu)勢,,JESD204B特別適合一些高速應(yīng)用,如4G,、LTE,、醫(yī)學(xué)影像處理、雷達(dá)通訊等,。
目前,,主流的半導(dǎo)體廠商都推出了支持該協(xié)議的高速數(shù)據(jù)轉(zhuǎn)換器,因此針對高速數(shù)據(jù)串行傳輸?shù)慕涌谠O(shè)計(jì)是非常必要的,。由于FPGA具有硬件可編程性,、運(yùn)行速度快、性能穩(wěn)定等優(yōu)勢,,且擁有多個(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,。
其中物理層用來實(shí)現(xiàn)高速串行數(shù)據(jù)的發(fā)送與接收、串行與并行之間的形式轉(zhuǎn)換,,即以比特流的形式來傳輸數(shù)據(jù)。本設(shè)計(jì)中使用FPGA的transceiver模塊來完成物理層的功能,。
鏈路層主要負(fù)責(zé)對采樣數(shù)據(jù)進(jìn)行8b/10b解碼,、編碼以及后續(xù)鏈路操作。其中,,發(fā)送端數(shù)據(jù)鏈路層負(fù)責(zé)完成同步字符/K/=/K28.5/的產(chǎn)生與編碼,、多幀同步、鏈路對齊,、鏈路同步等操作[2],;接收端數(shù)據(jù)鏈路層負(fù)責(zé)完成向發(fā)射端請求同步信號、/K/=/K28.5/字符的檢測與還原,。
傳輸層主要完成對發(fā)送和接收數(shù)據(jù)的格式進(jìn)行相關(guān)操作,。發(fā)送端傳輸層負(fù)責(zé)根據(jù)用戶對數(shù)據(jù)格式的配置對數(shù)據(jù)重新打包,包括對采樣數(shù)據(jù)添加尾碼以及控制位等,;而對于接收端傳輸層而言,,是根據(jù)用戶對數(shù)據(jù)格式的配置來剝離尾碼及控制位,恢復(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ù)倪^程中經(jīng)過8 b/10 b編碼,因此總的線上速率為(600 M×16) b/s/8×10=12 Gb/s,,逼近了協(xié)議所能支持的最大速率,。為了兼顧采樣率與線上速率,將采樣數(shù)據(jù)拆分為高8位與低8位,分別通過兩個(gè)通道進(jìn)行傳輸,。此時(shí)單通道上的速率降為6 Gb/s,,接近協(xié)議傳輸速率上限的一半且保證了采樣率。進(jìn)而依據(jù)core clk=line rate/40的關(guān)系計(jì)算出本地時(shí)鐘為150 MHz,。為了保證時(shí)鐘信號的質(zhì)量,,選擇由外部信號源提供600 MHz時(shí)鐘信號,再由時(shí)鐘芯片進(jìn)行4分頻產(chǎn)生差分時(shí)鐘信號輸入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í)鐘頻率問題,將鏈路參數(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ù)傳輸過程中,,無論是在發(fā)射端與接收端之間,還是兩個(gè)通道之間都需要做到嚴(yán)格的同步才能夠保證采樣數(shù)據(jù)的正確傳輸與恢復(fù),。在JESD204B協(xié)議中,,通過在不同階段定義不同的數(shù)據(jù)幀結(jié)構(gòu)來完成同步操作。在數(shù)據(jù)鏈路層,,主要使用8 b/10 b編碼規(guī)范定義的特殊字符-K碼來完成鏈路同步以及構(gòu)成數(shù)據(jù)幀[2],。在進(jìn)入用戶數(shù)據(jù)傳輸狀態(tài)前,鏈路需經(jīng)過代碼組同步,、初始化幀同步,,過程如圖3。
主要步驟包括:
(1)接收端向發(fā)送端發(fā)送同步請求信號,,即拉低SYNC信號,;
(2)發(fā)送端接收到同步請求信號后,開始向接收端連續(xù)發(fā)送/K28.5/字符,;
(3)接收端接收到至少連續(xù)4個(gè)/K28.5/字符后,,取消同步請求(拉高SYNC信號),標(biāo)志著代碼組同步的完成,,然后在下一個(gè)本地幀時(shí)鐘的上升沿進(jìn)入信道初始化幀同步階段[3],。
代碼組、初始化幀結(jié)構(gòu)及同步過程時(shí)序如圖4,。
其中,, /K/字符用于首先進(jìn)行的代碼組同步;/R/字符標(biāo)志著初始化多幀的開始;/A/字符標(biāo)志著初始化多幀的結(jié)束,;/Q/字符用于指示接收端,,用戶所配置的信息即將開始[4]??梢?,通過8 b/10 b編碼結(jié)合控制字不僅可以使鏈路得到正確的同步以便對齊,同時(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)測試結(jié)果分析
4.1 設(shè)計(jì)框架圖
實(shí)驗(yàn)采用FPGA自收發(fā)環(huán)路來驗(yàn)證所設(shè)計(jì)數(shù)據(jù)傳輸接口的邏輯功能,即在發(fā)送端與接收端分別使用兩對差分的GTH高速串行收發(fā)器,,信號從發(fā)送端輸出后經(jīng)隔直電容再輸入至接收端,,線上傳輸速率為6 Gb/s,本地時(shí)鐘與高速串行收發(fā)器的參考時(shí)鐘均為150 MHz,。設(shè)計(jì)電路單板層數(shù)為8層,,設(shè)計(jì)框架如圖6。
4.2 測試結(jié)果
首先需要通過AXI-LITE接口分別對收發(fā)接口進(jìn)行鏈路參數(shù)的配置,,包括數(shù)據(jù)打包格式,、鏈路選擇、同步方式等,,以保證數(shù)據(jù)傳輸鏈路的正確建立,,其時(shí)序如圖7。
為了驗(yàn)證傳輸數(shù)據(jù)的正確性與同步性,,實(shí)驗(yàn)選擇遞增碼作為測試碼以便發(fā)現(xiàn)錯(cuò)誤,,假設(shè)一個(gè)采樣點(diǎn)的位寬為16位,測試碼見表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路鋸齒波,測試結(jié)果如圖8和圖9,。
通過圖8可以看出在接收端可以準(zhǔn)確地恢復(fù)出發(fā)送的數(shù)據(jù),,無錯(cuò)碼、亂碼存在,,證明了發(fā)射與接收的正確性,。同時(shí)通過圖9可以看出波形是相位對齊的,說明兩個(gè)lane之間是同步的,。
5 結(jié)束語
高速串行傳輸是今后高性能ADC和DAC的發(fā)展趨勢,。本文通過分析串行協(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].中國集成電路,2015,,24(5):17-20.
[3] JEDEC. Serial interface for data converters JESD204B.01[S].USA:JEDEC.2011.
[4] Jonathan Harris.JESD204B中的鏈路同步和對齊[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.中國科學(xué)院電子學(xué)研究所,,北京100190,;2.中國科學(xué)院大學(xué) 電子電氣與通信工程學(xué)院,北京100039)