001_雾盈FPGA笔记之一呼吸灯简单实验(Verilog).pdfVIP

001_雾盈FPGA笔记之一呼吸灯简单实验(Verilog).pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基于FPGA的呼吸灯简单实验程序(Verilog)

2016-07-27雾盈

1.呼吸灯

呼吸灯最早是由苹果公司发明并应用于笔记本睡眠提示上,一经展出,

立刻吸引众多科技厂商争相效仿。将其广泛用于各种电子产品中,尤其是智

能手机。

呼吸灯其实是微电脑控制下,由暗渐亮,然后再由亮渐暗,模仿人呼吸

方式的LED灯

2.呼吸灯原理

LED的亮度与流过的电流成正比。在一定的频率之下,如果占空比

是0,则LED不亮;如果占空比是100%,则LED最亮;如果占空比

刚好是50%,则LED亮度适中。如果我们让占空比从0~100%变化,再

从100%~0不断变化,就可以实现LED一呼一吸的效果。

其波形占空比示意图如下所示:

1

Clk

Rst_n

LED

TimeGen

呼吸灯占空比示意图

3.呼吸灯程序设计思路

(1)首先确定PWM的频率为1Khz

(2)由频率算出周期T=1/f=1ms

(3)根据每次呼1s,吸1s,算出计数值1s/1ms=1000

(4)然后将1ms分成1000份,每一份是1us

(5)写三个1us、1ms、1s的3个计数器count1、count2、Count3,最后

count2和count3进行比较

4.程序框图

5.状态机设计

可以将呼吸灯运行过程归为两个状态:S0:由灭渐亮;S1:由亮渐灭。

这里就会有两个问题需要我们解决,

1.状态的翻转

2.在一个状态里如何使pwm波的占空比实现逐增或逐减。

先说第一个问题,两个状态的翻转

由下面的时序图可以看出来,两个状态的翻转只是由时间决定的,S0

状态和S1状态分别持续1s,可以将它看成周期为2s的时钟信号,每当flag_1s

信号到来一次,状态就翻转一次。

1

flag_1s

state

TimeGen

然后再来说第二个问题,在一个状态下如何实现PWM波占空比逐增逐减

的过程。

以S0状态下,LED由灭渐亮,PWM波占空比由百分之百逐渐减小至零为

例:

我们发现让count2与count3比较,其结果clk_out会出现这种占空比逐渐

减小的结果。

此段代码如下:

于是,由反逻辑可以轻易知道在S1状态下,如何使其输出的clk_out占空比由

小到大的方法,这样就可以实现LED的由亮渐灭。

记:整个呼吸灯程序设计主要内容大致如此,末尾附上源代码及其仿真波

形,以下为程序设计中我所遇到的问题,给可能出现同样问题的童鞋提供一些

参考。

Q1:

flag_1us尖峰脉冲信号,仿真出现如下波形:

注:在用modelsim仿真波形时,我为了加快仿真速度和方便查看波形,我将所

有的count的计数最大值都改为了9。

当count1计数10拍后,count2波形从9跳为0,但是仔细一看就会发现,

count2波形的9跳为0时,count1只计数了一拍,中间少了9拍。

错误的代码如下:

修改后的代码:

加入那部分代码的意思是当(count2==9count1==9)时,count2才计入下

一拍。

正确的波形如下:

同理,在c

文档评论(0)

133****6290 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档