《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于FPGA的全數(shù)字上變頻系統(tǒng)設(shè)計(jì)

基于FPGA的全數(shù)字上變頻系統(tǒng)設(shè)計(jì)

2009-06-23
作者:于 帥,劉志軍,孔德超

  摘 要: 介紹一種利用新器件特性實(shí)現(xiàn)全數(shù)字上變頻的方法,包括射頻頻率范圍內(nèi)從基帶信號(hào)插值濾波器的設(shè)計(jì)、載波信號(hào)的產(chǎn)生,到針對(duì)射頻信號(hào)高采樣率的并行處理方法以及與數(shù)模轉(zhuǎn)換器件的接口設(shè)計(jì)。與傳統(tǒng)模擬方案相比,本設(shè)計(jì)具有更佳的性能、更低的成本和更好的靈活性,可廣泛用于電纜調(diào)制解調(diào)器系統(tǒng)。
  關(guān)鍵詞: 多相濾波;直接數(shù)字頻率合成;輸出并串轉(zhuǎn)換器

?

  傳統(tǒng)的調(diào)制方式包括模擬調(diào)制和數(shù)字調(diào)制,模擬調(diào)制中的基帶信號(hào)和載波都是模擬信號(hào)。隨著軟件無線電技術(shù)理論的發(fā)展以及大規(guī)模集成電路的廣泛應(yīng)用,原來的模擬通信系統(tǒng)的基帶處理部分采用數(shù)字電路逐漸數(shù)字化、軟件化,這樣就可通過可編程器件的可編程性對(duì)工作頻率、系統(tǒng)帶寬、調(diào)制方式、信源編碼等進(jìn)行編程控制,實(shí)現(xiàn)不同的通信功能系統(tǒng),靈活性大為增強(qiáng)[1]。然而,根據(jù)奈奎斯特抽樣理論,要對(duì)通信系統(tǒng)的射頻部分進(jìn)行數(shù)字化處理,要求數(shù)字信號(hào)的采樣頻率至少是模擬射頻信號(hào)最高頻率的2倍以上,由于以往數(shù)字處理器件以及DA轉(zhuǎn)換器件的處理速度的限制,傳統(tǒng)通信系統(tǒng)的基帶信號(hào)為數(shù)字信號(hào),載波仍然是模擬載波。
  近期,Xilinx公司發(fā)布了Virtex5系列FPGA,借助于該FPGA擁有的用于實(shí)現(xiàn)高性能DSP的550 MHz DSP48E slice以及實(shí)現(xiàn)終級(jí)并行連接功能的1.25 Gb/s SelectIO 技術(shù),可以直接實(shí)現(xiàn)數(shù)字射頻信號(hào)的調(diào)制,Maxim公司也發(fā)布了采樣率高達(dá)4.3 GS/s的DA轉(zhuǎn)換器MAX5881,可以從50 MHz~1 000 MHz直接進(jìn)行模擬射頻信號(hào)合成。本文介紹了如何使用Virtex5系列FPGA進(jìn)行數(shù)字射頻信號(hào)調(diào)制以及通過MAX5881輸出模擬射頻信號(hào)的“全數(shù)字”上變頻技術(shù)。之所以稱為“全數(shù)字”,是因?yàn)槠浠鶐盘?hào)和載波全部都是時(shí)間離散的信號(hào),完成調(diào)制的器件也是數(shù)字器件。
1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
  按照通信調(diào)制基本理論,上變頻需要將調(diào)制好的信號(hào)從基帶頻率搬移到射頻頻率,對(duì)于基帶信號(hào),其帶寬一般較窄,因此在很多應(yīng)用場(chǎng)合中都是根據(jù)Nyquist采樣定理,再結(jié)合工程實(shí)際,采用2.5~4倍的基帶信號(hào)最高頻率進(jìn)行采樣。而作為載波的DDS輸出波形,其頻率相對(duì)較高。如果用基帶信號(hào)對(duì)載波進(jìn)行正交調(diào)制,即是數(shù)字信號(hào)的相乘,要求基帶和載波具有相同的數(shù)據(jù)速率。所以,在進(jìn)行正交調(diào)制之前必須對(duì)基帶數(shù)字信號(hào)進(jìn)行插值濾波,提高其數(shù)據(jù)速率。提高基帶信號(hào)的數(shù)據(jù)速率有兩種途徑:一種是簡(jiǎn)單的數(shù)據(jù)保持方法;另一種是嚴(yán)格的插值濾波法。簡(jiǎn)單的數(shù)據(jù)保持法是將序列的每一個(gè)采樣點(diǎn)做簡(jiǎn)單的保持(或重復(fù)采樣)直到下一個(gè)采樣點(diǎn)到來。這種近似的處理辦法相當(dāng)簡(jiǎn)單,但效果不佳,只適合于數(shù)字調(diào)制方式或基帶信號(hào)帶寬很窄、對(duì)信號(hào)精度要求不高的場(chǎng)合。本設(shè)計(jì)采用嚴(yán)格的插值濾波,先經(jīng)過零值內(nèi)插,然后再濾波得到。信號(hào)從基帶頻率插值到4 GHz,插值倍數(shù)比較大,故采用多相濾波結(jié)構(gòu)的FIR濾波器實(shí)現(xiàn)。
  經(jīng)過插值后的數(shù)據(jù)與DDS產(chǎn)生的載波頻率相乘,乘法器使用Virtex5系列FPGA內(nèi)的高性能DSP模塊實(shí)現(xiàn),該模塊是FPGA內(nèi)部的硬件模塊,可運(yùn)行在550 MHz。為了保證信號(hào)的精度同時(shí)減少資源的使用,基帶信號(hào)用12位有符號(hào)數(shù)表示,載波信號(hào)用10位無符號(hào)數(shù)表示,二者相乘后為22位有符號(hào)數(shù)。由于MAX5881為12位輸入精度,截取22位有符號(hào)數(shù)的高12位作為FPGA的輸出。
2 FPGA與MAX5881的接口設(shè)計(jì)
  MAX5881是Maxim推出的首款12位、4.3 GS/s數(shù)模轉(zhuǎn)換器,器件提供出色的雜散、噪聲和鄰道性能。MAX5881的輸出刷新速率高達(dá)4.3GS/s,其數(shù)據(jù)接口的輸入速率也需要比傳統(tǒng)數(shù)模轉(zhuǎn)換器件高。針對(duì)這種高帶寬的數(shù)據(jù)接口,設(shè)計(jì)了如圖1所示的FPGA與DAC的數(shù)據(jù)接口[2]。

?

  MAX5881在DDR模式下工作時(shí)鐘速率高達(dá)2.15 GHz,有獨(dú)立的模擬和數(shù)字時(shí)鐘,數(shù)據(jù)接口的時(shí)鐘由MAX5881輸出,用于簡(jiǎn)化和FPGA的接口。MAX5881輸出的數(shù)據(jù)時(shí)鐘DATACLKP/DATACLKN是由CLKP/CLKN引腳上的高精度模擬時(shí)鐘源分頻產(chǎn)生的,因而時(shí)鐘周期的抖動(dòng)非常小,適合作為FPGA的工作時(shí)鐘。
  為了保證FPGA生成的數(shù)據(jù)傳輸?shù)組AX5881接口端與CLKP/CLKN的相位對(duì)齊關(guān)系,采用了“系統(tǒng)同步化”設(shè)計(jì)。這一設(shè)計(jì)的過程是將時(shí)鐘管理單元(DCM)的CLK0從芯片內(nèi)部經(jīng)過一個(gè)OSERDES輸出到電路板,然后再將時(shí)鐘作為反饋時(shí)鐘送回DCM。PCB板上的時(shí)鐘反饋路徑長(zhǎng)度等于從FPGA到MAX5881的數(shù)據(jù)路徑長(zhǎng)度減去DATACLK路徑的長(zhǎng)度,這就保證了時(shí)鐘反饋路徑產(chǎn)生的延時(shí)等于FPGA到MAX5881的數(shù)據(jù)傳輸路徑延時(shí)減去MAX5881的DATACLK輸出到FPGA的延時(shí),因而由DCM提供的延時(shí)恰好補(bǔ)償FPGA的數(shù)據(jù)與時(shí)鐘路徑延時(shí)。此時(shí)到達(dá)MAX5881的數(shù)據(jù)變化發(fā)生在DATACLK的上升沿與下降沿。為了保證MAX5881的建立與保持時(shí)間要求,還要對(duì)數(shù)據(jù)與DATACLK之間的相位關(guān)系進(jìn)行微調(diào)。這個(gè)附加的延時(shí)可以通過增長(zhǎng)反饋路徑的長(zhǎng)度或者在反饋路徑上加入一個(gè)FPGA ODELAY模塊來實(shí)現(xiàn)。
  MAX5881包括四個(gè)12位復(fù)用低壓差分信號(hào)(LVDS)輸入端口,每個(gè)端口以雙倍數(shù)據(jù)速率(DDR)或四倍數(shù)據(jù)速率(QDR)模式工作在1 075 MHz。該器件接受1/2 DAC刷新速率的時(shí)鐘,在時(shí)鐘上升沿和下降沿均觸發(fā)轉(zhuǎn)換。輸入數(shù)據(jù)速率為1/4 DAC刷新速率或1/2時(shí)鐘速率。將MAX5881的CLKDIV引腳置為低電平并將FPGA的OSERDES配置為DDR模式,此時(shí),MAX5881輸出DATACLKP/DATACLKN的頻率等于其輸入引腳CLKP/CLKN頻率的1/4。對(duì)應(yīng)MAX5881的采樣頻率,CLKP/CLKN的頻率為2 GHz,DATACLKP/DATACLKN的頻率為500 MHz。這個(gè)500 MHz的時(shí)鐘信號(hào)驅(qū)動(dòng)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的時(shí)序要求,系統(tǒng)運(yùn)行更加穩(wěn)定。
3 數(shù)字射頻信號(hào)上變頻
3.1 多相濾波器結(jié)構(gòu)
  本設(shè)計(jì)中,假定被調(diào)制信號(hào)的采樣頻率為250 MHz,需要進(jìn)行16倍插值才能達(dá)到4 GHz的采樣率??紤]到速度與資源的要求,采用了兩級(jí)4倍插值濾波器級(jí)聯(lián)的方式,每一級(jí)都采用了多相濾波的方式來實(shí)現(xiàn)。
  傳統(tǒng)的4倍插值濾波方式是將每?jī)蓚€(gè)原始數(shù)據(jù)中間插入3個(gè)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è)計(jì)中250 MHz的數(shù)據(jù)經(jīng)過插入3個(gè)0值后,數(shù)據(jù)速率已經(jīng)達(dá)到1 GHz,用x序列表示輸入信號(hào),c序列表示抽頭系數(shù), y表示輸出信號(hào)。則可以直觀地發(fā)現(xiàn),輸入序列x中有3/4的數(shù)據(jù)是0,這些數(shù)據(jù)對(duì)FIR濾波器的乘法器毫無意義,因此將濾波器的抽頭系數(shù)分為4組。圖2給出了第一個(gè)子濾波器的抽頭系數(shù)的計(jì)算流程。從圖中可以看出,該組抽頭系數(shù)如同一把梳子,計(jì)算得到輸出yn,而yn+1,yn+2,yn+3則由其他三組抽頭系數(shù)計(jì)算得到。第一個(gè)子濾波器從第一個(gè)輸入開始計(jì)算,第二個(gè)子濾波器從第二個(gè)輸入開始計(jì)算,依此類推。當(dāng)?shù)谝粋€(gè)子濾波器的四組抽頭系數(shù)都計(jì)算完一遍后,各組抽頭系數(shù)向右移一個(gè)單元格,計(jì)算得到輸出yn+4,yn+5,yn+6,yn+7,依此類推。每一組子濾波器獨(dú)立工作在250 MHz,四組子濾波器輸出數(shù)據(jù)組合成1 GHz,降低了每個(gè)子濾波器的工作頻率。


3.2 濾波器參數(shù)計(jì)算
  多相濾波器盡管結(jié)構(gòu)不同于普通FIR插值濾波器,但原理與普通的FIR濾波器等效,可以按照傳統(tǒng)的濾波器參數(shù)設(shè)計(jì)方法計(jì)算多相濾波器的參數(shù)。對(duì)于4倍插值的多相濾波器,由于濾波器的抽頭系數(shù)必須分配到4組子濾波器中,因此濾波器的抽頭系數(shù)必須是4的整數(shù)倍。設(shè)計(jì)了歸一化通帶截止頻率0.2、阻帶起始頻率0.4的40階FIR濾波器,使用FDATool計(jì)算了抽頭系數(shù),幅頻特性如圖3所示,并對(duì)該濾波器系數(shù)使用Matlab進(jìn)行了仿真,仿真圖形如圖4所示。

?


3.3 直接頻率合成正弦載波技術(shù)
  直接數(shù)字頻率合成技術(shù)(DDS)具有較高的頻率分辨率,可實(shí)現(xiàn)快速的頻率切換且在頻率改變時(shí)能夠保持相位的連續(xù),通過FPGA很容易實(shí)現(xiàn)頻率、相位和幅度的控制。因此,DDS的應(yīng)用越來越廣泛,在數(shù)字化的調(diào)制解調(diào)模塊中,DDS取代了VCO(模擬的壓控振蕩器)而被大量采用。
  DDS的基本原理是通過一個(gè)可控的相位累加器的輸出作為一個(gè)ROM查找表的地址輸入,根據(jù)ROM查找表存儲(chǔ)的數(shù)據(jù)輸出數(shù)字正弦波形。相位累加器的頻率控制字k根據(jù)輸出模擬頻率來計(jì)算[3]。本設(shè)計(jì)中MAX5881的刷新速率為4.0 GS/s,為了保證輸出正弦波的質(zhì)量,一個(gè)周期內(nèi)最少應(yīng)該有2.5個(gè)取樣點(diǎn),據(jù)此設(shè)定DDS輸出正弦波頻率最大1.6 GHz,MAX5881最小輸出頻率為50 MHz,因此可輸出射頻信號(hào)頻率范圍為50 MHz~1.6 GHz。
  本設(shè)計(jì)中,調(diào)制信號(hào)是16路250 MHz的數(shù)據(jù),正弦載波信號(hào)相應(yīng)地為16路250 MHz數(shù)據(jù),根據(jù)設(shè)計(jì)要求綜合考慮后,為了獲得優(yōu)秀的波形和盡可能大的頻率范圍,對(duì)幅度為1 024的正弦波的一個(gè)周期進(jìn)行4 096采樣,對(duì)應(yīng)12位地址信號(hào),用Matlab軟件計(jì)算得到每一點(diǎn)對(duì)應(yīng)的幅度值,為避免波形數(shù)據(jù)出現(xiàn)負(fù)值,對(duì)幅度值平移處理后量化成10位二進(jìn)制數(shù)據(jù)存放在ROM中。在250 MHz時(shí)鐘的每個(gè)周期,需要從ROM查找表中連續(xù)讀出16個(gè)相位連續(xù)的值,每次相位累加的值,F(xiàn)out為輸出頻率,F(xiàn)clk是基準(zhǔn)周期的16倍4 GHz,N為ROM表的深度,輸出波形的頻率分辨率
3.4 輸出并串轉(zhuǎn)換技術(shù)
  經(jīng)過多相插值濾波后的調(diào)制頻率與DDS輸出的正弦載波相乘后,基帶信號(hào)頻率搬移到相應(yīng)的射頻頻段,這時(shí)的信號(hào)是16路并行信號(hào),需要經(jīng)過FPGA的輸出并串轉(zhuǎn)換器(OSERDES)串行化后輸出4路信號(hào),最后按照MAX5881的時(shí)序要求從FPGA的I/O口輸出。
  Virtex-5 OSERDES 是專用的并串轉(zhuǎn)換器,具有專門用來幫助實(shí)現(xiàn)高速源同步接口的特定時(shí)鐘控制和邏輯資源。OSERDES 使用CLK和CLKDIV兩個(gè)時(shí)鐘進(jìn)行數(shù)據(jù)速率轉(zhuǎn)換。CLK是高速串行時(shí)鐘,CLKDIV是分頻并行時(shí)鐘。CLK和CLKDIV由DCM保證相位對(duì)齊。一個(gè) OSERDES 模塊中的數(shù)據(jù)并串轉(zhuǎn)換器接收來自內(nèi)部資源的四位并行數(shù)據(jù),將數(shù)據(jù)串行化,然后通過 OQ 輸出將數(shù)據(jù)送至IOB。并行數(shù)據(jù)串行化是按照從數(shù)據(jù)輸入引腳的最低位到最高的順序進(jìn)行的(即D1輸入引腳上的數(shù)據(jù)傳輸?shù)絆Q引腳的首位)。本設(shè)計(jì)是在雙倍數(shù)據(jù)速率 DDR模式下使用數(shù)據(jù)并串轉(zhuǎn)換器,CLK頻率為500 MHz,CLKDIV頻率為250 MHz,輸出串行數(shù)據(jù)速率為1GHz[4]。
  本設(shè)計(jì)主要應(yīng)用了Virtex5系列FPGA新的高性能DSP模塊、高速SelectIO資源,結(jié)合MAX5881高達(dá)4.3 GS/s的數(shù)據(jù)分辨率,實(shí)現(xiàn)了由基帶信號(hào)到50 MHz~1.6 GHz頻率范圍內(nèi)射頻信號(hào)的上變頻,解決了傳統(tǒng)調(diào)制方法的上變頻部分無法采用數(shù)字方式實(shí)現(xiàn)的難題。本設(shè)計(jì)極大地簡(jiǎn)化了RF模塊的設(shè)計(jì),省去了傳統(tǒng)模擬方案中很多必需的器件,如:上變頻調(diào)制器或混頻器、下變頻混頻器、 固定和可變頻率合成器、放大器和濾波器等,因此單通道成本低于模擬方案。相對(duì)于傳統(tǒng)的數(shù)模混合調(diào)制系統(tǒng),本設(shè)計(jì)系統(tǒng)靈活,便于仿真驗(yàn)證,充分發(fā)揮了全數(shù)字系統(tǒng)的優(yōu)點(diǎn),有一定使用和推廣的價(jià)值。

參考文獻(xiàn)
[1] 王煒,趙可萍,鄭易.基于FPGA的調(diào)制信號(hào)電路設(shè)計(jì)[J].微計(jì)算機(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ì)[J].煤礦機(jī)械,2008,29(7).
[4] ug190:Virtex-5 FPGA Data Sheet[EB/OL].http://www.xilinx.com.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。