摘 要: 介紹一種利用新器件特性實現(xiàn)全數(shù)字上變頻的方法,包括射頻頻率范圍內(nèi)從基帶信號的插值濾波器的設(shè)計、載波信號的產(chǎn)生,到針對射頻信號高采樣率的并行處理方法以及與數(shù)模轉(zhuǎn)換器件的接口設(shè)計。與傳統(tǒng)模擬方案相比,本設(shè)計具有更佳的性能、更低的成本和更好的靈活性,可廣泛用于電纜調(diào)制解調(diào)器系統(tǒng)。
關(guān)鍵詞: 多相濾波;直接數(shù)字頻率合成;輸出并串轉(zhuǎn)換器
?
傳統(tǒng)的調(diào)制方式包括模擬調(diào)制和數(shù)字調(diào)制,模擬調(diào)制中的基帶信號和載波都是模擬信號。隨著軟件無線電技術(shù)理論的發(fā)展以及大規(guī)模集成電路的廣泛應(yīng)用,原來的模擬通信系統(tǒng)的基帶處理部分采用數(shù)字電路逐漸數(shù)字化、軟件化,這樣就可通過可編程器件的可編程性對工作頻率、系統(tǒng)帶寬、調(diào)制方式、信源編碼等進行編程控制,實現(xiàn)不同的通信功能系統(tǒng),靈活性大為增強[1]。然而,根據(jù)奈奎斯特抽樣理論,要對通信系統(tǒng)的射頻部分進行數(shù)字化處理,要求數(shù)字信號的采樣頻率至少是模擬射頻信號最高頻率的2倍以上,由于以往數(shù)字處理器件以及DA轉(zhuǎn)換器件的處理速度的限制,傳統(tǒng)通信系統(tǒng)的基帶信號為數(shù)字信號,載波仍然是模擬載波。
近期,Xilinx公司發(fā)布了Virtex5系列FPGA,借助于該FPGA擁有的用于實現(xiàn)高性能DSP的550 MHz DSP48E slice以及實現(xiàn)終級并行連接功能的1.25 Gb/s SelectIO 技術(shù),可以直接實現(xiàn)數(shù)字射頻信號的調(diào)制,Maxim公司也發(fā)布了采樣率高達4.3 GS/s的DA轉(zhuǎn)換器MAX5881,可以從50 MHz~1 000 MHz直接進行模擬射頻信號合成。本文介紹了如何使用Virtex5系列FPGA進行數(shù)字射頻信號調(diào)制以及通過MAX5881輸出模擬射頻信號的“全數(shù)字”上變頻技術(shù)。之所以稱為“全數(shù)字”,是因為其基帶信號和載波全部都是時間離散的信號,完成調(diào)制的器件也是數(shù)字器件。
1 系統(tǒng)總體結(jié)構(gòu)設(shè)計
按照通信調(diào)制基本理論,上變頻需要將調(diào)制好的信號從基帶頻率搬移到射頻頻率,對于基帶信號,其帶寬一般較窄,因此在很多應(yīng)用場合中都是根據(jù)Nyquist采樣定理,再結(jié)合工程實際,采用2.5~4倍的基帶信號最高頻率進行采樣。而作為載波的DDS輸出波形,其頻率相對較高。如果用基帶信號對載波進行正交調(diào)制,即是數(shù)字信號的相乘,要求基帶和載波具有相同的數(shù)據(jù)速率。所以,在進行正交調(diào)制之前必須對基帶數(shù)字信號進行插值濾波,提高其數(shù)據(jù)速率。提高基帶信號的數(shù)據(jù)速率有兩種途徑:一種是簡單的數(shù)據(jù)保持方法;另一種是嚴格的插值濾波法。簡單的數(shù)據(jù)保持法是將序列的每一個采樣點做簡單的保持(或重復(fù)采樣)直到下一個采樣點到來。這種近似的處理辦法相當簡單,但效果不佳,只適合于數(shù)字調(diào)制方式或基帶信號帶寬很窄、對信號精度要求不高的場合。本設(shè)計采用嚴格的插值濾波,先經(jīng)過零值內(nèi)插,然后再濾波得到。信號從基帶頻率插值到4 GHz,插值倍數(shù)比較大,故采用多相濾波結(jié)構(gòu)的FIR濾波器實現(xiàn)。
經(jīng)過插值后的數(shù)據(jù)與DDS產(chǎn)生的載波頻率相乘,乘法器使用Virtex5系列FPGA內(nèi)的高性能DSP模塊實現(xiàn),該模塊是FPGA內(nèi)部的硬件模塊,可運行在550 MHz。為了保證信號的精度同時減少資源的使用,基帶信號用12位有符號數(shù)表示,載波信號用10位無符號數(shù)表示,二者相乘后為22位有符號數(shù)。由于MAX5881為12位輸入精度,截取22位有符號數(shù)的高12位作為FPGA的輸出。
2 FPGA與MAX5881的接口設(shè)計
MAX5881是Maxim推出的首款12位、4.3 GS/s數(shù)模轉(zhuǎn)換器,器件提供出色的雜散、噪聲和鄰道性能。MAX5881的輸出刷新速率高達4.3GS/s,其數(shù)據(jù)接口的輸入速率也需要比傳統(tǒng)數(shù)模轉(zhuǎn)換器件高。針對這種高帶寬的數(shù)據(jù)接口,設(shè)計了如圖1所示的FPGA與DAC的數(shù)據(jù)接口[2]。
?
MAX5881在DDR模式下工作時鐘速率高達2.15 GHz,有獨立的模擬和數(shù)字時鐘,數(shù)據(jù)接口的時鐘由MAX5881輸出,用于簡化和FPGA的接口。MAX5881輸出的數(shù)據(jù)時鐘DATACLKP/DATACLKN是由CLKP/CLKN引腳上的高精度模擬時鐘源分頻產(chǎn)生的,因而時鐘周期的抖動非常小,適合作為FPGA的工作時鐘。
為了保證FPGA生成的數(shù)據(jù)傳輸?shù)組AX5881接口端與CLKP/CLKN的相位對齊關(guān)系,采用了“系統(tǒng)同步化”設(shè)計。這一設(shè)計的過程是將時鐘管理單元(DCM)的CLK0從芯片內(nèi)部經(jīng)過一個OSERDES輸出到電路板,然后再將時鐘作為反饋時鐘送回DCM。PCB板上的時鐘反饋路徑長度等于從FPGA到MAX5881的數(shù)據(jù)路徑長度減去DATACLK路徑的長度,這就保證了時鐘反饋路徑產(chǎn)生的延時等于FPGA到MAX5881的數(shù)據(jù)傳輸路徑延時減去MAX5881的DATACLK輸出到FPGA的延時,因而由DCM提供的延時恰好補償FPGA的數(shù)據(jù)與時鐘路徑延時。此時到達MAX5881的數(shù)據(jù)變化發(fā)生在DATACLK的上升沿與下降沿。為了保證MAX5881的建立與保持時間要求,還要對數(shù)據(jù)與DATACLK之間的相位關(guān)系進行微調(diào)。這個附加的延時可以通過增長反饋路徑的長度或者在反饋路徑上加入一個FPGA ODELAY模塊來實現(xiàn)。
MAX5881包括四個12位復(fù)用低壓差分信號(LVDS)輸入端口,每個端口以雙倍數(shù)據(jù)速率(DDR)或四倍數(shù)據(jù)速率(QDR)模式工作在1 075 MHz。該器件接受1/2 DAC刷新速率的時鐘,在時鐘上升沿和下降沿均觸發(fā)轉(zhuǎn)換。輸入數(shù)據(jù)速率為1/4 DAC刷新速率或1/2時鐘速率。將MAX5881的CLKDIV引腳置為低電平并將FPGA的OSERDES配置為DDR模式,此時,MAX5881輸出DATACLKP/DATACLKN的頻率等于其輸入引腳CLKP/CLKN頻率的1/4。對應(yīng)MAX5881的采樣頻率,CLKP/CLKN的頻率為2 GHz,DATACLKP/DATACLKN的頻率為500 MHz。這個500 MHz的時鐘信號驅(qū)動FPGA的OSERDES模塊。由于OSERDES模塊工作在DDR模式,在DATACLKP/DATACLKN的上升沿與下降沿都有數(shù)據(jù)輸出,因此FPGA輸出的數(shù)據(jù)速率為1 GHz。由于FPGA內(nèi)部邏輯仍然不能直接產(chǎn)生1 GHz的數(shù)據(jù),因此FPGA使用了并行處理方式,首先生成4路250 MHz的數(shù)據(jù),然后通過OSERDES模塊串行輸出1 GHz的數(shù)據(jù)。采用這種方式降低了FPGA的時序要求,系統(tǒng)運行更加穩(wěn)定。
3 數(shù)字射頻信號上變頻
3.1 多相濾波器結(jié)構(gòu)
本設(shè)計中,假定被調(diào)制信號的采樣頻率為250 MHz,需要進行16倍插值才能達到4 GHz的采樣率??紤]到速度與資源的要求,采用了兩級4倍插值濾波器級聯(lián)的方式,每一級都采用了多相濾波的方式來實現(xiàn)。
傳統(tǒng)的4倍插值濾波方式是將每兩個原始數(shù)據(jù)中間插入3個0,設(shè)原始數(shù)據(jù)序列為[a,b,c,d…],則4倍插值后的序列[x1,x2,x3,x4…]=[a,0,0,0,b,0,0,0,c,0,0,0,d,0,0,0…]。本設(shè)計中250 MHz的數(shù)據(jù)經(jīng)過插入3個0值后,數(shù)據(jù)速率已經(jīng)達到1 GHz,用x序列表示輸入信號,c序列表示抽頭系數(shù), y表示輸出信號。則可以直觀地發(fā)現(xiàn),輸入序列x中有3/4的數(shù)據(jù)是0,這些數(shù)據(jù)對FIR濾波器的乘法器毫無意義,因此將濾波器的抽頭系數(shù)分為4組。圖2給出了第一個子濾波器的抽頭系數(shù)的計算流程。從圖中可以看出,該組抽頭系數(shù)如同一把梳子,計算得到輸出yn,而yn+1,yn+2,yn+3則由其他三組抽頭系數(shù)計算得到。第一個子濾波器從第一個輸入開始計算,第二個子濾波器從第二個輸入開始計算,依此類推。當?shù)谝粋€子濾波器的四組抽頭系數(shù)都計算完一遍后,各組抽頭系數(shù)向右移一個單元格,計算得到輸出yn+4,yn+5,yn+6,yn+7,依此類推。每一組子濾波器獨立工作在250 MHz,四組子濾波器輸出數(shù)據(jù)組合成1 GHz,降低了每個子濾波器的工作頻率。
3.2 濾波器參數(shù)計算
多相濾波器盡管結(jié)構(gòu)不同于普通FIR插值濾波器,但原理與普通的FIR濾波器等效,可以按照傳統(tǒng)的濾波器參數(shù)設(shè)計方法計算多相濾波器的參數(shù)。對于4倍插值的多相濾波器,由于濾波器的抽頭系數(shù)必須分配到4組子濾波器中,因此濾波器的抽頭系數(shù)必須是4的整數(shù)倍。設(shè)計了歸一化通帶截止頻率0.2、阻帶起始頻率0.4的40階FIR濾波器,使用FDATool計算了抽頭系數(shù),幅頻特性如圖3所示,并對該濾波器系數(shù)使用Matlab進行了仿真,仿真圖形如圖4所示。
?
3.3 直接頻率合成正弦載波技術(shù)
直接數(shù)字頻率合成技術(shù)(DDS)具有較高的頻率分辨率,可實現(xiàn)快速的頻率切換且在頻率改變時能夠保持相位的連續(xù),通過FPGA很容易實現(xiàn)頻率、相位和幅度的控制。因此,DDS的應(yīng)用越來越廣泛,在數(shù)字化的調(diào)制解調(diào)模塊中,DDS取代了VCO(模擬的壓控振蕩器)而被大量采用。
DDS的基本原理是通過一個可控的相位累加器的輸出作為一個ROM查找表的地址輸入,根據(jù)ROM查找表存儲的數(shù)據(jù)輸出數(shù)字正弦波形。相位累加器的頻率控制字k根據(jù)輸出模擬頻率來計算[3]。本設(shè)計中MAX5881的刷新速率為4.0 GS/s,為了保證輸出正弦波的質(zhì)量,一個周期內(nèi)最少應(yīng)該有2.5個取樣點,據(jù)此設(shè)定DDS輸出正弦波頻率最大1.6 GHz,MAX5881最小輸出頻率為50 MHz,因此可輸出射頻信號頻率范圍為50 MHz~1.6 GHz。
本設(shè)計中,調(diào)制信號是16路250 MHz的數(shù)據(jù),正弦載波信號相應(yīng)地為16路250 MHz數(shù)據(jù),根據(jù)設(shè)計要求綜合考慮后,為了獲得優(yōu)秀的波形和盡可能大的頻率范圍,對幅度為1 024的正弦波的一個周期進行4 096采樣,對應(yīng)12位地址信號,用Matlab軟件計算得到每一點對應(yīng)的幅度值,為避免波形數(shù)據(jù)出現(xiàn)負值,對幅度值平移處理后量化成10位二進制數(shù)據(jù)存放在ROM中。在250 MHz時鐘的每個周期,需要從ROM查找表中連續(xù)讀出16個相位連續(xù)的值,每次相位累加的值,F(xiàn)out為輸出頻率,F(xiàn)clk是基準周期的16倍4 GHz,N為ROM表的深度,輸出波形的頻率分辨率。
3.4 輸出并串轉(zhuǎn)換技術(shù)
經(jīng)過多相插值濾波后的調(diào)制頻率與DDS輸出的正弦載波相乘后,基帶信號頻率搬移到相應(yīng)的射頻頻段,這時的信號是16路并行信號,需要經(jīng)過FPGA的輸出并串轉(zhuǎn)換器(OSERDES)串行化后輸出4路信號,最后按照MAX5881的時序要求從FPGA的I/O口輸出。
Virtex-5 OSERDES 是專用的并串轉(zhuǎn)換器,具有專門用來幫助實現(xiàn)高速源同步接口的特定時鐘控制和邏輯資源。OSERDES 使用CLK和CLKDIV兩個時鐘進行數(shù)據(jù)速率轉(zhuǎn)換。CLK是高速串行時鐘,CLKDIV是分頻并行時鐘。CLK和CLKDIV由DCM保證相位對齊。一個 OSERDES 模塊中的數(shù)據(jù)并串轉(zhuǎn)換器接收來自內(nèi)部資源的四位并行數(shù)據(jù),將數(shù)據(jù)串行化,然后通過 OQ 輸出將數(shù)據(jù)送至IOB。并行數(shù)據(jù)串行化是按照從數(shù)據(jù)輸入引腳的最低位到最高的順序進行的(即D1輸入引腳上的數(shù)據(jù)傳輸?shù)絆Q引腳的首位)。本設(shè)計是在雙倍數(shù)據(jù)速率 DDR模式下使用數(shù)據(jù)并串轉(zhuǎn)換器,CLK頻率為500 MHz,CLKDIV頻率為250 MHz,輸出串行數(shù)據(jù)速率為1GHz[4]。
本設(shè)計主要應(yīng)用了Virtex5系列FPGA新的高性能DSP模塊、高速SelectIO資源,結(jié)合MAX5881高達4.3 GS/s的數(shù)據(jù)分辨率,實現(xiàn)了由基帶信號到50 MHz~1.6 GHz頻率范圍內(nèi)射頻信號的上變頻,解決了傳統(tǒng)調(diào)制方法的上變頻部分無法采用數(shù)字方式實現(xiàn)的難題。本設(shè)計極大地簡化了RF模塊的設(shè)計,省去了傳統(tǒng)模擬方案中很多必需的器件,如:上變頻調(diào)制器或混頻器、下變頻混頻器、 固定和可變頻率合成器、放大器和濾波器等,因此單通道成本低于模擬方案。相對于傳統(tǒng)的數(shù)模混合調(diào)制系統(tǒng),本設(shè)計系統(tǒng)靈活,便于仿真驗證,充分發(fā)揮了全數(shù)字系統(tǒng)的優(yōu)點,有一定使用和推廣的價值。
參考文獻
[1] 王煒,趙可萍,鄭易.基于FPGA的調(diào)制信號電路設(shè)計[J].微計算機信息,2007,23(2-2).
[2] Interfacing the MAX5881 Direct RF Synthesis DAC to FPGAs[EB/OL].http://www.maxim-ic.com.cn.
[3] 李曉杰,王秀琴.直接數(shù)字頻率合成器的設(shè)計[J].煤礦機械,2008,29(7).
[4] ug190:Virtex-5 FPGA Data Sheet[EB/OL].http://www.xilinx.com.