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