1,怎么样用FPGA产生驱动步进电机的4路PWM波形

先生成一个三角波,再给一个比较值比较大小就可以了。当三角波大于比较值为高电平,小于比较值为低电平,反之也行。

怎么样用FPGA产生驱动步进电机的4路PWM波形

2,如何用FPGA实现多路独立的PWM输出

FPGA最后输出的口就那么多。但你PWM频率那么多。所以需要的频率在里面产生好,根据需要,分时输出就行了。其实FPGA 的IO口应该是够用的~~~~

如何用FPGA实现多路独立的PWM输出

3,如何使用FPGA将一路PWM输入波形进行移相分成24路输出

很简单啊,你按不同的相位采集存到寄存器就可以了。比如你的pwm的精度是1024/周期,那么24个相位的间隔就是1024/24 = 42.666。那么你可以首先把整个周期都存下来,每隔43个左右输出一路。reg [1023:0] wave_reg;always@(posedge clk) wave_reg <=assign wave_out[0] = wave_reg[0];assign wave_out[1] = wave_reg[43];//有时候加43,有时候加42,保证到后面刚好。……assign wave_out[23] = wave_reg[981];但是这种做法大概会消耗1024个寄存器,随着pwm精度的提高,这个消耗会提高。如果你只存半个周期,而由于正弦波是基对称的,assign wave_out[12] = ~wave_out[0];……assign wave_out[23] = ~wave_out[11];这样会少一半的寄存器。

如何使用FPGA将一路PWM输入波形进行移相分成24路输出


文章TAG:fpgafpga能发多少路pwm波  怎么样用FPGA产生驱动步进电机的4路PWM波形  
下一篇