全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > LED照明 >

仿真测试:呼吸灯PWM

时间:2023-10-10 14:52

人气:

作者:admin

标签: PWM  仿真  呼吸    测试 

导读:呼吸灯的效果是灯逐渐由暗变亮再逐渐由亮变暗,FPGA的引脚电压只有“0”和“1”两个等级。...

呼吸灯的效果是灯逐渐由暗变亮再逐渐由亮变暗,FPGA的引脚电压只有“0”和“1”两个等级。

因此通过改变引脚单位时间内高电平的输出时间来实现呼吸灯,也就是让FPGA引脚输出一系列PWM波信号并不断改变PWM波的占空比。

PWM(Pluse Width Modulation)脉冲宽度调制,是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。

占空比(Duty Cycle or Duty Ratio),可以解释为,在一脉冲序列中(方波),正脉冲序列的持续时间与脉冲总周期的比值。也可理解为,电路释放能量的有效时间与总释放时间的比值。

我们将led从亮到灭(从灭到亮)的过程设为1S.将周期设为1MS.就是有1000个周期,然后每相邻两个周期改变的差值为1us;如下图所示

图片

波形图绘制如下:

图片

按照这个撰写代码,因为50M时钟,一个周期是20ns,故50个单位为1us.

在框1中为1us模块;

在框2中为1ms模块,这里有个细节需要注意一下,第24行只有微妙的计数完成同时ms到达溢出值时,才进行置零。若当前ms为999,但us处于计数0-48时,ms仍不改变。

在框3中为1s模块,与框2同理;

在框4中为控制从亮到灭,从灭到亮的一个标志信号;

在框5中,当en为0,且当前ms小于S对应的时间段就是低电平时刻;同理当en为1,且当前ms大于S对应的时间段就是低电平时刻.

图片

测试代码编写如下:

图片

测试图如下:

图片

图片

图片

注这里为消除前缀。CRTL+G为分组。CRTL+w为添加信号。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信