1 DDS概念
DDS(Direct Digital Frequency Synthesizer) 直接數(shù)字頻率合成器,本文主要介紹如何調(diào)用Xilinx的DDS IP核生成某一頻率的Sin和Cos信號(hào)。
2 DDS IP使用
打開(kāi)Vivado創(chuàng)建Block Design。
添加 DDS IP。
1、我們選擇波形與相位同時(shí)存在的情況。
2、選擇DDS IP輸入的系統(tǒng)時(shí)鐘頻率,這里我們選擇100MHz。
3、DDS通道的數(shù)目,我們這里選擇一個(gè)。
4、整個(gè)IP配置的模式,我們這里選擇標(biāo)準(zhǔn)模式即可。
5、參數(shù)選擇的模式,我們這里選擇系統(tǒng)參數(shù),這個(gè)選擇主要影響IP的定制界面所涉及到的參數(shù)。
6、頻率的動(dòng)態(tài)范圍,主要和DDS內(nèi)部RAM的數(shù)據(jù)位寬有關(guān),計(jì)算方法是20log2n,其中n為RAM的位寬。
7、選擇DDS的最小的頻率分辨率。
1、相位增量我們選擇固定。
2、相位偏執(zhí)我們也選擇成固定,這兩個(gè)參數(shù)可以動(dòng)態(tài)控制輸出的頻率。
3、我們這里產(chǎn)生正弦波和余弦波。
4、因?yàn)槲覀冎豢紤]正弦波的頻率,所以這里不再輸出相位信息。
輸入我們需要DDS輸出的頻率,這里我們輸入5MHz,其余選項(xiàng),我們選擇默認(rèn)即可。點(diǎn)擊確定。
生成頂層文件。
添加仿真文件。
3 Testbench編寫(xiě)
`timescale 1ns / 1ps
//
// Company:
// Engineer: 一個(gè)早起的程序員
//
// Create Date: 2020/12/01 23:08:37
// Design Name:
// Module Name: sim
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module sim(
);
wire [7:0] m_axis_data_tdata_0 ;
wire [31:0] m_axis_phase_tdata_0 ;
reg aclk ;
initial begin
aclk = 1'b0;
end
always #5 aclk = ~aclk;
design_1_wrapper design_1_wrapper_u0(
.aclk_0 (aclk ),
.m_axis_data_tdata_0 (m_axis_data_tdata_0 ),
.m_axis_phase_tdata_0 (m_axis_phase_tdata_0 )
);
endmodule
4 波形分析
1.核心的核心:5M的波形周期則為200ns,因?yàn)闀r(shí)鐘只有100M,所以一個(gè)周期只能輸出20個(gè)點(diǎn)。
2.核心的核心:設(shè)置界面Summary顯示Phase Increment值為0xCCCCCC,從波形上也可以看出,兩個(gè)點(diǎn)角度差0xCCCCCC。
-
Xilinx
+關(guān)注
關(guān)注
71文章
2171瀏覽量
122132 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1746瀏覽量
131799 -
DDS
+關(guān)注
關(guān)注
21文章
636瀏覽量
152936 -
Vivado
+關(guān)注
關(guān)注
19文章
815瀏覽量
66887
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論