曹鵬飛
摘 要:JESD204B接口是高速ADC和DAC芯片采用的數(shù)據(jù)通信接口之一,具有傳輸速率高,抗干擾能力強,芯片間同步方便等優(yōu)點。目前國內(nèi)JESD204B 接口應用多由國外集成芯片提供,缺乏自主性和靈活性。為了加強JESD204B 接口自主設(shè)計,文章闡述了基于FPGA GTX高速收發(fā)器實現(xiàn)JESD204B接口通信的方法,詳細說明了JESD204B接口的FPGA設(shè)計實現(xiàn)方案、同步化處理機制等內(nèi)容。利用多通道JESD204B接口實現(xiàn)高速串行數(shù)據(jù)的傳輸,有效解決了傳統(tǒng)并行數(shù)據(jù)采集存在的問題,滿足實際工程的應用需求。
關(guān)鍵詞:JESD204B;FPGA;高速串行傳輸;數(shù)據(jù)采集
模數(shù)轉(zhuǎn)換器(Analog-to-Digital Converter,ADC)和數(shù)模轉(zhuǎn)換器(Digital to Analog Converter,DAC)在眾多領(lǐng)域中應用非常廣泛,隨著工藝的發(fā)展和實際應用的需要,采樣速率和采樣精度越來越高,采用傳統(tǒng)的CMOS接口和LVDS接口已經(jīng)無法滿足設(shè)計的要求,而采用基于CML的JESD204B接口可以很好地解決這一問題,接口單通道速率可達12.5 Gb/s。在ADC/DAC與FPGA處理芯片之間實現(xiàn)JESD204B接口,可以有效完成芯片間的高速數(shù)據(jù)傳輸,并且具有減少器件管腳和封裝尺寸,減少占用布局空間,降低功耗等優(yōu)點。
1 JESD204B概述
JESD204B接口包括3個子類,分別為子類0、子類1和子類2。JESD204B接口包括3個子類,分別為子類0、子類1和子類2。3個子類的區(qū)別主要體現(xiàn)在同步方式各不相同。子類0不支持確定性延遲,而子類1和子類2能夠支持確定性延遲,可實現(xiàn)片間的數(shù)據(jù)同步。子類1通過SYSREF信號在芯片內(nèi)部產(chǎn)生幀時鐘和本地多幀時鐘(Local Multiframe Clock,LMFC),同步傳輸數(shù)據(jù)并在數(shù)字信道上實現(xiàn)已知和確定性延遲。子類2利用SYNC信號實現(xiàn)同樣的目的。目前在實際應用中,大部分的ADC和DAC主要采用的是子類1方式。
在JESD204B接口中定義了一些關(guān)鍵性的變量,其中比較重要的包括,M:轉(zhuǎn)換器數(shù);L:每個轉(zhuǎn)換器的通道數(shù);N:轉(zhuǎn)換器的分辨率;N:每個樣本的總位數(shù);F:每幀的8位字數(shù);K:每個多幀的幀數(shù)。通過設(shè)置不同變量的參數(shù)值,可以滿足不同類型的JESD204B接口應用的要求[1]。
2 FPGA接口實現(xiàn)設(shè)計方案
ADC或DAC芯片可以通過JESD204B接口與FPGA相連。設(shè)計采用XILINX 7系列FPGA芯片,內(nèi)部串行高速收發(fā)器包括4種類型,分別是GTP,GTX,GTH和GTZ。4種類型的收發(fā)器能夠支持的最高線速率不同。使用GTX串行收發(fā)器能夠提供的線速率最高可達12.5 Gb/s,可以滿足JESD204B接口速率的要求。
JESD204B收發(fā)系統(tǒng)結(jié)構(gòu)如圖1所示。
FPGA內(nèi)部JESD204B發(fā)送數(shù)據(jù)和接收數(shù)據(jù)邏輯框圖如圖2所示。
SYNC是同步指示信號,低電平有效。發(fā)送控制器負責通過控制信號對各模塊加以管理以完成數(shù)據(jù)的發(fā)送操作。初始通道序列生成器主要負責完成4個初始化多幀數(shù)據(jù)的產(chǎn)生。采樣數(shù)據(jù)Data信號可以設(shè)置為經(jīng)過擾碼處理或不經(jīng)過擾碼處理。為了進一步保證數(shù)據(jù)流具有同步檢測功能,在數(shù)據(jù)幀和多幀的幀尾利用字符對齊生成器完成特殊字符的替換。通過復用器完成對發(fā)送數(shù)據(jù)流的選擇和切換,再將數(shù)據(jù)送給GTX TX模塊。
在Xilinx GTX TX模塊中首先完成物理層8B/10B數(shù)據(jù)編碼,每個字節(jié)(8位)轉(zhuǎn)換的10位編碼數(shù)據(jù)包括“+”碼和“-”碼。10位編碼數(shù)據(jù)通過“+”碼和“-”碼的交叉使用,數(shù)據(jù)流中0和1的數(shù)量基本保持相等,從而保證傳輸信號達到直流平衡,同時有利于接收端通過時鐘恢復電路在線路數(shù)據(jù)中提取恢復時鐘。編碼完成后進行數(shù)據(jù)并串變換,經(jīng)過CML線路接口將串行bit流數(shù)據(jù)發(fā)送出去。
高速串行bit流數(shù)據(jù)在接收端首先被送給Xilinx GTX RX模塊,GTX RX模塊經(jīng)過SERDES串并變換電路處理后得到并行數(shù)據(jù),利用8B/10B解碼器完成并行數(shù)據(jù)解碼處理,解碼之后得到8 bit數(shù)據(jù),再將數(shù)據(jù)完成字符對齊和多通道對齊檢測操作。在數(shù)據(jù)接收過程中利用幀對齊檢測模塊完成幀同步處理,將被特殊字符替換的數(shù)據(jù)重新還原回來。根據(jù)擾碼設(shè)置選擇對數(shù)據(jù)進行解擾或非解擾操作,之后即可進行正常數(shù)據(jù)接收,最后按照JESD204B幀數(shù)據(jù)結(jié)構(gòu)將有效數(shù)據(jù)Data信號提取出來進行重組并送給后續(xù)處理電路[2]。
3 JESD204B鏈路同步機制
3.1 字符同步
在鏈路上電初始化期間,系統(tǒng)處于失步狀態(tài),鏈路進入字符同步(CGS)階段,發(fā)送端檢測接收端發(fā)送的同步指示信號SYNC,當檢測到SYNC信號為低電平時開始發(fā)送/K28.5/字符。
對于多通道數(shù)據(jù)傳輸,JESD204B接口中每條通道通過移位寄存器檢測到連續(xù)的4個/K28.5/字符,即在數(shù)據(jù)流中檢測到數(shù)據(jù)位為“BCBCBCBC”,控制位為“F”時,說明當前通道數(shù)據(jù)流中字符獲得同步。在數(shù)據(jù)傳輸過程中當處于失步狀態(tài)時,會發(fā)送連續(xù)的/K28.5/字符,可設(shè)移位寄存器進行狀態(tài)判斷,當1~L路通道字符都獲得同步后,此時同步指示信號SYNC即可拉高,表示發(fā)送端在下一個LMFC時鐘周期邊界可以開始發(fā)送初始通道對齊序列(Initial Channel Alignment Sequence,ILAS)。
3.2 通道對齊同步
ILAS如圖3所示。
初始通道對齊序列利用8B/10B編碼里的特殊字符對數(shù)據(jù)進行處理。8B/10B編碼可以分成特殊字符和數(shù)據(jù)字符。在初始通道對齊序列中,除了D代表普通數(shù)據(jù)字符以外,其他代表特殊字符。其中,A為/k28.3/,是線路對準符號;K為k28.5/,用于同步;C代表鏈路的配置數(shù)據(jù);R為/k28.0/,表示一個序列的開始;Q為/k28.4/,表示鏈路配置數(shù)據(jù)的開始。圖4為4通道對齊發(fā)送序列時序。
在初始通道對齊序列同步期間,F(xiàn)PGA接收端利用高速SERDES收發(fā)器對鏈路接收數(shù)據(jù)進行串并變換,當并行接口取32位時,接口通過32位移位寄存器進行ILAS多幀判斷。首先查找多幀1的R字符/k28.0/,當在數(shù)據(jù)流中檢測到數(shù)據(jù)位為“1C”,對應控制位為1時,即可判定檢測到多幀1起始字節(jié)。8位R字符/k28.0/在32位數(shù)據(jù)的出現(xiàn)位置有4種可能,因此,需要通過4位寄存器進行標識,作為多幀起始字節(jié)的判定標志。當特殊字符出現(xiàn)在7:0位時,用“0001”表示,當數(shù)據(jù)出現(xiàn)在15:8位時,用“0010”表示,以此類推。
根據(jù)對JESD204B接口設(shè)置,在確認幀頭標記后,需要在32位并行數(shù)據(jù)流中進行多幀周期計數(shù)并在周期結(jié)束確認多幀幀尾/k28.3/。此時幀尾判決結(jié)果受到數(shù)據(jù)位寬、K值、F值的影響。對于ILAS多幀信號,每一幀應該能夠檢測到確定的幀頭和幀尾,否則返回到失步狀態(tài)。當連續(xù)正常檢測到4個多幀后,即可以判定初始通道同步[3]。
當JESD204B接口由多路通道組成時,受PCB走線等因素影響,各通道傳輸線路之間的路徑時延可能存在偏差,接收端各通道初始通道對齊序列完成時刻無法保證完全一致。利用FPGA內(nèi)部的BLOCK RAM資源構(gòu)成多路FIFO緩沖器來完成多路通道的信號對齊,由各通道同步對齊指示信號作為寫使能信號,根據(jù)最后一路完成通道同步對齊的指示信號和LMFC多幀時鐘產(chǎn)生讀使能信號。通過對FIFO的讀寫操作控制,可以完成所有通道之間的初始通道對齊序列同步。對于一些ADC采樣芯片,可以在發(fā)送端采樣點的控制位添加多幀數(shù)據(jù)標志位,F(xiàn)PGA在接收端將數(shù)據(jù)送入FIFO數(shù)據(jù)緩存器,通過查找多幀數(shù)據(jù)標志位可以實現(xiàn)芯片通道間多幀數(shù)據(jù)同步化處理[4]。圖5為4通道對齊接收序列時序。
3.3 控制字符替換
為了保證線路能夠?qū)崟r的保持同步狀態(tài),除了字符同步和初始通道對齊序列同步以外,JESD204B接口還需要通過控制字符替換的方式實時檢測線路的同步狀態(tài),一旦線路檢測中發(fā)現(xiàn)控制字符有誤,接口將重新啟動同步初始化處理流程。控制字符替換分為擾碼數(shù)據(jù)處理和非擾碼數(shù)據(jù)處理兩種類型[5]。
4 結(jié)語
隨著數(shù)據(jù)采集系統(tǒng)傳輸速率越來越高,ADC/DAC通過并行接口傳輸數(shù)據(jù)存在著諸如串擾明顯、PCB布線困難等一系列問題,無法滿足高速數(shù)據(jù)傳輸?shù)囊蟆;赬ilinx FPGA高速GTX收發(fā)器接口實現(xiàn)JESD204B協(xié)議,可實現(xiàn)高速數(shù)據(jù)的串行化傳輸,解決了并行數(shù)據(jù)傳輸存在的問題,滿足實際工程的應用需求。
[參考文獻]
[1]田瑞,劉馬良.JESD204B協(xié)議的高速串行轉(zhuǎn)換器接口[J].西安電子科技大學學報,2017(4):69-74.
[2]呂志鵬,馬小兵,禹衛(wèi)東.JESD204BSubclass1模式時鐘設(shè)計與調(diào)試[J].電子技術(shù)應用,2018(4):56-60.
[3]吳志勇,王杰,程琦.基于AD9250的高速數(shù)據(jù)接口設(shè)計[J].電子制作,2018(2):11-12.
[4]張峰,王占江.基于JESD204協(xié)議的A/D采樣數(shù)據(jù)高速串行傳輸[J].電訊技術(shù),2014(2):174-177.
[5]李武建,吳兵,彭衛(wèi).基于AD9680的高速數(shù)據(jù)接口設(shè)計[J].山東工業(yè)技術(shù),2016(17):109.
Abstract:JESD204B interface is one of the data communication interfaces used by high-speed ADC and DAC chips. It has the advantages of high transmission rate, strong anti-interference ability and convenient synchronization between chips. At present, the application of JESD204B interface in China is mostly provided by foreign integrated chips, lacking autonomy and flexibility. In order to strengthen the self-design of JESD204B interface, this paper describes the method of realizing JESD204B interface communication based on the GTX high-speed transceiver of FPGA, and describes in detail the implementation scheme of JESD204B interface based on the FPGA, synchronization processing mechanism and so on. Using multi-channel JESD204B interface to achieve high-speed serial data transmission, effectively solve the problems of traditional parallel data acquisition, and meet the application requirements of practical projects.
Key words:JESD204B; FPGA; high speed serial transmission; data acquisition