0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

仿真测试:呼吸灯PWM

冬至子 来源:大哈学习纪录铺 作者:张大哈 2023-10-10 14:52 次阅读

呼吸灯的效果是灯逐渐由暗变亮再逐渐由亮变暗,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为添加信号。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593265
  • 计数器
    +关注

    关注

    32

    文章

    2126

    浏览量

    92997
  • 脉冲宽度调制

    关注

    7

    文章

    74

    浏览量

    13572
  • PWM波
    +关注

    关注

    0

    文章

    98

    浏览量

    16706
  • 呼吸灯
    +关注

    关注

    9

    文章

    107

    浏览量

    42482
收藏 人收藏

    评论

    相关推荐

    超级简单的呼吸的制作

    延时。原理图很简单:PWM_1的周期是10.2ms,PWM_2的周期是10.24ms,LED即可显示出呼吸效果。附件是测试工程,SO EA
    发表于 10-16 16:56

    PWM实现呼吸效果

    的是#11口。呼吸源码如下:void setup (){pinMode(11,OUTPUT);}void loop(){//循环语句,控制PWM亮度的增加for (int a=0; a=0;a--
    发表于 07-20 15:03

    dsp pwm 呼吸

    请问有没有DSP PWM呼吸的原理讲解及例程,新手,谢谢!
    发表于 10-17 19:32

    基于stm32的PWM呼吸工程分享

    (NVIC_PriorityGroup_2);//中断优先级分组分两组LED_Init();TIM3_CH1_PWM_Init(500,72-1); //频率是2kHzTIM_SetCompare1(TIM3,i);delay_ms(10); } 全部资料51hei下载地址: 基于stm32的
    发表于 07-02 07:51

    基于stm32的PWM呼吸工程分享

    (NVIC_PriorityGroup_2);//中断优先级分组分两组LED_Init();TIM3_CH1_PWM_Init(500,72-1); //频率是2kHzTIM_SetCompare1(TIM3,i);delay_ms(10); } 全部资料51hei下载地址: 基于stm32的
    发表于 07-06 07:37

    请问pwm是怎么实现呼吸

    今天面试被问到pwm实现呼吸的效果,发现arm新一期的视频老师讲的定时器这部分就讲了定时器中断,这些基本概念什么的讲的很少,哪位大哥教教我pwm是干嘛用的???
    发表于 04-30 07:45

    使用PWM控制LED实现呼吸的效果

    本文主要讲解使用PWM控制LED,实现呼吸的效果。
    发表于 01-26 07:36

    怎么样去设计基于单片机与PWM呼吸

    51单片机(呼吸)C语言版基于单片机与PWM呼吸设计实训指导教师:班级:设计人姓名:设计日期:设计地点:完成时间:本设计是基于单片机的
    发表于 07-15 06:02

    proteus仿真stm32控制呼吸 精选资料分享

    proteus仿真stm32控制呼吸设计思路:采用stm32f103r6为主控芯片,及led-green;时钟源为晶振为8M的系统内部时钟;使用的定时器为TIM2,并且使用PWM
    发表于 07-22 07:41

    怎么通过PWM来实现呼吸

    个人理解:如果能实现电压的变化就能实现呼吸了,如果能得到一个类似正弦电压的电压,那么就能实现这个呼吸。那么问题就来了,该怎么得到这个类似正弦电压的电压?STM32中的
    发表于 08-11 06:17

    PWM输出制作呼吸

    PWM:脉冲宽度调制(Pulse width modulation)。PWM输出实验,制作呼吸
    发表于 08-18 07:10

    通过PWM调制模拟呼吸

    //功能:通过PWM调制模拟呼吸//名称:呼吸#include //调用含有51专用寄存器的头文件;c51(用于单片机开发的一种c语言)
    发表于 11-17 08:25

    STM32Cube如何配置PWM呼吸

    STM32Cube如何配置PWM呼吸
    发表于 11-23 07:17

    PWM实现呼吸流程

    Conceit is the quicksand of success.  自负是成功的流沙。PWM实现呼吸PWM概述相关概念PWM设置流
    发表于 01-13 06:41

    PWM实现呼吸的应用

    stm32实现PWM最简单方法前言一、PWM概念二、PWM应用输出比较功能框图三、PWM呼吸
    发表于 01-21 13:18