基于FPGA的DDS設計方案1 DDS技術簡介隨著電子技術的不斷發(fā)展,傳統(tǒng)的頻率合成技術逐漸不能滿足人們對于頻率轉換速度、頻率分辨率等方面的追求,直接數(shù)字頻率合成技術應運而生。
直接數(shù)字頻率合成技術(DDS) 是把一系列數(shù)據(jù)量形式的信號通過D/A轉換器轉換成模擬量形式的信號合成技術。DDS具有很多優(yōu)點,比如:頻率轉換快、頻率分辨率高、相位連續(xù)、低功耗、低成本與控制方便。
DDS技術滿足了人們對于速度穩(wěn)定性的需求,但是在一些控制較為復雜的系統(tǒng)中,DDS專用芯片不能很好的貼合要求。利用現(xiàn)場可編程門陣列(FPGA)實現(xiàn)DDS具有很大的靈活性,基本能滿足現(xiàn)在通信系統(tǒng)的使用要求。
2 DDS結構原理2.1 基本結構 DDS基本結構框圖主要由參考頻率源、相位累加器、ROM查找表、DAC轉換器、低通濾波器等構成。
相位累加器以一定的步長做累加, 而波形函數(shù)存儲在ROM查找表中, 將相位累加器輸出的相位值作為地址,尋找存儲在ROM查找表中的波形函數(shù)的幅度值,從而完成相位到幅值的轉換。其中,參考頻率源一般是一個晶體振蕩器,要求具有高穩(wěn)定性,用于DDS中各部件之間的同步。
2.2 基本原理
DDS Core結構圖
上圖為DDS Core結構圖,?θ是相位增量(對應圖1中的頻率控制字K),B?θ 為相位累加器的位數(shù),clk是參考時鐘(對應圖1中的參考頻率源),A1、D1構成積分器(相位累加器),θ(n)是相位累加器輸出的相位,Q1為量化器,用于將相位累加器位數(shù)與查找表地址之間的匹配,?(n)為查找表輸入地址,B?(n) 為查找表輸入地址位數(shù),T1為查找表。
下面介紹DDS設計過程中常用到的公式,主要是輸出頻率公式及其變形。
輸出頻率
相位增量
頻率分辨率
相位累加器位數(shù)
3 基于FPGA的 DDS實現(xiàn)For example:
設計一個參考時鐘為100MHz,頻率分辨率要求能夠達到0.03Hz,輸出sin信號頻率為5.00000005MHz、查找表地址12位;
理論分析:
已知頻率分辨率?f與參考時鐘f_clk,帶入相位累加器位數(shù)公式計算
B?θ = 31.634318
由于位數(shù)為整數(shù),取整數(shù)32,所以實際的頻率分辨率為
?f = 0.023283064365386962890625Hz
將其帶入相位增量公式計算,取整數(shù)
?θ = 21474836694.7483648≈21474836
相位累加器輸出32位,而查找表輸入地址為12位,取相位累加器高12位作為查找表輸入地址
3.1 利用RTL實現(xiàn)DDS使用matlab產(chǎn)生sin?(θ)數(shù)據(jù),θ?[0,π],點數(shù)為2^12=4096,并保存在FPGA的memory中。
wid = 12;
len = 2^wid;
amp = 10000;
t=0:2*pi/len:2*pi - 2*pi/len;
y = round(sin(t)*amp);
plot(y);
相位累加器就是一個積分器,很容易用FPGA實現(xiàn)。最終FPGA仿真結果如下,clk為參考時鐘,phase為相位累加器輸出,addr為查找表地址,cos_i、sin_q為信號輸出。
3.2 利用Xlinx DDS IP實現(xiàn)上述已經(jīng)對DDS理論進行了詳細概述,利用Xlinx DDS IP實現(xiàn)上述例子相對容易的多,只需要填入對應的參數(shù)信息。
需要注意的是,輸入相位端口S_AXIS_PHASE與輸出信號端口M_AXIS_DATA的格式,通過設計界面的Information查看,CHAN_0_POFF為初始相位,沒有特殊要求一般設置為0,CHAN_0_PINC為相位增量?θ。
4 DDS用途DDS用途非常廣泛,后續(xù)會利用Xlinx DDS IP設計一些有趣的信號,例如線性調(diào)頻信號、非重復掃描系統(tǒng)等。
編輯:jq
-
FPGA
+關注
關注
1625文章
21627瀏覽量
601249 -
DDS
+關注
關注
21文章
630瀏覽量
152483 -
累加器
+關注
關注
0文章
50瀏覽量
9436 -
xlinx
+關注
關注
0文章
5瀏覽量
4473
原文標題:基于FPGA的DDS設計方案
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論