【FPGA笔记系列13】呼吸灯电路设计

功能模块设计

常规的 LED 灯只有亮(高电平) 及暗(低电平) 两种状态。 如果产生一个周期性的脉冲信号用于驱动 LED 灯, 则 LED 灯会出现闪烁状态。 如果脉冲信号的频率足够高(大于人眼的分辨频率 24Hz),则由于人眼的分辨率问题, 看起来 LED 灯仍然是恒亮的。此时, 只要控制脉冲信号的占空比(一个周期内高电平持续的时间占整个周期的比值),相当于控制了通过 LED 灯的平均电流大小, 就可以控制 LED 灯的亮度。 这种通过控制脉冲信占空比改变 LED 灯亮度的方法也称为脉冲宽度调制(Pulse Width Modulation, PWM)。

设计呼吸灯需要明确呼吸的频率。 比如要求呼吸灯的呼吸频率为 0.25Hz, 呼吸周期为 4s,即呼的状态(由亮至暗) 时长为 2s, 吸的状态(由暗到亮) 时长为 2s。 根据 PMW 调整 LED亮度的原理, 还需要确定呼的状态或吸的状态过程中总共出现多少种亮度状态。 如果亮度状态太少, 则 LED 灯的呼吸状态会显得断断续续, 感觉呼吸不顺畅。 亮度状态越多, 则呼吸状态越顺畅。

目标:设计一个亮度状态为 1000, 呼吸频率为 0.25Hz 的呼吸灯电路。

采用2个功能模块完成呼吸灯电路。

亮度实现模块

设计1000中不同的亮度,也就是1000中不同占空比信号,level为0则最暗不亮,为999则最亮。
时钟频率50MHz,时钟周期:0.02us
每种状态持续2ms,共1000种状态,采用999进制的计数器

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codersnote

对学生党 赞赏是鼓励也是鞭策!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值