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

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

3天内不再提示

PWM是如何工作的

h1654155282.3538 来源:硬禾学堂 作者:硬禾学堂 2021-06-11 16:15 次阅读

脉冲宽度调制,英文缩写为:PWM(PulseWidthModulation),是通过数字信号实现对模拟电路控制的一种非常有效的技术,常被广泛应用于测量、通信、功率控制与变换等众多领域。

那么PWM是如何工作的?

我们知道,数字电路只能产生高电平(1)或低电平(0),在小脚丫上也就意味着3.3V和0V。那么如果我们的应用恰好在这之间怎么办?比如,将3.3V直接连到LED上会导致LED灯很亮。如何将LED灯调暗呢?当然,最简单的办法就是直接串联一个限流电阻但这样一来,限流电阻就需要不断产生功耗,而这个功耗实际上是完全浪费掉的。

无非就是调节LED的亮度而已,难道就没有其他更好的办法了吗?当然有,用我们今天学习的PWM就可以轻松实现。在进一步探讨点亮LED之前,我们先通过图1了解一些基本的参数

pYYBAGDDG-KAWcJ5AABMIYT1iV8059.png

图1

图1中,脉冲信号的周期为T,高电平宽度为t。如果我们将t/T定义为占空比,占空比就是2/3,因为高电平的宽度占了整个周期的2/3。在图1中我们还可以看到一条红色虚线,画在了脉冲高度2/3的位置。这条虚线实际上就对应着最终的有效值。那么如何在FPGA上生成PWM信号呢?

我们还是习惯看图说话,请看图2。假如我们有一个锯齿波,然后在锯齿波上设置一个阈值(黑色水平虚线),凡是大于该阈值时输出均为高电平,反之则为低电平,这样我们是不是就得到一个PWM信号呢?如果我们想调整它的占空比,那么调节阈值的高低就可以了。在本例中,阈值线越低占空比越高。

poYBAGDDG-iAfGaDAABlJOhiG9M671.png

图2

如果把上面的描述再抽象化一下,就可以画出图3的模块框图。锯齿波实际上就可以用计数器生成,阈值就是一个数值而已,比较器是用来生成最后输出高低电平用的。

pYYBAGDDG--AG3ifAAA4NoYIA8o771.png

图3

有了设计思路之后,我们来看一下最终代码。

poYBAGDDG_aAIQ1gAADDmiCMDcQ795.png

在代码中,我们设置的计数器位宽是8位,也就是每128次后自动重新计数。所以,该计数器的最大频率也就是12MHz/128=93.75KHz。图3中可以看出,PWM信号的频率和计数器的频率相同,因此也是93.78KHz。

试想一下,LED现在正以超过每秒9万次的速度闪烁,肉眼是完全分辨不出来的。那么闪烁过程中,亮/灭的比值越大,LED的视觉发光效果就越强,反之则越弱。我们最后将上述程序导入小脚丫中,并通过调节阈值来观察小脚丫上的LED发光强度的变化。
责任编辑人:CC

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

    关注

    114

    文章

    4897

    浏览量

    209885
  • 脉冲宽度调制

    关注

    7

    文章

    74

    浏览量

    13569
收藏 人收藏

    评论

    相关推荐

    硬件PWM工作模式、定时器详解

    PWM的一个周期    定时器从0开始向上计数    当0-t1段,定时器计数器TIMx_CNT值小于CCRx值,输出低电平    t1-t2段,定时器计数器TIMx_CNT值大于CCRx值,输出
    的头像 发表于 05-05 09:19 5867次阅读
    硬件<b class='flag-5'>PWM</b><b class='flag-5'>工作</b>模式、定时器详解

    PWM停止工作

    你好。我正在工作PWM产生连续的信号,但几秒钟后PWM停止工作。如果我做了一个CyByLePraceSexScript(),作为注释比PWM
    发表于 11-14 11:35

    什么是PWMPWM工作过程?

    ,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。  PWM工作过程?  脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输
    发表于 12-25 14:47

    一款 PWM 工作模式,效率、 外围简单、外驱功率管,适用于 5-80V 输入的高精度降压 LED 恒流驱动 芯片

    `AP2400 多功能 LED 降压型恒流芯片产品描述 AP2400 是一款 PWM 工作模式,效率、外围简单、外驱功率管,适用于 5-80V 输入的高精度降压 LED 恒流驱动 芯片。外驱
    发表于 05-14 11:35

    PWM输出原理、PWM工作过程、PWM功能常用函数和PWM输出配置步骤

    一、 PWM输出原理二、STM32 PWM工作过程三、定时器PWM功能常用函数四、PWM输出配置步骤
    发表于 06-29 08:39

    一款 PWM 工作模式,效率高、外 围简单、内置功率管

    `AP5126 平均电流型LED降压恒流驱动器产品描述AP5126 是一款 PWM 工作模式,效率高、外 围简单、内置功率管,适用于 12-80V 输入的高 精度降压 LED 恒流驱动芯片。输出
    发表于 07-08 10:20

    PWM三个关键指标说明

    PWM的说明PWM有三个关键指标: PWM频率, 占空比, 区分度对于同一个时钟频率下工作的单片机, 区分度是和PWM
    发表于 12-13 07:50

    STM32 PWM工作过程

    目录一、STM32 PWM工作过程二、PWM模式1 & PWM模式2三、STM32 PWM工作
    发表于 01-06 08:26

    STM32 PWM工作过程

    STM32 PWM工作过程(通道1为例):改变 CCRx 的值,就可以改变 PWM 输出的占空比,改变 ARR 的值以及定时器的频率,就可以改变 PWM 输出的频率(即周期)
    发表于 01-07 06:30

    通用定时器PWM是如何工作

    通用定时器PWM是如何工作的?与通用定时器PWM相关的库函数有哪些呢?
    发表于 01-19 06:14

    ZVZCT——PWM工作状态的等效电路

    图 八个不同工作状态的等效电路
    发表于 07-25 10:39 552次阅读

    PWM工作过程

    脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因
    发表于 11-02 11:08 2026次阅读

    如何使PFM/PWM自动切换时做到低纹波?

    这种IC最大的特长是从PFM工作过渡到PWM工作时的纹波电压低。从轻负载向重负载过渡时,PFM的脉冲间隔逐渐地靠近。
    的头像 发表于 05-10 14:21 8612次阅读
    如何使PFM/<b class='flag-5'>PWM</b>自动切换时做到低纹波?

    市电供电PWM工作模式高效白光LED驱动电路

    设计了一种以H7230为核心的市电供电PWM工作模式高效白光LED驱动电路。 通过理论计算和实验测量,确定了电路的工作频率,测试结果表明,该驱动电路工作电压范围宽、恒流输出,转换效率超
    的头像 发表于 09-27 17:25 1939次阅读

    详解LLC电路的PWM工作状态

    ,电路的最高工作频率将会进一步受到限制。所以LLC电路由于自身的工作特性,都要结合PFM和PWM两种工作模式,实现低压轻载下的输出调节。而LLC的P
    的头像 发表于 03-21 09:35 3162次阅读
    详解LLC电路的<b class='flag-5'>PWM</b><b class='flag-5'>工作</b>状态