文獻(xiàn)標(biāo)識(shí)碼: A
OI:10.16157/j.issn.0258-7998.180772
中文引用格式: 蔣林,衡茜,張春茗,等. 基于3 GS/s 12 bit ADCs的高速串行接口控制層電路的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(8):47-51.
英文引用格式: Jiang Lin,Heng Qian,Zhang Chunming,et al. Design and implementation of high speed serial interface controller circuit for 3 GS/s 12 bit ADCs[J]. Application of Electronic Technique,2018,44(8):47-51.
0 引言
在第五代移動(dòng)通信中,高性能A/D、D/A轉(zhuǎn)換器是其發(fā)展的核心器件。因此,隨著轉(zhuǎn)換器分辨率和采樣速率的提高,多路并行數(shù)據(jù)傳輸不僅增加芯片的引腳設(shè)計(jì),還增加板級(jí)布線和系統(tǒng)互聯(lián)的硬件開(kāi)銷,直接增加系統(tǒng)成本。而且當(dāng)數(shù)據(jù)速率超過(guò)1 Gb/s時(shí),低電壓差分信號(hào)(Low-Voltage Differential Signaling,LVDS)技術(shù)難以滿足轉(zhuǎn)換器帶寬的需要。因此,用于數(shù)據(jù)轉(zhuǎn)換器的高速串行接口正在形成一種趨勢(shì),以支持更高速轉(zhuǎn)換器、靈活的時(shí)鐘以及確定性延遲等日漸嚴(yán)苛的要求[1]。
JESD204B針對(duì)高速數(shù)據(jù)轉(zhuǎn)換器的串行數(shù)據(jù)接口,不僅可以克服LVDS并行數(shù)據(jù)傳輸帶來(lái)的性能下降,同時(shí)最高可支持12.5 Gb/s,比LVDS吞吐量提高10倍,降低I/O需求及封裝尺寸,降低靜態(tài)功耗和節(jié)省系統(tǒng)成本。
目前,主流的高速高精度數(shù)據(jù)轉(zhuǎn)換器芯片均采用JESD204B接口,如ADI近期發(fā)布的14 bit 2.6 GS/s雙通道模數(shù)轉(zhuǎn)換器AD9689和TI推出的12 bit 8 GS/s射頻模數(shù)采樣芯片ADC12J4000[2]等。國(guó)內(nèi)相關(guān)技術(shù)雖然落后于國(guó)外,但各高校和科研機(jī)構(gòu)針對(duì)不同的應(yīng)用均做了相關(guān)研究,并取得了一定的進(jìn)展。本文根據(jù)JESD204B標(biāo)準(zhǔn)設(shè)計(jì)了高速串行接口發(fā)送端控制層電路,主要包括傳輸層、數(shù)據(jù)鏈路層。通過(guò)搭建的硬件仿真平臺(tái),驗(yàn)證了控制層電路的正確性,并且其性能也很理想。
1 JESD204B標(biāo)準(zhǔn)概述
JESD204B是一種數(shù)模轉(zhuǎn)換器通過(guò)串行接口鏈路連接后端數(shù)字信號(hào)處理設(shè)備的標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)的體系結(jié)構(gòu)可分為應(yīng)用層、傳輸層、鏈路層和物理層,在功能上可將接收接口作為發(fā)送接口的逆過(guò)程。應(yīng)用層是負(fù)責(zé)JESD204B鏈路配置和數(shù)據(jù)映射。傳輸層主要是用戶根據(jù)數(shù)據(jù)格式的配置來(lái)對(duì)數(shù)據(jù)結(jié)構(gòu)重新打包,以便映射為8位字節(jié)。加擾層為可選擇模塊,主要通過(guò)對(duì)8位字節(jié)的加解擾來(lái)擴(kuò)展頻譜,從而減少電磁干擾效應(yīng)。數(shù)據(jù)鏈路層主要實(shí)現(xiàn)同步字符的產(chǎn)生、多幀同步、鏈路對(duì)齊、鏈路同步等用于通道對(duì)準(zhǔn)監(jiān)控和維護(hù)的操作,以及8 B/10 B編解碼。物理層用于支持高速串行數(shù)據(jù)的發(fā)送與接收、串行與并行之間的轉(zhuǎn)換。其結(jié)構(gòu)如圖1所示。
2 發(fā)送端控制層電路的設(shè)計(jì)與實(shí)現(xiàn)
根據(jù)3 GS/s 12 bit高速高精度A/D轉(zhuǎn)換器以及JESD204B標(biāo)準(zhǔn)中子類1工作模式的要求,搭建了一個(gè)完整的發(fā)送端控制層電路框架,如圖2所示。本文設(shè)計(jì)的電路主要包括3個(gè)模塊:傳輸層模塊、數(shù)據(jù)鏈路層模塊和8 B/10 B編碼器模塊。首先根據(jù)轉(zhuǎn)換器數(shù)量M=4和樣本數(shù)S=4,將ADC過(guò)來(lái)的3 GS/s 12 bit數(shù)據(jù)送入傳輸層,然后對(duì)其降頻后通過(guò)讀取串行外設(shè)接口(Serial Parallel Interface,SPI)發(fā)送過(guò)來(lái)的配置信息來(lái)添加控制字符和尾字符的方式把數(shù)據(jù)打包成通道數(shù)L=8的并行數(shù)組;之后把每個(gè)通道的32 bit數(shù)據(jù)送入數(shù)據(jù)鏈路層,通過(guò)碼組同步(Code Group Synchronization,CGS)、初始通道對(duì)齊序列(Initial Lane Alignment Sequence,ILAS)階段和字符替換來(lái)實(shí)現(xiàn)同步字符的產(chǎn)生、多幀同步、鏈路對(duì)齊與同步等操作;最后把數(shù)據(jù)送入8 B/10 B編碼模塊來(lái)完成控制層接口的數(shù)據(jù)傳輸。
2.1 傳輸層模塊設(shè)計(jì)
傳輸層對(duì)于發(fā)送端控制層接口來(lái)說(shuō),是整個(gè)電路模塊設(shè)計(jì)的開(kāi)始,它主要通過(guò)添加控制字符和尾字符把接收的3 GS/s 12 bit ADC數(shù)據(jù)打包成8位并行數(shù)組。由于從ADC過(guò)來(lái)的數(shù)據(jù)速率很高,并且考慮在FPGA板上可實(shí)現(xiàn)的最高頻率問(wèn)題,因此在傳輸層的第一級(jí)將其轉(zhuǎn)換為4路并行的750 MS/s 12 bit的ADCs,并利用多相時(shí)鐘產(chǎn)生器對(duì)每一路數(shù)據(jù)進(jìn)行下采樣,產(chǎn)生4相、相位間隔90°的187.5 MHz的采樣時(shí)鐘。然后根據(jù)SPI寄存器配置參數(shù)來(lái)進(jìn)行合理的數(shù)據(jù)映射,即把多位樣本數(shù)據(jù)轉(zhuǎn)換成一系列非擾碼的8位字節(jié)。因此傳輸層總體電路結(jié)構(gòu)可分為5個(gè)模塊:下采樣模塊、樣本緩存模塊、SPI寄存器配置參數(shù)讀取模塊、模式控制模塊和組幀器模塊。
下采樣模塊是對(duì)數(shù)據(jù)進(jìn)行S取4的采樣,進(jìn)而達(dá)到對(duì)整個(gè)系統(tǒng)降頻的目的。樣本緩存模塊是對(duì)前面下采樣模塊的樣本數(shù)據(jù)按由低到高依次先暫存在樣本緩存器中,緩存空間大小定義為256 bit。圖3為下采樣模塊送入樣本緩存模塊的數(shù)據(jù)組合格式,這樣的組合也有益于組幀時(shí)數(shù)據(jù)的讀取。SPI寄存器配置參數(shù)模塊主要是讀取SPI發(fā)送過(guò)來(lái)的配置信息,根據(jù)配置寄存器中定義的10 bit存儲(chǔ)參數(shù)值,為模式控制模塊提供組幀判斷信息。模式控制模塊是根據(jù)不同的配置參數(shù)組合對(duì)當(dāng)前的工作模式進(jìn)行判斷。表1是根據(jù)項(xiàng)目需求提出的6種工作模式以及所支持的映射組幀參數(shù)。組幀器模塊主要是根據(jù)模式控制模塊的組幀模式信息,按照J(rèn)ESD204B標(biāo)準(zhǔn)的數(shù)據(jù)映射方法完成對(duì)樣本緩存模塊采樣數(shù)據(jù)的組幀。這種映射方式有利于降低電路功耗,節(jié)省電路資源和減小電路面積。
2.2 數(shù)據(jù)鏈路層設(shè)計(jì)
數(shù)據(jù)鏈路層是整個(gè)發(fā)送端的關(guān)鍵組成部分。在數(shù)據(jù)鏈路層中,需要對(duì)傳輸層傳輸過(guò)來(lái)的數(shù)據(jù)進(jìn)行初始化幀同步、初始化通道同步和字節(jié)產(chǎn)生替換來(lái)建立正確的傳輸通道,然后采用8 B/10 B方式對(duì)數(shù)據(jù)進(jìn)行編碼,并生成特殊控制符來(lái)實(shí)現(xiàn)通道對(duì)準(zhǔn)監(jiān)控和維護(hù)。同時(shí),在設(shè)計(jì)該模塊電路時(shí)要兼顧速度、面積和功耗等資源。所以,將數(shù)據(jù)鏈路層分為鏈路控制模塊、CGS模塊、ILAS模塊、字符替換模塊以及多路數(shù)據(jù)選擇器模塊。
2.2.1 鏈路控制模塊
鏈路控制模塊是對(duì)整個(gè)數(shù)據(jù)鏈路層的控制,主要負(fù)責(zé)在鏈路層初始化過(guò)程、同步維持過(guò)程和重同步過(guò)程中發(fā)送對(duì)應(yīng)的數(shù)據(jù)和控制信號(hào),方便其余模塊根據(jù)其反饋信息進(jìn)行調(diào)整,從而完成鏈路初始化到正常數(shù)據(jù)發(fā)送操作的過(guò)程,如圖4所示的跳轉(zhuǎn)機(jī)制。
首先,鏈路在復(fù)位結(jié)束或收到再同步請(qǐng)求時(shí),進(jìn)入到CGS階段,不斷發(fā)送規(guī)定的碼組同步字符。若發(fā)現(xiàn)同步請(qǐng)求信號(hào)取消,狀態(tài)機(jī)就會(huì)轉(zhuǎn)移到ILAS階段。ILAS階段會(huì)將4個(gè)多幀序列發(fā)送完,然后發(fā)送相應(yīng)的指示信號(hào)給狀態(tài)機(jī),表明已完成該序列并請(qǐng)求狀態(tài)轉(zhuǎn)移??刂颇K接收到該信號(hào)有效后,將狀態(tài)機(jī)轉(zhuǎn)換到正常的數(shù)據(jù)發(fā)送階段,并選擇字符替換模塊輸出數(shù)據(jù)。
2.2.2 CGS模塊
CGS階段是鏈路層進(jìn)行初始化操作的第一步。主要通過(guò)Comma碼進(jìn)行字符邊界的檢測(cè),使得接收端在連續(xù)的串行數(shù)據(jù)流中檢測(cè)出字符的邊界。
具體實(shí)現(xiàn)過(guò)程是,當(dāng)鏈路系統(tǒng)發(fā)生復(fù)位或者重同步時(shí),接收端SYNC同步信號(hào)拉低置0,由此進(jìn)入CGS階段。在CGS階段期間,發(fā)送端發(fā)射一系列連續(xù)的標(biāo)志符/K28.5/(不少于F+9個(gè)/K28.5/字節(jié),F(xiàn)為每幀的字節(jié)數(shù)目),接收端在收到至少4個(gè)連續(xù)/K28.5/字符,并對(duì)無(wú)序比特流定邊界后就解除對(duì)發(fā)送端同步請(qǐng)求信號(hào)。發(fā)送端檢測(cè)到同步請(qǐng)求解除后,在下一個(gè)本地多幀時(shí)鐘上升沿停止發(fā)送/K28.5/字符,然后進(jìn)入ILAS階段。
2.2.3 ILAS模塊
當(dāng)系統(tǒng)完成CGS階段之后,發(fā)送端緊接著就進(jìn)入ILAS階段。在ILAS階段,一方面是為了發(fā)送鏈路配置數(shù)據(jù),另一方面是完成幀以及多幀初始化同步。ILAS由4個(gè)多幀組成,這4個(gè)多幀均以/R/=/K28.0/控制字符開(kāi)頭,以/A/=/K28.3/控制字符結(jié)尾,中間為正常數(shù)據(jù)。這樣可以讓接收端通過(guò)/A/字符來(lái)完成多幀末尾的對(duì)齊。除此之外,第二個(gè)多幀的第二個(gè)8位字節(jié)是/Q/=/K28.4/控制字符,它標(biāo)示著鏈路配置數(shù)據(jù)傳輸?shù)拈_(kāi)始,其中配置數(shù)據(jù)有14個(gè)字節(jié)。
2.2.4 字符替換模塊
在JESD204B協(xié)議中,用碼組同步和初始通道對(duì)齊序列來(lái)完成字節(jié)邊界同步和多通道對(duì)齊。當(dāng)系統(tǒng)完成了上述兩個(gè)階段后,在非擾碼模式下傳輸層將用戶數(shù)據(jù)直接發(fā)送到數(shù)據(jù)鏈路層的用戶數(shù)據(jù)階段。此時(shí),要對(duì)數(shù)據(jù)進(jìn)行同步字符替換,達(dá)到監(jiān)控、校正和通道對(duì)準(zhǔn),從而建立在發(fā)送端與接收端正確的傳輸通道,提高傳輸?shù)臏?zhǔn)確性。DATA字符替換模塊遵循如下規(guī)則:
(1)當(dāng)前幀的最后一個(gè)字節(jié)與多幀的最后一個(gè)字節(jié)不一致時(shí),如果當(dāng)前幀的最后一個(gè)字節(jié)和前一幀的最后一個(gè)字節(jié)相同時(shí),發(fā)送端應(yīng)該把當(dāng)前幀的最后一個(gè)字節(jié)用控制字符/F/=/K28.7/進(jìn)行替換。但如果前一幀的最后一個(gè)字節(jié)已經(jīng)是特殊控制字符,則當(dāng)前幀的最后一個(gè)字節(jié)不對(duì)其進(jìn)行替換,保持原始數(shù)據(jù)的正常傳輸。
(2)當(dāng)前幀的最后一個(gè)字節(jié)與多幀的最后一個(gè)字節(jié)一致時(shí),如果當(dāng)前幀的最后一個(gè)字節(jié)和前一幀的最后一個(gè)字節(jié)相同時(shí),發(fā)送端應(yīng)該把當(dāng)前幀的最后一個(gè)字節(jié)用控制字符/A/=/K28.3/進(jìn)行替換。與規(guī)則1不同的是,即使前一幀已經(jīng)用特殊控制字符替換過(guò)了,也應(yīng)該對(duì)原始數(shù)據(jù)進(jìn)行替換。
2.2.5 8 B/10 B編碼模塊
8 B/10 B編解碼最早由IBM公司提出,早期的查表法雖然實(shí)現(xiàn)起來(lái)較簡(jiǎn)單,但其速率、面積和功耗等資源方面受到了很大的限制。為了滿足JESD204B協(xié)議接口,本文采用極性信息簡(jiǎn)化編碼表對(duì)8 B/10 B編碼進(jìn)行實(shí)現(xiàn)。
對(duì)于新型8 B/10 B編碼來(lái)說(shuō),它主要是在保證DC平衡和轉(zhuǎn)換密度的情況下,利用3 B/4 B和5 B/6 B并行編碼來(lái)提升電路工作頻率。同時(shí)還采用一些特殊控制符來(lái)進(jìn)行誤碼監(jiān)測(cè)。本文就是基于這樣的設(shè)計(jì)將編碼電路分為K字符編碼器模塊和D字符編碼器模塊,其中K字符編碼器模塊采用直接編碼的方法,而D字符編碼器模塊分為5 B/6 B編碼和3 B/4 B編碼。首先進(jìn)行K字符編碼和D字符編碼的選擇,并且進(jìn)行對(duì)應(yīng)的初步編碼;然后對(duì)所對(duì)應(yīng)的編碼進(jìn)行修正,最后進(jìn)行選擇性輸出。其相關(guān)的主要編碼流程如圖5所示。
3 仿真與驗(yàn)證
3.1 驗(yàn)證方法
本文采用Modelsim 10.1軟件完成了JESD204B發(fā)送端控制層電路的前端仿真驗(yàn)證。采用Vivado 16.1軟件和Zynq-7000系列芯片XC7Z045FFG900-2 FPGA中的JESD204B PHY IP和Receiver IP[11]搭建硬件仿真驗(yàn)證平臺(tái),把控制層輸出的并行數(shù)據(jù)發(fā)送給PHY IP,經(jīng)過(guò)串化等一系列操作送給JESD204B Receiver IP,最后通過(guò)用ILA核抓取數(shù)據(jù)傳輸?shù)膶?shí)時(shí)波形圖和對(duì)比發(fā)送、接收的數(shù)據(jù),來(lái)實(shí)現(xiàn)硬件仿真驗(yàn)證,如圖6所示。
3.2 驗(yàn)證結(jié)果
用Vivado16.1將功能仿真正確的RTL級(jí)代碼綜合后的電路燒寫(xiě)到ZC706開(kāi)發(fā)板上,并使用ILA核抓取信號(hào)的實(shí)時(shí)波形進(jìn)行分析。圖7(a)和圖7(b)是鏈路建立后用戶數(shù)據(jù)傳輸?shù)膶?shí)時(shí)波形截圖,在經(jīng)過(guò)傳輸層輸出32 bit數(shù)據(jù)、鏈路層用戶數(shù)據(jù)、8 B/10 B編解碼和JESD204B Receiver IP輸出的32 bit數(shù)據(jù)后,對(duì)比發(fā)現(xiàn)發(fā)送和接收的數(shù)據(jù)無(wú)錯(cuò)碼,即驗(yàn)證了發(fā)送端控制層電路數(shù)據(jù)傳輸?shù)恼_性。
本文設(shè)計(jì)電路占用的FPGA資源如表2所示。除此之外,整個(gè)發(fā)送端控制層電路的功耗為0.467 W,建立時(shí)間的slack為0.235 ns,保持時(shí)間的slack為0.068 ns,并且經(jīng)過(guò)IP串化后的位速率達(dá)到7.5 Gb/s。
4 結(jié)論
隨著轉(zhuǎn)換器分辨率和速度不斷提高,JESD204B串行接口電路成為高速高精度數(shù)據(jù)轉(zhuǎn)換器的標(biāo)準(zhǔn)接口。本文根據(jù)JESD204B標(biāo)準(zhǔn)設(shè)計(jì)了應(yīng)用于3 GS/s 12 bit ADC發(fā)送端控制層接口,在滿足速率的前提下,采用預(yù)分頻技術(shù)和極性信息簡(jiǎn)化編碼技術(shù)實(shí)現(xiàn)功耗和資源優(yōu)化,并采用Xilinx公司的Zynq-7000系列芯片XC7Z045FFG900-2 FPGA驗(yàn)證系統(tǒng),完成了硬件仿真驗(yàn)證,串化后的位速率可以達(dá)到7.5 Gb/s,相較于同類型的接口設(shè)計(jì),其傳輸速度提高了50%。
參考文獻(xiàn)
[1] Ian Beavers.以JESD204B開(kāi)始您的系統(tǒng)設(shè)計(jì)[J].中國(guó)電子商情(基礎(chǔ)電子),2014(6):31-33.
[2] 樊周華.基于JESD204B標(biāo)準(zhǔn)的高速串行接口設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2016.
[3] YOU S,LI F,ZHANG C,et al.High speed serial interface transmitter controller based on JESD204B for 1 GSPs ADCs[C].IEEE International Conference on Electron Devices and Solid-State Circuits.IEEE,2015:87-90.
[4] 田瑞,劉馬良.JESD204B協(xié)議的高速串行轉(zhuǎn)換器接口[J].西安電子科技大學(xué)學(xué)報(bào),2017,44(4):69-74.
[5] 歐陽(yáng)靖,姚亞峰,霍興華,等.JESD204B協(xié)議中發(fā)送端同步電路設(shè)計(jì)與實(shí)現(xiàn)[J].電子器件,2017,40(1):118-124.
[6] 周典淼,徐暉,陳維華,等.基于JESD204B協(xié)議的數(shù)據(jù)傳輸接口設(shè)計(jì)[J].電子科技,2015,28(10):53-55,60.
[7] 李長(zhǎng)慶,程軍,李梁,等.采用并行8 B/10 B編碼的JESD-204B接口發(fā)送端電路設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2017,34(8):70-75.
[8] 霍興華,姚亞峰,賈茜茜,等.JESD204B接口協(xié)議中的8 B/10 B編碼器設(shè)計(jì)[J].電子器件,2015,38(5):1017-1021.
[9] 詹介秋.JESD204B高速串行接口的FPGA實(shí)現(xiàn)[J].電子世界,2017(18):109-110.
[10] JEDEC Solid State Technology Association.JEDEC Standard JESD204B.2011.
[11] Xilinx.Xilinx transceiver PHY IP core user guide[EB/OL].[2018-03-20].www.xilinx.com.
作者信息:
蔣 林,衡 茜,張春茗,鄧軍勇,王喜娟
(西安郵電大學(xué) 電子工程學(xué)院,陜西 西安710121)