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

    文章

    6457

    浏览量

    140282
  • 数字电路
    +关注

    关注

    193

    文章

    1668

    浏览量

    83548
  • 测量
    +关注

    关注

    10

    文章

    5732

    浏览量

    116995
  • 脉冲宽度调制

    关注

    7

    文章

    84

    浏览量

    14260

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞萨RA系列FSP库开发实战指南之GPT简介和结构框图

    PWM的全称是脉冲宽度调制(Pulse Width Modulation),简称脉宽调制,通俗的讲就是调节脉冲宽度。其原理是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平
    的头像 发表于 04-20 15:06 170次阅读
    瑞萨RA系列FSP库开发实战指南之GPT简介和结构框图

    探索SA03脉冲宽度调制放大器:特性、应用与设计要点

    探索SA03脉冲宽度调制放大器:特性、应用与设计要点 在电子工程领域,放大器是不可或缺的关键组件。今天,我们将深入探讨APEX公司的SA03脉冲宽度调制(PWM)放大器,了解其特性、应用场景以及
    的头像 发表于 04-08 15:45 174次阅读

    DS1050 5 - 位可编程脉冲宽度调制器:设计与应用解析

    DS1050 5 - 位可编程脉冲宽度调制器:设计与应用解析 引言 在电子设计领域,脉冲宽度调制器(PWM)是一种极为重要的器件,广泛应用于各种电子设备中,如电机控制、电源调节、LCD 亮度控制等
    的头像 发表于 03-23 13:40 191次阅读

    图文学习PWM,怎么输出直流信号?

    PWM是脉冲宽度调制的意思,是一个周期内的高电平时间与周期时间之比,图3-9 所示,它与傅里叶变换有不解之缘。
    的头像 发表于 03-12 18:48 1763次阅读
    图文学习PWM,怎么输出直流信号?

    脉冲宽度调制技术详解,如何学习

    脉冲宽度调制(Pulse Width Modulation,简称PWM)是一种通过改变脉冲信号的宽度来控制模拟电路的技术。这种技术利用数字
    的头像 发表于 02-02 12:07 572次阅读
    <b class='flag-5'>脉冲宽度调制</b>技术详解,如何学习

    4225-PMU 10 ns 超短脉冲输出能力与波形验证

    概述4225-PMU有3种模式:分段Arb,全Arb和标准脉冲模式。在标准脉冲模式下,PMU可以在5V范围内实现10ns的脉冲宽度。标准脉冲模式产生两个电压等级的
    的头像 发表于 12-17 17:30 430次阅读
    4225-PMU 10 ns 超短<b class='flag-5'>脉冲</b>输出能力与波形验证

    集成了多功能数字音频信号处理功能的单芯片全数字音频放大器

    数字音频放大器的工作原理基于脉冲宽度调制(PWM)技术,通过数字信号处理实现音频信号的放大与还原。
    的头像 发表于 10-21 09:40 615次阅读
    集成了多功能<b class='flag-5'>数字</b>音频信号处理功能的单芯片全<b class='flag-5'>数字</b>音频放大器

    【EK-RA6E2开发指南】PWM输出

    脉冲宽度调制(PWM) ,是英文“Pulse Width Modulation” 的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是
    的头像 发表于 09-23 18:17 2509次阅读
    【EK-RA6E2开发指南】PWM输出

    舵机PWM信号介绍!

    舵机 PWM 信号介绍 PWM(Pulse Width Modulation,脉冲宽度调制)信号是舵机的核心控制方式,其通过脉冲宽度变化来精确指令舵机输出轴的旋转角度。以下从信号特性、参数标准
    的头像 发表于 08-22 10:59 2626次阅读

    化繁为简!虹科基于脉冲宽度调制(PWM)的电机调控方案

    在设备开发与产线测试中,实现电机精确调速、正反转控制、位置复位及循环计数是常见需求。传统方案往往需要:电机驱动器 + 控制器 (PLC/单片机) + 信号采集模块 + 繁复接线与调试。这不仅增加了系统复杂度、成本和故障点,也拖慢了调试与部署效率。 虹科PWM电机调控方案提出一种高度集成的解决思路:通过单一设备融合PWM驱动、逻辑控制、信号I/O与参数灵活配置,简化系统,提升可控性。
    的头像 发表于 08-19 18:04 766次阅读
    化繁为简!虹科基于<b class='flag-5'>脉冲宽度调制</b>(PWM)的电机调控方案

    KA7500B脉冲宽度调制方式的开关稳压器控制器电路

    ICF KA7500B是脉冲宽度调制方式的开关稳压器控制器电路,由5V基准电压、振荡器、误差放大器、比较器、FF (触发器) 、输出控制电路、输出晶体管和死区时间比较器等电路构成,输出
    发表于 08-18 17:10 0次下载

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

    PWM为脉冲宽度调制(Pulse Width Modulation)的简称。由于PWM逆变器的交流侧只能输出不同的电平而非连续的正弦波,因此需要采用PWM调制技术产生幅值相同、宽度不等的脉冲
    的头像 发表于 07-16 14:00 4459次阅读
    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 1215次阅读
    探索PWM技术:<b class='flag-5'>数字</b>世界的模拟魔法