EDN China > 其它文章 > 可编程器件 > FPGA > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

提高FPGA-PWM计数器性能的位交换

Stefaan Vanheesbeke?? Ledegem?? Belgium?? 2007年12月08日 ?? 收藏0

  当你需要一些模拟输出,并且系统中有一片FPGA时,你可能选择采用一个PWM模块和一个简单的低通滤波器,如图1所示。FPGA的输出通常是一种固定频率、可变占空比的波形,由一个计数器和一个数字比较器生成(表1)。

图1用一个简单的低通滤波器将FPGA的PWM数字输出转化为一个模拟电压最大纹波出现在50占空比时


  假定Enable(使能端)为高电平,计数器对每个时钟周期增量计数,而PWM输出的频率等于时钟频率除以2个计数位。你可以将Enable接到一个预分频器来降低输出频率。由于输出频率是固定的,滤波器也容易计算,因为我们知道最差的纹波出现在50%占空比时。将所需最大纹波和稳定时间相结合,就决定了滤波器的种类和RC(电阻/电容)值。

表1


  对表1中的代码作少许修改,就可以改善PWM电路的性能。在原系统中,最大纹波电流出现在50%占空比时,而最小纹波电流出现在最小占空比时,改进的版本则使最大纹波等于标准版的最小纹波。巧妙之处在于产生了尽可能高的频率,但保持平均占空比不变。输出端的脉冲频率越高,滤波器完成的工作也越好。

表2

表3


  对表1的修改包括重新布线二进制比较器,将所有位从左至右作交换。MSB(最高有效位)成为LSB(最低有效位),LSB成为MSB,等等(表2)。你只要重新布线,不需要

额外的寄存器或逻辑电路。

  表3给出了一个4位PWM发出的脉冲串。在表3中,你看到在50%占空比时(Value=8,第二列),频率为最大,等于时钟频率除以2。在一些纹波出现的第一点(Value=1,第二列),纹波与普通PWM系统完全相同,即脉冲串是相同的。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

FPGA? PWM计数器? 位交换?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈