新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA動(dòng)態(tài)信號(hào)產(chǎn)生器設(shè)計(jì)

基于FPGA動(dòng)態(tài)信號(hào)產(chǎn)生器設(shè)計(jì)

作者: 時(shí)間:2007-02-13 來(lái)源:網(wǎng)絡(luò) 收藏

1 背景

信號(hào)源作為現(xiàn)代電子產(chǎn)品中的重要一員,必須滿足高精度、高速度、高分辨率等要求。作為檢查高精度雷達(dá)設(shè)備的動(dòng)態(tài)信號(hào)源更需要滿足這些要求。雷達(dá)測(cè)量設(shè)備在日常維護(hù)保養(yǎng)中,由于沒(méi)有也不可能用跟蹤動(dòng)態(tài)目標(biāo)來(lái)完成設(shè)備性能的檢查,所以都是用信號(hào)源產(chǎn)生信號(hào)進(jìn)行檢查,而信號(hào)源無(wú)法模擬實(shí)際動(dòng)態(tài)信號(hào),因此在多數(shù)情況下無(wú)法準(zhǔn)確地檢查設(shè)備的動(dòng)態(tài)性能。本文研究并實(shí)現(xiàn)了基于FPGA(Field Programmable Gate Array)的智能動(dòng)態(tài)信號(hào)源,采用了(Direct Digital Synthesis)技術(shù)。FPGA與相結(jié)合的方案顯示出很多突出的優(yōu)點(diǎn):高頻率分辨率;超寬的頻率范圍;能實(shí)現(xiàn)各種調(diào)制波和任意波形的產(chǎn)生;關(guān)鍵部分易于實(shí)現(xiàn)全數(shù)字化。

2 原理及理論分析

2.1 DDS原理

DDS即"直接數(shù)字頻率合成",是一種較新穎的頻率合成技術(shù),經(jīng)過(guò)幾年的發(fā)展,現(xiàn)在已經(jīng)成熟,應(yīng)用非常廣泛。這種技術(shù)的基本原理是使用高穩(wěn)定的參考時(shí)鐘源來(lái)量化抽樣時(shí)間間隔,直接對(duì)要產(chǎn)生信號(hào)進(jìn)行抽樣、量化和信號(hào)映射,然后經(jīng)過(guò)D/A轉(zhuǎn)換和低通濾波,輸出需要的模擬信號(hào)。其原理如圖1所示。

通常情況下累加器的位數(shù)一般都比較高,以獲取高的頻率和相位分辨率,但考慮到如下兩個(gè)原因,一般函數(shù)發(fā)生器只用N位累加器中的高M(jìn)位,而舍去其低位:一是函數(shù)發(fā)生器(波形存儲(chǔ)器)的RAM的存儲(chǔ)容量有限;二是由于數(shù)/模轉(zhuǎn)換的精度限制和外界干擾的影響,隨著位數(shù)的增加,其輸出的幅度值的分辨率無(wú)法隨之無(wú)限制地增加。

2.2理論分析

2.2.1 DDS輸出頻率表達(dá)式

fc為參考時(shí)鐘頻率,Tc=1/fc;fo為輸出頻率,To=1/fo;k為頻率控制字,即相位增量。

設(shè)累加器的長(zhǎng)度為N位,函數(shù)發(fā)生器產(chǎn)生一個(gè)周期波輸出是M位(N位中的最高M(jìn)位,M

360°/2M (1)

同樣,N位中的LSB相當(dāng)于2π/2N弧度。該360°/2N弧度就是最小的相位增量。于是,k值對(duì)應(yīng)的相位增量就是k*2π/2N弧度。這樣,完成一個(gè)周期的波輸出需要經(jīng)過(guò)2π/(K*2π/2N)個(gè)參考時(shí)鐘周期,即2N/K個(gè)周期。因此,可以得到輸出頻率的周期為:

輸出頻率為:

可見,輸出頻率fo與頻率控制字k成正比。如果已知輸出頻率fo,即可算出頻率控制字k。

2.2.2 系統(tǒng)的頻率分辨率

當(dāng)k=1時(shí),對(duì)應(yīng)輸出頻率為可輸出的最低頻率值,也就是頻率分辨率:

fo=fc/2N (4)

2.2.3 系統(tǒng)可輸出的最高頻率

理論上,輸出的最高頻率主要受奈奎斯特頻率的限制。根據(jù)采樣定理,當(dāng)k=2N-1時(shí),系統(tǒng)輸出達(dá)到理論輸出的最高頻率:fo=fc/2。但在實(shí)際設(shè)計(jì)的DDS系統(tǒng)中,由于以下幾個(gè)原因,設(shè)計(jì)的最大輸出頻率必須小于fc/2:一是輸出濾波器的非理想性,一般輸出信號(hào)的最大頻率為參考時(shí)鐘頻率fc的40%左右;二是如果產(chǎn)生的是信號(hào),且輸出的頻率為采樣時(shí)鐘的一半,同時(shí)采樣點(diǎn)正好處于零點(diǎn),則無(wú)法產(chǎn)生需要的信號(hào)。但是從以上幾點(diǎn)分析,DDS系統(tǒng)可以得到非常寬的頻率調(diào)節(jié)范圍,其相對(duì)帶寬為:


3 動(dòng)態(tài)信號(hào)產(chǎn)生器的設(shè)計(jì)

3.1動(dòng)態(tài)信號(hào)產(chǎn)生流程

系統(tǒng)框圖如圖2所示。動(dòng)態(tài)信號(hào)產(chǎn)生器的核心部分DDS的數(shù)字部分用FPGA實(shí)現(xiàn)。同時(shí)FPGA還接收外部控制信號(hào)和產(chǎn)生用于控制整個(gè)電路工作的同步信號(hào),向PC微機(jī)發(fā)送FPGA工作狀態(tài)。圖2中NCO,D/A轉(zhuǎn)換和濾波電路構(gòu)成了DDS電路。寄存器用來(lái)存放產(chǎn)生動(dòng)態(tài)信號(hào)的頻控碼;時(shí)鐘處理電路用來(lái)產(chǎn)生采樣時(shí)鐘信號(hào)和同步信號(hào);串口電路用來(lái)完成與微機(jī)接口的任務(wù),接收來(lái)自于微機(jī)的控制信號(hào)和數(shù)據(jù)。NCO由鎖存器、相位累加器和波形存儲(chǔ)器(RAM)構(gòu)成。鎖存器作為相位增量寄存器,相位累加器用于實(shí)現(xiàn)地址的累加,用該地址信息從波形存儲(chǔ)器中獲取相應(yīng)的波形數(shù)據(jù)。波形存儲(chǔ)器用于存放各種波形數(shù)據(jù),可通過(guò)計(jì)算機(jī)來(lái)產(chǎn)生多種信號(hào)波形數(shù)據(jù),從而實(shí)現(xiàn)信號(hào)源的多功能化。經(jīng)過(guò)波形存儲(chǔ)器后,將這些數(shù)字信號(hào)進(jìn)行數(shù)/模轉(zhuǎn)換得到模擬信號(hào)。最后再通過(guò)運(yùn)算放大器和濾波整形電路將信號(hào)濾波、放大后輸出。


由表達(dá)式(3)可以看出,只要頻控碼k變化,則輸出頻率隨之變化,從而實(shí)現(xiàn)信號(hào)頻率的改變。

圖2中虛線內(nèi)為FPGA部分,虛線外部分主要為FPGA服務(wù)。其中存儲(chǔ)器完成對(duì)FPGA配置的功能;接口電路完成電平轉(zhuǎn)換功能主要是將FPGA輸出的TTL電平轉(zhuǎn)換成RS 232標(biāo)準(zhǔn)電平。

濾波器設(shè)計(jì)采用了晶體濾波器,以濾除所產(chǎn)生動(dòng)態(tài)信號(hào)的相位噪聲,滿足雷達(dá)設(shè)備應(yīng)用。

3.2關(guān)鍵參數(shù)設(shè)計(jì)

3.2.1 參考時(shí)鐘選擇

由于要產(chǎn)生的信號(hào)頻率為5 MHz,由上述分析可知,參考時(shí)鐘必須大于:

在此選擇了fc=25 MHz。

3.2.2 累加器位數(shù)選擇

累加器位數(shù)的選擇主要決定于5 MHz信號(hào)的頻率分辨率,本動(dòng)態(tài)5 MHz信號(hào)產(chǎn)生器需要的分辨率為δ=8×10-5Hz,根據(jù)表達(dá)式(4),可計(jì)算出累加器的位數(shù)N。


其中,fc=25 MHz為時(shí)鐘頻率,δ為分辨率,則相位累加器的位數(shù)為:

取NCO相位累加器的位數(shù)為N=40。
3.2.3 函數(shù)發(fā)生器位數(shù)選擇

函數(shù)發(fā)生器位數(shù)的選擇主要決定于輸出5 MHz信號(hào)的相位分辨率,本動(dòng)態(tài)5 MHz信號(hào)產(chǎn)生器需要的分辨率為a=0.034°,則根據(jù)表達(dá)式(1),可計(jì)算出函數(shù)發(fā)生器位數(shù)為:

取M=14。

3.3主要芯片選擇

3.3.1 FPGA芯片的選擇

由于頻控碼在產(chǎn)生動(dòng)態(tài)信號(hào)前,需要全部裝入FPGA的RAM中,所以FPGA的RAM必須滿足一定要求。計(jì)算過(guò)程如下:

產(chǎn)生動(dòng)態(tài)信號(hào)時(shí)間長(zhǎng)度設(shè)定為500 s,每秒頻控碼為80個(gè),所以,共有:500×80=40 000幀數(shù)據(jù)。每幀數(shù)據(jù)為16位,共需寄存器的位數(shù)為:40 000×16=640 000。在NCO中還需實(shí)現(xiàn)函數(shù)發(fā)生器,函數(shù)發(fā)生器的地址寬度為14位,數(shù)據(jù)寬度也為14位,則需要的寄存器位數(shù)為:214×14=229 367。所以最終需要的寄存器位數(shù)為:640 000+229 376=869 376。

其次,F(xiàn)PGA中必須有專用時(shí)鐘處理電路,最少要有2個(gè)PLL。NCO需要的時(shí)鐘較多,且時(shí)鐘之間有嚴(yán)格的時(shí)序關(guān)系。時(shí)鐘的類型主要有:數(shù)/模轉(zhuǎn)換需要的時(shí)鐘;串口時(shí)鐘;參考時(shí)鐘;80 Hz信號(hào)。

Altera公司的Stratix芯片可以滿足需要。該芯片的核心電壓為1.5 V,采用O.13 μm,全銅技術(shù)制造,最大寄存器容看锏? Mb。

3.3.2 數(shù)字模擬轉(zhuǎn)換芯片的選擇

相位累加器的位數(shù)為14位,所以D/A轉(zhuǎn)換器件的位數(shù)也必須是14位的。經(jīng)過(guò)選擇比對(duì),AD公司的AD9754數(shù)/模轉(zhuǎn)換器件可以滿足要求。該數(shù)/模轉(zhuǎn)換器具有14位精度,最大調(diào)整率為125 MSPS,片上集成了兩級(jí)輸入寄存器和參考電流源,所以設(shè)計(jì)電路簡(jiǎn)單,操作靈活,只需要較少的外部元器件就可以完成數(shù)/模轉(zhuǎn)換功能。

AD9754為電流型輸出器件,需要進(jìn)行電流電壓轉(zhuǎn)換。擬用AD公司AD9631運(yùn)算放大器完成電流電壓轉(zhuǎn)換功能,該運(yùn)放的單位增益帶寬在大信號(hào)情況下為175 MHz,在小信號(hào)情況下更寬。供電電壓為±5 V,輸出擺率為1 300 V/μs。

3.4算法設(shè)計(jì)

軟件設(shè)計(jì)主要包括配置FPGA、計(jì)算波形數(shù)據(jù)和頻控碼數(shù)據(jù)。同時(shí)軟件還要完成監(jiān)控顯示任務(wù)。軟件開發(fā)用VC++,操作系統(tǒng)用Windows NT。由軟件計(jì)算頻控碼并通過(guò)串口發(fā)送到FPGA的RAM中。波形數(shù)據(jù)可以以初始化文件形式寫入FPGA的RAM中,可寫入正弦波、三角波、方波等波形,還可寫入各種調(diào)制波形。不同的波形數(shù)據(jù)用函數(shù)發(fā)生器地址加以區(qū)分,這樣可隨時(shí)改變輸出信號(hào)的波形。系統(tǒng)控制命令發(fā)出后便可脫機(jī)工作。

3.4.1 頻控碼算法

根據(jù)表達(dá)式(3),可以得出計(jì)算頻控碼的表達(dá)式如下:

k=(fo×2N)/fc

3.4.2波形數(shù)據(jù)算法

表達(dá)式如下:

其中,M為函數(shù)發(fā)生器數(shù)據(jù)寬度,在此為14,t為時(shí)間單位,在此為整數(shù),取值范圍為:0,1,…,2M-1,實(shí)際上t就是函數(shù)發(fā)生的輸入地址值。

4 產(chǎn)生信號(hào)波形圖

在調(diào)試階段,利用FPGA開發(fā)板對(duì)設(shè)計(jì)進(jìn)行了驗(yàn)證,工作正常,波形如圖3所示。

從圖3中可以看出,輸出為5 MHz數(shù)字信號(hào),該信號(hào)是在固定頻控碼增量條件下產(chǎn)生的。經(jīng)過(guò)多次采樣和波形比對(duì),其頻率是變化的。由于一個(gè)周期只有5個(gè)采樣點(diǎn),所以信號(hào)波形看起來(lái)不是很光滑。通過(guò)8566A分析儀觀察,產(chǎn)生的5 MHz信號(hào)的特性非常好,雜波抑制在70 dB以上,抑制在45 dB以上。

5 結(jié)語(yǔ)

通過(guò)產(chǎn)生的動(dòng)態(tài)5 MHz信號(hào)對(duì)高精度雷達(dá)設(shè)備進(jìn)行檢查,證明了本方案是可行的,能夠完成對(duì)設(shè)備動(dòng)態(tài)性能的檢查,使設(shè)備的維護(hù)保養(yǎng)更具有針對(duì)性。



關(guān)鍵詞: DDS 頻譜 諧波 正弦

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉