分频器的应用

分频器的应用

  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,

    input [7:0]BCDduty, //2BCD码表示占空比数值

    output reg pwm

);

    parameter N = 25000,M=250;

 

    reg [14:0]cnt_q; //2^15=32768>25k

    wire [6:0]duty;  //占空比

    //BCD码表示的占空比转换为二进制表示的占空比:高位BCD*10+低位BCD

    //*10分解成*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

    //PWM输出

    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%占空比:

 

 

 

 

 

参考:

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

 

 

posted on 2024-06-03 19:56  yf.x  阅读(28)  评论(0编辑  收藏  举报

导航