徐鳳萍,龔至誠(chéng),王 巍
(1.江蘇自動(dòng)化研究所,江蘇 連云港 222061;2.江蘇科技大學(xué)電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
JESD204B是一種新型的基于高速SERDES的AD/DA數(shù)據(jù)收發(fā)傳輸接口,而高速AD/DA數(shù)據(jù)收發(fā)傳輸接口是集成電路當(dāng)中最關(guān)鍵的設(shè)計(jì)實(shí)現(xiàn)環(huán)節(jié),其涵蓋了模數(shù)轉(zhuǎn)換(ADC,Analog-to-Digital Converter)和數(shù)模轉(zhuǎn)換(Digital-to-Analog Converter,DAC)[1]。在此之前,絕大多數(shù)高速AD/DA轉(zhuǎn)換數(shù)據(jù)收發(fā)接口采用LVDS接口,目前隨著數(shù)字信號(hào)處理方法不斷發(fā)展以及科技的持續(xù)進(jìn)步,對(duì)集成電路傳輸及轉(zhuǎn)換的速度和帶寬要求也越來(lái)越高,以往的普通轉(zhuǎn)換模塊已經(jīng)不能滿(mǎn)足需求,這樣就促進(jìn)了高速ADC/DAC等集成電路在高速傳輸技術(shù)方面的急速發(fā)展[2]。
以往采樣數(shù)據(jù)的傳輸方式在傳統(tǒng)用法上多采用如LVDS傳輸?shù)炔⑿蟹绞?但是并行方式容易出現(xiàn)時(shí)鐘同步困難、串行干擾大等問(wèn)題,使信號(hào)容易受到干擾。同時(shí)并行傳輸方式會(huì)產(chǎn)生PCB板設(shè)計(jì)繁瑣、層數(shù)增多、花費(fèi)高等眾多難題。本文在JESD204B的基礎(chǔ)上,對(duì)高速串行數(shù)據(jù)收發(fā)接口的設(shè)計(jì)方法和實(shí)現(xiàn)途徑進(jìn)行了研究,通過(guò)在Xilinx公司的Virtex-7 系列FPGA內(nèi)集成,完成基于JESD204B協(xié)議的高速SERDES的AD/DA數(shù)據(jù)收發(fā)傳輸接口設(shè)計(jì)與集成實(shí)現(xiàn),并完成信息的傳輸驗(yàn)證及相關(guān)試驗(yàn)。
數(shù)據(jù)轉(zhuǎn)換器與FPGA與的接口電平標(biāo)準(zhǔn)最常見(jiàn)的有兩種,一種是互補(bǔ)金屬氧化物半導(dǎo)體(簡(jiǎn)稱(chēng)CMOS),另一種是低電壓差分信號(hào)(簡(jiǎn)稱(chēng)LVDS)。上述兩種類(lèi)型的區(qū)別主要在于CMOS的瞬態(tài)電流隨信息轉(zhuǎn)換率的升高而逐漸變大,而LVDS的電流則比較穩(wěn)定,可是因?yàn)長(zhǎng)VDS對(duì)應(yīng)的最高支持接口速率相對(duì)目前的應(yīng)用需求也是相對(duì)較低的,最高只有2 Gb/s左右[3]。隨著相關(guān)技術(shù)的進(jìn)步,對(duì)相關(guān)轉(zhuǎn)換器傳輸率、低功耗、高帶寬等層面的要求逐漸提高,對(duì)應(yīng)的傳統(tǒng)的CMOS/LVDS兩種接口電平方式逐漸無(wú)法滿(mǎn)足應(yīng)用需求,特別是在轉(zhuǎn)換速度、數(shù)據(jù)帶寬、分辨率、功耗等方面無(wú)法滿(mǎn)足高速AD/DA的發(fā)展與應(yīng)用的需求。
針對(duì)高帶寬、高速率、低功耗需求的,JESD204B傳輸協(xié)議提出了一種高效地基于高速串行數(shù)據(jù)接口的解決方案,JESD204B協(xié)議的主要技術(shù)優(yōu)勢(shì)在于:簡(jiǎn)化系統(tǒng)設(shè)計(jì)復(fù)雜度,設(shè)計(jì)使用上相對(duì)精簡(jiǎn),PCB布局更簡(jiǎn)潔,減少PCB上的引腳數(shù)量,將多引腳低速的并行接口方式變更為少量引腳的高速串行接口方式,可實(shí)現(xiàn)相對(duì)更小體積的IC封裝及電路板布局,節(jié)省了硬件成本。由于具備以上優(yōu)點(diǎn),使得JESD204B協(xié)議非常適用于高速傳輸應(yīng)用需求,例如4G、雷達(dá)信號(hào)、光電信號(hào)、軍用視頻傳輸?shù)取?/p>
目前,主流半導(dǎo)體廠商基本上已經(jīng)完成了基于JESD204B的高速數(shù)據(jù)轉(zhuǎn)換器產(chǎn)品的研制,并提供芯片級(jí)產(chǎn)品,因此針對(duì)高速串行傳輸?shù)慕涌谠O(shè)計(jì)也很必要[4]。本文利用FPGA的硬件可編程、運(yùn)行速度快、穩(wěn)定可靠、高速收發(fā)器支持JESD204B協(xié)議的特點(diǎn),將FPGA與ADC/DAC結(jié)合使用,構(gòu)造出的系統(tǒng)應(yīng)用方案見(jiàn)圖1。
圖1 FPGA與DAC/ADC實(shí)現(xiàn)數(shù)據(jù)傳輸應(yīng)用方案示意圖
JESD204B協(xié)議從組成上主要由4部分組成,即物理層、鏈路層、數(shù)據(jù)傳輸層以及應(yīng)用層等,對(duì)應(yīng)的架構(gòu)組成具體如圖2所展示。
圖2 JESD204B 協(xié)議組成示意圖
其中JESD204B的物理層主要負(fù)責(zé)完成串行高速數(shù)據(jù)的接收發(fā)送,以及串行數(shù)據(jù)與并行數(shù)據(jù)的轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)包的緩沖、數(shù)據(jù)包的調(diào)度與仲裁、數(shù)據(jù)包的發(fā)送與接收、差錯(cuò)檢測(cè)等功能,物理層傳輸數(shù)據(jù)是按照比特流的方式進(jìn)行的[5]。在本文設(shè)計(jì)得到的高速串行收發(fā)接口上,利用FPGA的transceiver來(lái)進(jìn)行上述協(xié)議的物理層操作。
JESD204B鏈路層主要完成對(duì)采用數(shù)據(jù)的8B/10B解碼與編碼以及后續(xù)鏈路操作,同步數(shù)據(jù)的字節(jié)編碼等步驟都是借助鏈路層相關(guān)的發(fā)送端實(shí)現(xiàn)的;可是信息同步的有關(guān)指令以及還原操作等均是借助鏈路層相關(guān)的接收端實(shí)現(xiàn)的[6]。
JESD204B的傳輸層完成發(fā)送及接收數(shù)據(jù)的調(diào)整編制等功能。數(shù)據(jù)在發(fā)送時(shí)需要按照用戶(hù)的格式需求進(jìn)行打包處理,通常需要對(duì)數(shù)據(jù)進(jìn)行尾碼和控制位的增加;數(shù)據(jù)在接收端時(shí)需要按照用戶(hù)的格式需求進(jìn)行尾碼和控制位的刪除,將數(shù)據(jù)恢復(fù)出來(lái)完成傳輸。
本文的FPGA芯片選用了Xilinx推出的FPGA-XC7VX1140T,在該硬件芯片的基礎(chǔ)上進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),XC7VX1140T具備96組的GTH 高速數(shù)據(jù)收發(fā)器,該GTH 高速數(shù)據(jù)收發(fā)器所能夠提供的最大線上速度為13.1 Gb/s,而該協(xié)議對(duì)應(yīng)的串行數(shù)據(jù)傳輸速率的最大為12.5 Gb/s,沒(méi)有超出芯片對(duì)應(yīng)的最大上限,故而能夠滿(mǎn)足技術(shù)需求[7]。
在設(shè)計(jì)之初,根據(jù)預(yù)定的最高傳輸速率,來(lái)確定時(shí)鐘頻率。本文設(shè)定數(shù)據(jù)采樣頻率等于600 MS/s,由于本文設(shè)計(jì)采樣信息均是16位,因此本文設(shè)定的線上速率等于(600 M×16) b/s,而且信息通信過(guò)程中借助8b/10b方式完成編碼操作,所以對(duì)應(yīng)的設(shè)計(jì)速率滿(mǎn)足12 Gb/s要求,沒(méi)有超過(guò)協(xié)議的最高速率。實(shí)際使用時(shí),為了平衡樣本采集率和線上速度,在高8和低8位的2個(gè)通道上拆開(kāi)數(shù)據(jù)后將其傳送,這樣就可使每個(gè)通道的速度均下降等于6 Gb/s,不到協(xié)議最高速度的50%,可以滿(mǎn)足數(shù)據(jù)的采樣率要求[8]。
依據(jù)時(shí)鐘主頻core clk=line rate/40的相對(duì)關(guān)系,可計(jì)算出系統(tǒng)的時(shí)鐘頻率滿(mǎn)足150 Mhz,為了保證相關(guān)信號(hào)處于平穩(wěn)狀態(tài),采用外部信號(hào)源,提供600 MHz頻率的差分信號(hào),通過(guò)4分頻的時(shí)鐘芯片得到150 Mhz差分時(shí)鐘源信號(hào),然后提供給FPGA使用。
在實(shí)施鏈路設(shè)計(jì)時(shí),主要涉及下面五個(gè)重要參數(shù):
L:鏈路中通道數(shù) (預(yù)設(shè)成2);
F:幀中的字節(jié)個(gè)數(shù) (預(yù)設(shè)為1);
S:轉(zhuǎn)換器的任意幀變換樣本的數(shù)量(預(yù)設(shè)為1);
K:多幀中的幀數(shù)(預(yù)設(shè)為32);
M:全部數(shù)據(jù)轉(zhuǎn)換器總量(預(yù)置成1)。
本文依據(jù)前面論述的樣本采集率及時(shí)鐘頻率的取值,在這里把鏈路的各項(xiàng)參數(shù)數(shù)值均進(jìn)行了預(yù)設(shè)。
本文在傳輸數(shù)據(jù)方面采用兩個(gè)通道將數(shù)據(jù)分高八位和低八位分開(kāi)傳輸?shù)姆绞?這樣每個(gè)通道都可在150 MHz的時(shí)鐘頻率下工作,完成每個(gè)時(shí)鐘周期內(nèi)4個(gè)點(diǎn)的信息傳輸,通道帶寬可保證32位,可以符合系統(tǒng)樣本采集率的需要[9]。
數(shù)據(jù)傳輸時(shí),無(wú)論發(fā)送端還是接收端,都要求通道間實(shí)現(xiàn)嚴(yán)格的同步協(xié)調(diào),這一點(diǎn)很重要,在發(fā)送端和接收端上都需要做到嚴(yán)格的同步進(jìn)而確保數(shù)據(jù)傳輸正確性。在JESD204B協(xié)議下,設(shè)計(jì)了在傳輸?shù)牟煌A段使用自定義的不同數(shù)據(jù)幀結(jié)構(gòu)來(lái)實(shí)現(xiàn)同步機(jī)制。在JESD204B的數(shù)據(jù)鏈路層就利用8b/10b方式獲取后的-K碼來(lái)編制實(shí)現(xiàn)同步機(jī)制并構(gòu)造數(shù)據(jù)幀[10]。實(shí)際進(jìn)行數(shù)據(jù)傳輸之前,鏈路上還要完成代碼組同步和初始化幀同步的過(guò)程,數(shù)據(jù)同步流程如圖3所示。
圖3 同步過(guò)程示意圖
主要步驟包括:
1)接收端將SYNC信號(hào)置低,向發(fā)送端發(fā)出同步請(qǐng)求指令;
2)發(fā)送端收到傳遞過(guò)來(lái)的同步請(qǐng)求指令信息之后,馬上給對(duì)應(yīng)的接收端發(fā)出相關(guān)的控制字符命令,完成對(duì)應(yīng)的同步操作;
3)接收端持續(xù)獲取到至少四個(gè)/K28.5/控制指令后,將SYNC位置高,結(jié)束該過(guò)程。此時(shí)同步已經(jīng)實(shí)現(xiàn),等待本地幀時(shí)鐘開(kāi)始向上沿變化后再開(kāi)始信道數(shù)據(jù)幀的同步實(shí)施。
代碼組、初始化幀架構(gòu)對(duì)應(yīng)的同步過(guò)程相關(guān)時(shí)序關(guān)系具體如圖4所展示。
圖4 代碼組、初始化幀架構(gòu)以及相關(guān)同步過(guò)程時(shí)序圖
其中,/K/字符用于首先進(jìn)行的代碼組同步;/R/字符表示采樣信息多幀的同步初始化過(guò)程啟動(dòng);/A/字符表示采樣信息多幀的同步初始化過(guò)程的終止;/Q/字符表示接收端配置的信息[11]。由圖4可見(jiàn),利用8b/10b結(jié)合特殊控制字可以順利完成同步,同時(shí)也可滿(mǎn)足監(jiān)控、故障檢測(cè)的技術(shù)需求。各字符定義如下:
/K/=/K28.5/;
/R/=/K28.0/;
/A/=/K28.3/;
/Q/=/K28.4/。
在設(shè)計(jì)中兼顧數(shù)據(jù)了采樣率和串行線上速率兩個(gè)要素,在具體實(shí)現(xiàn)中設(shè)計(jì)了如圖5所示的高密度數(shù)據(jù)傳輸方式:在發(fā)送端利用2個(gè)獨(dú)立的通道分開(kāi)進(jìn)行樣本采集信息的高8位及低8位的同步傳送。
圖5 高密度信息傳輸方案示意圖
具體實(shí)驗(yàn)驗(yàn)證時(shí),通過(guò)采用FPGA自收發(fā)環(huán)路來(lái)測(cè)試驗(yàn)證數(shù)據(jù)傳送接口的功能性能,本地時(shí)鐘頻率和收發(fā)器時(shí)鐘都為150 MHz,將FPGA對(duì)應(yīng)的發(fā)送端與接收端分別使用兩對(duì)GTH接高速串行收發(fā)器,取樣數(shù)據(jù)從發(fā)送端發(fā)出去后,通過(guò)0.01 uf的隔直電容后接入接收端,此時(shí),線上的高速數(shù)據(jù)傳輸速率達(dá)到6 Gb/s,本文設(shè)計(jì)的電路板為8層結(jié)構(gòu)。實(shí)驗(yàn)環(huán)境設(shè)計(jì)如圖6所示。
圖6 試驗(yàn)檢測(cè)電路模塊架構(gòu)圖
實(shí)驗(yàn)中使用AXI-LITE來(lái)完成信息收發(fā)接口上的各種鏈路參數(shù)的設(shè)置,設(shè)置數(shù)據(jù)打包封裝形式、通路、同步操作方式等各種參數(shù),保證數(shù)據(jù)傳輸鏈路的正確建立。在試驗(yàn)過(guò)程匯總,為了確保傳輸?shù)木珳?zhǔn)性以及滿(mǎn)足有關(guān)同步要求,本文使用遞增碼作為對(duì)應(yīng)的檢測(cè)碼,以便于在實(shí)驗(yàn)中總結(jié)錯(cuò)誤,實(shí)驗(yàn)采用的測(cè)試碼見(jiàn)表1。
表1 測(cè)試碼數(shù)據(jù)表
實(shí)驗(yàn)中使用了兩個(gè)lane通道來(lái)傳輸采用數(shù)據(jù),每個(gè)通道均為32 bit位寬,分別傳輸數(shù)據(jù)高8位和低8位。接收端收到的傳輸信息為64位位寬,該傳輸信息中集成了4個(gè)采樣信息。因此,對(duì)把FPGA接收端口獲取的數(shù)據(jù)進(jìn)行劃分后可分為4路數(shù)據(jù),獲取到4路數(shù)據(jù)的圖像。實(shí)測(cè)后發(fā)現(xiàn)接收端收到的信息與發(fā)送端傳送的信息可以對(duì)應(yīng),信息沒(méi)有錯(cuò)誤,充分說(shuō)明了發(fā)送和接收均無(wú)誤,證明了實(shí)驗(yàn)搭建的測(cè)試電路的兩個(gè)通道之間是完全同步的。
在串行接口速率不斷提高的技術(shù)發(fā)展下,ADC/DAC的技術(shù)也將向著高速串行接口傳輸?shù)姆较虬l(fā)展。本篇文章借助JESD204B協(xié)議組件,實(shí)現(xiàn)高速的串行狀態(tài)數(shù)據(jù)接口的設(shè)計(jì),以FPAG為基礎(chǔ)實(shí)現(xiàn)了有關(guān)試驗(yàn)電路的創(chuàng)建,檢測(cè)了數(shù)據(jù)高速收發(fā)接口功能,證明了該數(shù)據(jù)接口在設(shè)計(jì)上的正確。本文設(shè)計(jì)的高速串行收發(fā)接口可結(jié)合DAC/ADC進(jìn)行應(yīng)用,有顯著的實(shí)際意義。