鐘 文,顧 軍,胡瑾賢,李春來
(中國船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225101)
多通道數(shù)據(jù)同步傳輸是大帶寬電子戰(zhàn)數(shù)字波束合成系統(tǒng)研發(fā)的關(guān)鍵之一。下行采樣通道輸出延遲和數(shù)據(jù)傳輸技術(shù)中傳輸延遲的確定性設(shè)計(jì)是保持下行數(shù)據(jù)同步采集、相位差保持穩(wěn)定的核心技術(shù)[1]。2011年JEDEC針對(duì)數(shù)據(jù)轉(zhuǎn)換器與邏輯器件之間的JESD204協(xié)議B版本,此版本將串行鏈路數(shù)據(jù)率提高到12.5 Gbps,并且使其能夠滿足確定性傳輸延遲的需求。在JESD204B中引入了3個(gè)子類[2]。子類0向后兼容JESD204 A標(biāo)準(zhǔn);子類1引入外部同步參考信號(hào)SYSREF,實(shí)現(xiàn)確定性延遲;子類2將同頻觸發(fā)信號(hào)SYNC~作為系統(tǒng)的時(shí)序基準(zhǔn)。目前JESD204B協(xié)議多用于邏輯器件與轉(zhuǎn)換器之間的數(shù)據(jù)同步,本文將協(xié)議的子類1引入現(xiàn)場(chǎng)可編程門陣列(FPGA)間的多通道數(shù)據(jù)同步傳輸中,通過與傳統(tǒng)數(shù)據(jù)同步傳輸方案做對(duì)比,詳細(xì)分析同步設(shè)計(jì)的關(guān)鍵要點(diǎn),并對(duì)SYNC信號(hào)的傳輸進(jìn)行改進(jìn),節(jié)約系統(tǒng)走線資源,提高FPGA收發(fā)器利用率,最后給出驗(yàn)證結(jié)果。
對(duì)于電子戰(zhàn)數(shù)字波束合成系統(tǒng)而言,數(shù)據(jù)量龐大,所以片間數(shù)據(jù)一般采用Aurora協(xié)議或基于高速串行收發(fā)器的自定義協(xié)議完成。以Aurora協(xié)議為例,典型的片間傳輸框圖如圖1所示。此類傳輸方案存在2個(gè)不可避免的缺點(diǎn)。算法模塊(例如數(shù)字波束合成)工作在時(shí)鐘域CLK_A,該時(shí)鐘域一般與模數(shù)轉(zhuǎn)換器(ADC)的接收時(shí)鐘域同源,但是Aurora協(xié)議工作在時(shí)鐘域CLK_B,該時(shí)鐘域一般由協(xié)議的編碼類型和線速率決定。這造成了算法模塊與Aurora協(xié)議間需要采用異步先進(jìn)先出(FIFO)去進(jìn)行時(shí)鐘域的劃分,異步FIFO帶來的結(jié)果就是每次FPGA上電后傳輸延遲的不確定以及群延時(shí)的增加。
圖1 典型片間傳輸系統(tǒng)
JESD204B協(xié)議的引入可以同時(shí)解決上述2個(gè)問題。首先JESD204B協(xié)議具有提供傳輸鏈路確定性延遲的功能,其次它延遲相對(duì)較低。結(jié)合ADC與FPGA間JESD204B協(xié)議的運(yùn)用,能夠使得ADC采樣的時(shí)鐘域、算法模塊時(shí)鐘域、數(shù)據(jù)傳輸模塊時(shí)鐘域完成同源與統(tǒng)一,簡(jiǎn)化了FPGA的時(shí)鐘域劃分,規(guī)避了數(shù)據(jù)傳輸模塊帶來的延遲不確定性,降低了系統(tǒng)的群延時(shí)。系統(tǒng)的同步算法只需要補(bǔ)償硬線帶來的延遲差異即可,從很大程度上減輕了系統(tǒng)同步負(fù)擔(dān)?;驹O(shè)計(jì)框圖如圖2所示。
圖2 基于JESD204協(xié)議的同步設(shè)計(jì)
在FPGA間實(shí)現(xiàn)JESD204B協(xié)議的同步傳輸可以分解為4項(xiàng)基本要求[3]:
(1) SYSREF信號(hào)
對(duì)于實(shí)現(xiàn)系統(tǒng)的固定延遲以及同步而言,SYSREF信號(hào)是最為重要的,它用于完成本地多幀時(shí)鐘(LMFC)的對(duì)齊。針對(duì)SYSREF信號(hào)提出2個(gè)要求:其相對(duì)于器件時(shí)鐘滿足建立及保持時(shí)間要求,并且以一個(gè)適當(dāng)?shù)念l率運(yùn)行,也可配置為單個(gè)脈沖,取消頻率約束。
在傳輸系統(tǒng)的設(shè)計(jì)之初首先確定SYSREF的頻率(如采用SYSREF周期模式)。主要要求是SYSREF信號(hào)必須以1個(gè)等于或者整數(shù)分頻本地多幀時(shí)鐘(LMFC)的頻率運(yùn)行,即:
(1)
式中:fbitrate為高速串行收發(fā)器的接口速率;F為每幀8位的字節(jié)數(shù);K為每個(gè)多幀的幀數(shù);n為任意正整數(shù)。
其次系統(tǒng)設(shè)計(jì)需要讓SYSREF滿足核時(shí)鐘建立保持時(shí)間的要求。FPGA片外時(shí)鐘芯片一般會(huì)設(shè)置為SYSREF信號(hào)與其提供的器件時(shí)鐘(device clk)或者參考時(shí)鐘(refclk)同步,也就是輸出邊沿對(duì)齊。此時(shí)下降沿采樣能夠獲得最好的時(shí)序特性??紤]到實(shí)際印制電路板(PCB)布線帶來的延遲差異,對(duì)進(jìn)入FPGA IO的相關(guān)信號(hào)做如下時(shí)序約束,保證在1 ns的時(shí)間差內(nèi)對(duì)齊SYSREF信號(hào)和refclk信號(hào):
set_input_delay -clock jesd204_0_refclk -max 0.5 [get_ports *x_sysref]
set_input_delay -clock jesd204_0_refclk -min -0.5 [get_ports *x_sysref]
(2) 多幀周期
選擇多幀周期實(shí)際就是設(shè)置合適鏈路延遲,使得延遲滿足協(xié)議所需的固定延遲要求。協(xié)議的總延遲T可以表述為:
T=NTLMFC-TTXLMFC+TRXLMFC
(2)
式中:TTXLMFC為發(fā)送端SYSREF到TLMFC的固定延遲;TRXLMFC為接收端SYSREF到TLMFC的固定延遲;N為整數(shù);TLMFC為L(zhǎng)MFC周期。
為保證每次上電時(shí)延遲固定,首先最大傳輸延遲必須滿足:
TTXOUT(MAX)+TWIRE(MAX)+TRXIN(MAX) (3) 式中:TTXOUT為發(fā)送端LMFC到輸出串行數(shù)據(jù)間的延遲;TWIRE為傳輸線路上的延遲;TRXIN為接收端LMFC到并行數(shù)據(jù)數(shù)據(jù)輸出的接口的延遲。 其次,最小延遲須滿足: TTXOUT(MIN)+TWIRE(MIN)+TRXIN(MIN)>T (4) 下面以Xilinx FPGA 內(nèi)的型號(hào)(GTH)為例,計(jì)算LMFC周期和相應(yīng)N的值,GTH相關(guān)參數(shù)如表1所示,GTX、GTP參數(shù)請(qǐng)參考文獻(xiàn)[2]。 將以上參數(shù)以及式(2)代入式(3)、(4),并且假設(shè)TWIRE(MIN)、TWIRE(MAX)均為0,得到如下表達(dá)式: (5) 進(jìn)一步推導(dǎo)得: (6) 由上式得到當(dāng)N=1,TLMFC=FK=128時(shí),滿足固定延遲的要求,且余量足夠。 (3) 緩沖器釋放點(diǎn) 彈性緩沖器是實(shí)現(xiàn)確定性延遲的關(guān)鍵部件[5]。它是通過在串行化數(shù)據(jù)從發(fā)送端行進(jìn)至接收端的過程中補(bǔ)償其傳播延遲變化來做到這一點(diǎn)的。正確的釋放點(diǎn)是一個(gè)可針對(duì)延遲變化提供充足余量的點(diǎn),錯(cuò)誤的釋放點(diǎn)會(huì)產(chǎn)生一個(gè)LMFC周期的延遲變化。 選擇一個(gè)正確的釋放點(diǎn)需要了解數(shù)據(jù)在彈性緩沖器上的平均到達(dá)時(shí)間(對(duì)于一個(gè)LMFC邊沿)以及所有器件的總預(yù)期延遲的變化。利用該信息即可確定一個(gè)LMFC周期內(nèi)的無效點(diǎn)釋放區(qū)域。最終應(yīng)該保證需要同步各個(gè)發(fā)送端的數(shù)據(jù)均在釋放點(diǎn)到來之前到達(dá)接收器件內(nèi)的緩沖器。下面用1幅時(shí)序圖來說明(如圖3所示),從圖3可以明顯看出,發(fā)送路徑2具有較長(zhǎng)的路由距離,導(dǎo)致傳輸延遲較長(zhǎng)。JESD204B IP的緩沖釋放點(diǎn)調(diào)整是通過修改SYSREF延遲(DELAY)參數(shù)來完成的,延遲SYSREF實(shí)際上等同于延遲LMFC的出現(xiàn)時(shí)間。從圖3中可以看出此時(shí)選擇默認(rèn)值0比較合適,左右都有一定的余量。若LMFC出現(xiàn)在條狀無效區(qū)域則2路的同步結(jié)果有可能存在1個(gè)LMFC的周期延遲。 (4) SYNC信號(hào)的要求及傳輸改進(jìn) JESD204B 協(xié)議對(duì)SYNC的定時(shí)要求只在一些特殊的場(chǎng)合適用[3]。對(duì)于FPGA間的應(yīng)用SYNC信號(hào)并不起到定時(shí)作用,當(dāng)接收端收到連續(xù)K28.5后,會(huì)拉高SYNC信號(hào)通知接收端啟動(dòng)發(fā)送ILA序列。 通常情況該信號(hào)都是由低壓差分信號(hào)(LVDS)差分線完成傳輸,在傳輸規(guī)模較大、發(fā)送端板卡及通道數(shù)較多情況下,需要大量的差分線完成SYNC的信號(hào)傳輸。但是實(shí)際應(yīng)用場(chǎng)景對(duì)體積和走線規(guī)模有嚴(yán)格要求,比如天線陣面集成模塊和處理機(jī)箱間,所以需要對(duì)SYNC信號(hào)的傳輸進(jìn)行改進(jìn)。正常模式下FPGA內(nèi)JESD204B協(xié)議的發(fā)送端只利用收發(fā)器的發(fā)送部分完成數(shù)據(jù)傳輸,接收端只利用收發(fā)器的接收端,這也造成了收發(fā)器資源的浪費(fèi)。這里采用收發(fā)器共享技術(shù)將某個(gè)通道JESD204B協(xié)議的反向通道的收發(fā)器以自定義協(xié)議報(bào)文的方式傳送SYNC信號(hào),同時(shí)還能夠傳送反向控制報(bào)文,控制發(fā)送端的工作模式與運(yùn)行狀態(tài),具體示意圖如圖4所示。 圖3 確定緩沖釋放點(diǎn)的LMFC有效區(qū)域 圖4 JESD204B SYNC信號(hào)傳輸改進(jìn)方案 該方案在不增加FPGA功耗的同時(shí)解決了多路SYNC傳輸?shù)男枨螅岣吡薋PGA收發(fā)器的利用率。 測(cè)試的目標(biāo)FPGA芯片選擇2片Xilinx公司的XC7V690T,基本設(shè)計(jì)環(huán)境如下:片間同步系統(tǒng)由6個(gè)JESD204B協(xié)議發(fā)送和接收通道組成;每個(gè)通道由8個(gè)子通道(LANE)組成;每個(gè)LANE線速率10.24 Gbps;多幀周期值為128(F=4,K=32),SYSREF設(shè)置為周期模式,頻率為8 MHz;選擇高度鎖相環(huán)(QPLL)作為收發(fā)器的時(shí)鐘源降低時(shí)鐘抖動(dòng)帶來的影響。 (1) 片內(nèi)多通道的同步實(shí)驗(yàn) JESD204B通道的所有發(fā)送端位于同一片發(fā)送FPGA中,接收端通道位于接收FPGA中,在發(fā)送端FPGA將某路A/D采樣后頻率為2 561 MHz的正弦信號(hào)同時(shí)分發(fā)給6個(gè)JESD204B TX IP作為數(shù)據(jù)源,SYNC信號(hào)通過反向通道傳輸自定義報(bào)文傳輸,得到的接收端測(cè)試結(jié)果如圖5所示。 圖5 片內(nèi) JESD204B同步測(cè)試結(jié)果 測(cè)試結(jié)果表明JESD204B協(xié)議初始化成功,為了更直觀地顯示同步結(jié)果,每個(gè)通道只抽取其中的一路進(jìn)行比較,從測(cè)試結(jié)果可以看到,6個(gè)通道接收到的采樣數(shù)據(jù)相位一致,接收到的采樣數(shù)據(jù)是同步的。 (2) 板間多通道同步實(shí)驗(yàn) 4個(gè)發(fā)送通道分別位于2塊板卡的FPGA內(nèi),發(fā)送通道1、2位于發(fā)送板卡a中,發(fā)送通道3、4位于發(fā)送板卡b中,板卡間通過全雙工光纖連接。通過上述參數(shù)設(shè)置的JESD204B協(xié)議向接收板卡傳輸同步數(shù)據(jù),接收端板卡通過收發(fā)器自定義命令報(bào)文向2塊發(fā)送板卡發(fā)送SYNC信號(hào)的信息,并通過控制報(bào)文同時(shí)將發(fā)送數(shù)據(jù)切換到計(jì)數(shù)器模式,接收端得到實(shí)驗(yàn)結(jié)果(如圖6所示)。 圖6 板卡間 JESD204B同步測(cè)試結(jié)果 此時(shí)接收端4路通道接收到的計(jì)數(shù)值和波形相同,說明此數(shù)據(jù)是嚴(yán)格同步的。實(shí)驗(yàn)結(jié)果表明該設(shè)計(jì)能夠保證SYNC信號(hào)與命令控制報(bào)文的正確傳輸,并保證板間及通道間的數(shù)據(jù)同步。最后通過反復(fù)多次加電進(jìn)行可靠性測(cè)試,均能滿足同步設(shè)計(jì)需求,證明了同步設(shè)計(jì)的正確性與可靠性。 本文在比較基于Aurora協(xié)議與基于JESD204B協(xié)議的數(shù)據(jù)同步傳輸方案的基礎(chǔ)上,重點(diǎn)分析了基于JESD204B協(xié)議的FPGA片間數(shù)據(jù)同步傳輸要點(diǎn),并對(duì)協(xié)議SYNC信號(hào)的傳輸進(jìn)行了改進(jìn),提高了FPGA收發(fā)器利用率,節(jié)約了系統(tǒng)的走線資源。最后在板卡上驗(yàn)證同步傳輸功能,實(shí)驗(yàn)結(jié)果表明該方案能夠有效完成系統(tǒng)數(shù)據(jù)的同步傳輸,為工程應(yīng)用奠定了基礎(chǔ)。3 片間JESD204B同步功能驗(yàn)證
4 結(jié)束語