<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于FPGA動(dòng)態(tài)信號產(chǎn)生器設計

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

1 背景

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

2 原理及理論分析

2.1 DDS原理

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

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

2.2理論分析

2.2.1 DDS輸出頻率表達式

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

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

360°/2M (1)

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

輸出頻率為:

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

2.2.2 系統的頻率分辨率

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

fo=fc/2N (4)

2.2.3 系統可輸出的最高頻率

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


3 動(dòng)態(tài)信號產(chǎn)生器的設計

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

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


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

圖2中虛線(xiàn)內為FPGA部分,虛線(xiàn)外部分主要為FPGA服務(wù)。其中存儲器完成對FPGA配置的功能;接口電路完成電平轉換功能主要是將FPGA輸出的TTL電平轉換成RS 232標準電平。

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

3.2關(guān)鍵參數設計

3.2.1 參考時(shí)鐘選擇

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

在此選擇了fc=25 MHz。

3.2.2 累加器位數選擇

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


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

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

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

取M=14。

3.3主要芯片選擇

3.3.1 FPGA芯片的選擇

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

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

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

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

3.3.2 數字模擬轉換芯片的選擇

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

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

3.4算法設計

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

3.4.1 頻控碼算法

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

k=(fo×2N)/fc

3.4.2波形數據算法

表達式如下:

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

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

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

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

5 結語(yǔ)

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>