当您需要一些模拟输出并且您的系统中有FPGA时,您可能选择使用PWM模块和简单的低通滤波器,如图1所示。FPGA的输出通常是具有固定频率,可变占空比的波形,由计数器和数字比较器生成(清单1)。
图1一个简单的低通滤波器将FPGA的PWM数字输出更改为模拟电压电平。最大纹波出现在占空比为50%的情况下。
假设Enable为高电平,则计数器在每个时钟周期递增计数,PWM输出的频率为时钟频率除以2个计数位。您可以使用启用将其连接到预分频器来降低输出频率。由于输出频率是固定的,因此滤波器易于计算,因为您知道最坏情况的纹波发生在占空比为50%的情况下。所需的最大纹波和建立时间的组合决定了滤波器的类型和RC(电阻/电容)值。
只需对清单1中的代码进行少量更改,就可以改善PWM电路的性能。在原始系统中,最大纹波电流出现在占空比为50%的情况下,最小纹波电流出现在最小占空比的情况下,改进后的版本显示出的最大纹波等于标准版本的最小值。技巧是产生尽可能高的频率,但保持平均占空比恒定。输出上脉冲的频率越高,滤波器的工作效果就越好。
清单1的修改包括重新布线二进制比较器,所有位从左到右交换。MSB(最高有效位)成为LSB(最低有效位),LSB成为MSB,依此类推(清单2)。您只需要进行重新布线,不需要额外的寄存器或逻辑。
清单3显示了4位PWM发射的脉冲序列。在清单3中,您看到占空比为50%(值= 8,第二列)时,该频率是最大的,等于时钟频率除以2。在出现一些纹波的第一点(值= 1,第二列),存在与常规PWM系统完全相同的纹波-也就是说,脉冲序列是相同的。
编辑:hfy
-
FPGA
+关注
关注
1602文章
21302浏览量
593109 -
滤波器
+关注
关注
158文章
7326浏览量
174759 -
PWM
+关注
关注
114文章
4896浏览量
209882 -
分频器
+关注
关注
43文章
433浏览量
49310
发布评论请先 登录
相关推荐
评论