在大部分的教科書中,都會(huì)提到如何分頻,包括奇數(shù)分頻,偶數(shù)分頻,小數(shù)分頻等。
1、DDS相位累加器
(1)DDS合成流程
首先講述DSS(直接頻率合成法)的原理。
DDS是重要的頻率合成方法,在波形發(fā)生器中有極其重要的應(yīng)用。DDS主要由以下幾部分組成:
a) 相位累加器
b) RAM數(shù)據(jù)讀取
c) D/A轉(zhuǎn)換器
d) 低通濾波器
直接頻率合成法的流程圖,有固定模塊,輸入頻率控制器,輸出固定頻率的波形。如下圖:
此電路最主要模塊是相位累加器,通過相位累加器循環(huán)計(jì)數(shù),循環(huán)讀取RAM的數(shù)據(jù),從而得到固定頻率的波形數(shù)據(jù)。
(2)相位累加器原理
相位累加原理流程如下:
輸入頻率控制字,根據(jù)算法,來實(shí)現(xiàn)相位的變化,分析如下所示:
假定FPGA基準(zhǔn)頻率為50MHz,即基準(zhǔn)頻率:

假定計(jì)數(shù)器為32位計(jì)數(shù)器,即:

K為頻率控制字,則相位輸出的頻率為:

即:

根據(jù)相位累加原理,以及RAM緩存讀取數(shù)據(jù),每一次0~(N-1)的循環(huán), RAM數(shù)據(jù)間隔K讀取一次。當(dāng)K=1的時(shí)候,公式能輸出最小頻率,即:

最小波形頻率步進(jìn)為0.011655Hz。當(dāng)fo=1Hz的時(shí)候:

所以,頻率每變化1Hz,K的步進(jìn)為85.90。當(dāng)K=N/2的時(shí)候,公式能輸出最大頻率(因?yàn)槊總€(gè)CLK跳變一次),此時(shí):

因此,根據(jù)頻率控制字K的變化,能輸出及固定頻率的波形。
2、任意頻率分頻原理
在FPGA中某些應(yīng)用場(chǎng)合,對(duì)頻率要求比較高的情況下,用相位累加器原理來生成固定頻率的方法,未嘗不可。
我們規(guī)定,對(duì)Cnt進(jìn)行對(duì)半50%拆分,具體如下:當(dāng)cnt < N/2時(shí),f0 = 0,也就是低電平;而當(dāng)cnt > N/2時(shí),f0 = 2,也就是低電平。
同理:




在FPGA中應(yīng)用,Verilog代碼如下所示:
/*************************************************** * Module Name : clk_generator * Engineer : Crazy Bingo * Target Device : EP2C8Q208C8 * Tool versions : Quartus II 9.1SP1 * Create Date : 2011-6-25 * Revision : v1.0 * Description : **************************************************/ /************************************************* fc = 50MHz 50*10^6 fo = fc*K/(2^32) K = fo*(2^32)/fc = fo*(2^32)/(50*10^6) **************************************************/ module clk_generator # ( parameter FREQ_WORD = 32'd8590 //1KHz ) ( input clk, //50MHz input rst_n, //clock reset output reg clk_out ); //************************************************/ reg [31:0] max_value; always@(posedge clk or negedge rst_n) begin if(!rst_n) max_value <= 1'b0; else max_value <= max_value + FREQ_WORD; end //****************************************************/ always@(posedge clk or negedge rst_n) begin if(!rst_n) clk_out <= 1'b0; else begin if(max_value < 32'h7FFF_FFFF) clk_out <= 1'b0; else clk_out <= 1'b1; end end endmodule /*******************************************************/
本模塊可應(yīng)用在多個(gè)對(duì)頻率精準(zhǔn)度要求比較高的工程中(如UART中,需要115200Hz的bps,用這種任意分頻的原理來得到精準(zhǔn)的方法,一定程度上能夠提高數(shù)據(jù)傳輸?shù)臏?zhǔn)確率)。
DDS中的相位累加器的任意分頻原理,在一般工程中同樣可以應(yīng)用。在某些應(yīng)用場(chǎng)合,還是值得考慮的。
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1643文章
21957瀏覽量
614047 -
低通濾波器
+關(guān)注
關(guān)注
14文章
495瀏覽量
48038 -
分頻
+關(guān)注
關(guān)注
0文章
253瀏覽量
25080 -
波形發(fā)生器
+關(guān)注
關(guān)注
3文章
307瀏覽量
31836 -
相位累加器
+關(guān)注
關(guān)注
0文章
11瀏覽量
9261
發(fā)布評(píng)論請(qǐng)先 登錄
同惠TH2838精密LCR測(cè)試儀相位測(cè)量功能原理解析

MAX9377/MAX9378任意邏輯至LVPECL/LVDS轉(zhuǎn)換器,引腳可設(shè)置四分頻電路技術(shù)手冊(cè)

相位累加器的實(shí)現(xiàn)原理

基于 FPGA 的任意波形發(fā)生器+低通濾波器系統(tǒng)設(shè)計(jì)
AD9835 50MHz直接數(shù)字頻率合成器、波形發(fā)生器技術(shù)手冊(cè)

AD9832 25MHZ直接數(shù)字頻率合成器、波形發(fā)生器技術(shù)手冊(cè)

AD9831直接數(shù)字頻率合成器波形發(fā)生器技術(shù)手冊(cè)

ADF4156 6.2GHz小數(shù)N分頻頻率合成器技術(shù)手冊(cè)

ADF4151小數(shù)N/整數(shù)N分頻PLL頻率合成器技術(shù)手冊(cè)

HMC705LP4/HMC705LP4E 6.5GHz可編程分頻器SMT技術(shù)手冊(cè)


dds數(shù)字頻率是怎么合成的 DDS數(shù)字頻率信號(hào)發(fā)生器的設(shè)計(jì)
dds輸出頻率與時(shí)鐘的關(guān)系

評(píng)論