qglyj 发表于 2010-6-7 16:27:05

求助关于占空比可调的方波产生方法

哪位大虾可以告诉我利用FPGA产生占空比可调的方波产生的思路

IPO 发表于 2010-6-7 16:31:53

用FPGA做PWM是很容易的啊。能给出你的具体的要求吗?比如PWM是定周期还是变周期的,频率大小等。

IPO 发表于 2010-6-7 16:33:28

PWM 调相 控制可控硅
http://www.fpgaw.com/thread-1310-1-1.html
看看这个帖子 有没有帮助

qglyj 发表于 2010-6-7 19:58:21

楼上的大哥不知怎么的你的帖子打不开

qglyj 发表于 2010-6-7 20:11:53

2楼的大哥,我是这样想的我想用一个可调电阻来调节占空比,需要接一个AD芯片,PWM波的要求是5KHz,最开始时能产生1us脉冲

tianya_langzhe 发表于 2010-6-7 21:49:25

module controlable_pulse_generater(Clk,Rst,Fout,NU,ND,MU,MD);
input Clk;                            //外界输入的时钟信号
input NU;                           //按键模块S1,使N值递增
input ND;                           //按键模块S5,使N值递减
input MU;                           //按键模块S2,使M值递增
input MD;                           //按键模块S6,使M值递增
input Rst;                            //复位信号输入
output Fout;                        //波形输出
reg Fout;
reg M_buffer,N_buffer,N_count;
reg Clk_in;
reg Clk_out=0;                  //产生低速时钟信号
always @ (posedge Clk)
begin
   if(N_count==N_buffer)
         N_count=0;
   else
         N_count=N_count+1;
end
always @ (posedge Clk)
begin
   if(N_count<M_buffer)
          Fout=1;
   else if(N_count<=N_buffer&&N_count>=M_buffer)
          Fout=0;
end
always @ (posedge Clk)
begin
    Clk_out=Clk_out+1;
    Clk_in=Clk_out;
end
always @ (posedge Clk_in)
begin
   if(Rst==0)
      begin
         N_buffer=11'b10000000000;
         M_buffer=11'b01000000000;
      end
   else if(NU==0)
         N_buffer=N_buffer+1;
   else if(ND==0)
         N_buffer=N_buffer-1;
   else if(MU==0)
         M_buffer=M_buffer+1;
   else if(MD==0)
         M_buffer=M_buffer-1;
end
endmodule

看看这个程序符合要求不。

qglyj 发表于 2010-6-8 10:33:10

谢谢楼上的,本来我只想要个思想,你连程序都给我了,虽然不是很符合,但很感谢你

Sunlife 发表于 2015-5-20 10:36:54

用FPGA做PWM是很容易的啊。能给出你的具体的要求吗?比如PWM是定周期还是变周期的,频率大小等。
页: [1]
查看完整版本: 求助关于占空比可调的方波产生方法