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

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

3天内不再提示

基于数字电路的实验脉冲宽度调制

电子森林 ? 来源:哔哩哔哩 ? 作者:硬禾学堂 ? 2021-03-22 09:08 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

那么PWM是如何工作的?

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

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

b2921ed2-888b-11eb-8b86-12bb97331649.png

图1

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

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

图2

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

图3

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

module pwm (PWM_out, clk, reset); input clk, reset; output reg PWM_out; wire [7:0] counter_out; //计数器的8位宽储存,可以最多数128次时钟的嘀嗒 parameter PWM_ontime = 32; //阈值设在32,对应25%的占空比 always @ (posedge clk) begin //比较器 if (PWM_ontime 》 counter_out) PWM_out 《= 0; else PWM_out 《= 1; end counter counter_inst( //调用计数器 .clk (clk), .counter_out (counter_out), .reset(reset) );endmodule

module counter(counter_out,clk,reset); //计数器模块代码 output [7:0] counter_out; input clk, reset; reg [7:0] counter_out; always @(posedge clk) if (reset) //如果没有按reset,则计数器清零 counter_out 《= 8‘b0; else //如果按下reset,则计数器开始计数 counter_out 《= counter_out + 1;endmodule

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

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

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

    关注

    18

    文章

    6211

    浏览量

    138028
  • 数字电路
    +关注

    关注

    193

    文章

    1641

    浏览量

    82041
  • 测量
    +关注

    关注

    10

    文章

    5287

    浏览量

    113838
  • 脉冲宽度调制

    关注

    7

    文章

    81

    浏览量

    14015

原文标题:基于FPGA的数字电路实验8:PWM脉宽调制

文章出处:【微信号:xiaojiaoyafpga,微信公众号:电子森林】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PWM逆变器的不同调制方法对比

    PWM为脉冲宽度调制(Pulse Width Modulation)的简称。由于PWM逆变器的交流侧只能输出不同的电平而非连续的正弦波,因此需要采用PWM调制技术产生幅值相同、宽度不等的脉冲
    的头像 发表于 07-16 14:00 ?1971次阅读
    PWM逆变器的不同<b class='flag-5'>调制</b>方法对比

    STM32H7开启单脉冲模式 PWM波脉冲宽度不受CCR控制怎么解决?

    100us产生一次更新事件 我发现脉冲宽度竟然是50而不是25当我调整CCR的值 发现脉冲宽度不受影响 调整ARR值分别为40 30 脉冲宽度 依次变为59 69这与参考手册有关章节并不符合
    发表于 06-18 07:14

    开关电源三种控制模式:PWM/PFM/PSM

    PWM/PFM/PSM 三种控制模式的定义通常来说,开关电源(DC-DC)有三种最常见的调制方式分别为: 脉冲宽度调制(PWM) 脉冲频率调制(PFM)
    发表于 06-09 16:11

    探索PWM技术:数字世界的模拟魔法

    在科技飞速发展的今天,我们身边充斥着各种智能设备和创新技术。其中,脉冲宽度调制(PWM)技术就像一位神奇的魔法师,在数字与模拟的交汇处施展魔法,让我们的生活变得更加便捷和舒适。那么,究竟什么是PWM
    的头像 发表于 05-12 09:52 ?435次阅读
    探索PWM技术:<b class='flag-5'>数字</b>世界的模拟魔法

    【瑞萨RA2L1入门学习】+PWM呼吸灯

    电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。脉冲宽度调制是利用微处理器的数字输出来对模拟
    发表于 03-30 22:28

    请问DLP4500触发器脉冲宽度可以调整吗?

    DLP4500触发器脉冲宽度可以调整吗?使用DLP LightCrafter 4500 EVM GUI似乎不能对这一参数进行调整。需要将DLP投影仪的触发信号输给Point Grey相机进行同步,但由于脉冲宽度太小无法触发成功,希望能将这一参数调整。请问如何解决该问题,
    发表于 02-28 08:13

    SM7075-12 AC/DC PWM 功率开关芯片 输出电压12V

    PWM功率开关芯片是一种采用脉冲宽度调制(PWM)技术的集成电路,主要用于控制开关电源的输出电流和电压。以下是关于PWM功率开关芯片的一些主要特点和应用: 工作原理 :PWM功率开关芯片通过
    的头像 发表于 11-23 16:39 ?1159次阅读
    SM7075-12 AC/DC PWM 功率开关芯片 输出电压12V

    脉冲变频充电器怎么用

    充电器的原理 脉冲变频充电器的工作原理基于脉冲宽度调制(PWM)技术,通过调整脉冲的频率和宽度来控制充电电流。这种技术可以减少电池在充电过程中产生的热量,从而降低电池老化的速度。 2.
    的头像 发表于 09-26 15:58 ?1254次阅读

    脉冲变压器中如何增加脉冲宽度

    脉冲变压器中增加脉冲宽度,可以采取以下几种方法: 1. 调节输入信号的宽度 基本原理 :当脉冲变压器的输入信号宽度不足时,最直接的方法是通
    的头像 发表于 09-26 15:32 ?1154次阅读

    栅极驱动器电路中窄脉冲宽度的影响

    电子发烧友网站提供《栅极驱动器电路中窄脉冲宽度的影响.pdf》资料免费下载
    发表于 08-29 11:21 ?0次下载
    栅极驱动器<b class='flag-5'>电路</b>中窄<b class='flag-5'>脉冲宽度</b>的影响

    LLC电源转换器的调制方式

    LLC电源转换器的调制方式是其实现高效能量转换的关键技术之一。在LLC谐振变换器中,常用的调制方式主要包括脉冲频率调制(PFM)、移相调制
    的头像 发表于 08-20 17:17 ?1989次阅读

    pwm与spwm波,载波、参考波与输出波形的关系

    PWM(Pulse Width Modulation,脉冲宽度调制)与SPWM(Sinusoidal PWM,正弦脉冲宽度调制)波是电力电子领域中常用的两种调制技术,它们在载波、参考波与输出波形之间
    的头像 发表于 08-14 16:58 ?4905次阅读

    spwm载波频率和幅值怎么确定

    SPWM(Sinusoidal Pulse Width Modulation,正弦脉冲宽度调制)是一种在电力电子领域广泛应用的调制技术,主要用于实现对电机、变压器等设备的精确控制。SPWM技术的核心
    的头像 发表于 08-14 11:29 ?4315次阅读

    PWM调制原理是什么

    PWM(脉冲宽度调制,Pulse Width Modulation)是一种广泛应用的模拟信号电平数字编码方法,其核心原理是通过改变脉冲宽度(占空比)来控制电力设备的输出功率或实现其他
    的头像 发表于 08-12 17:33 ?5161次阅读

    pwm调速是调的电压还是电流

    )的基本概念 脉冲宽度调制是一种数字信号处理技术,它将模拟信号转换为数字信号,然后通过调整数字信号的占空比来控制模拟信号的输出。PWM信号的占空比是指在一个周期内,高电平信号持续的时间
    的头像 发表于 08-08 15:12 ?6382次阅读