分频器的应用

  1. 设计输出频率为2KHz,占空比为0~100%可调PWM信号的应用电路。要求占空比的分辨率为1%。

 

分析

要求占空比为0~100%可调,分辨率为1%。应该有101种,用复位信号控制占空比为1,用100进制BCD码计数器控制占空比为0~99%。

开发板提供50MHz时钟,分频至2KHz,

50M/2k=25k

要产生101种占空比,需要将计数器的容量等分为100份,每份占25k/100=250个计数值。当计数值小于占空比*250时,PWM的输出为高,反之为低。

产生频率为2KHz,占空比满足要求的代码如下:

//2KHz,占空比0-100%可调,分辨率1%。
module pwm_N (
    input clk_50,
    input clr_n,
位BCD码表示占空比数值
    output reg pwm
);
    parameter N = 25000,M=250;
 
    reg [14:0]cnt_q; //2^15=32768>25k
占空比
码表示的占空比转换为二进制表示的占空比:高位BCD码*10+低位BCD码
分解成*8加*2
    assign duty=(BCDduty[7:4]<<3)+(BCDduty[7:4]<<1)+BCDduty[3:0];
分频计数
    always @(posedge clk_50 or negedge clr_n) begin
        if(!clr_n)
            cnt_q<=15'b0;
        else if(cnt_q==N-1)
            cnt_q<=15'b0;
        else  
            cnt_q<=cnt_q+1'b1;
    end
输出
    always @(clr_n,duty,cnt_q)
        if(!clr_n)
            pwm=1'b1;
        else if(cnt_q<duty*M)
            pwm=1'b1;
        else    
            pwm=1'b0;
Endmodule

用signaltap分析25%,50%,75%占空比:

 

分频器的应用_进制

分频器的应用_开发板_02

分频器的应用_进制_03

 

 

 

 

参考:

  1. 张俊涛,陈晓莉.现代EDA技术及其应用.[M].北京,清华大学出版社。