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

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

3天内不再提示

基于FPGA的SPWM调制实现过程

CHANBAEK 来源:学习FPGA的电气小兴兴 作者:罗兴 2023-10-01 10:02 次阅读

SPWM(Sinusoidal Pulse Width Modulation),即正弦脉宽调制,它以频率与期望的输出电压波相同的正弦波作为调制波,以频率比期望波高得多的等腰三角波作为载波,当调制波与载波相交时,由它们的交点确定逆变器开关器件的通断时刻,从而获得幅值相等、宽度按正弦规律变化的脉冲序列。双极性控制的PWM方式如图1所示。

图片

图1 双极性控制的PWM方式

接下来介绍FPGA的实现过程,首先用Quartus II软件、波形生成工具或者matlab等生成一定频率的正弦波和等腰三角波的mif格式的文件,如图2所示。

图片

图2 生成的mif文件

建立工程,并使用两个单端口rom的ip核,分别存放正弦波和三角波的mif文件的数据,如图3所示。

图片

图3 配置rom的ip核

编写设计文件和仿真文件,并包含到工程中,同时设置仿真参数。设计文件的核心语句如下:

//cnt_sine:正弦波rom对应地址

always @ (posedge sys_clk or negedge sys_rst_n) begin

    if(!sys_rst_n)

        cnt_sine<=11'd0;

    else if(cnt_sine==CNT_SINE_MAX)

        cnt_sine<=11'd0;

    else

        cnt_sine<=cnt_sine+1'b1;

end

//cnt_triangle:三角波rom存放地址

always @ (posedge sys_clk or negedge sys_rst_n) begin

    if(!sys_rst_n)

        cnt_triangle<=8'd0;

    else if(cnt_triangle==CNT_TRIANGLE_MAX)

        cnt_triangle<=8'd0;

    else

        cnt_triangle<=cnt_triangle+1'b1;

end

//生成PWM信号

assign   pwm_0=(q_sine > q_triangle) ? 1'b1 : 1'b0;

assign   pwm_1=~pwm_0;

assign   pwm_2=pwm_0;

assign   pwm_3=pwm_1;

接下来对工程进行编译,编译通过后启动功能仿真。在modelsim进行一些基本的配置后,生成的仿真波形如图4所示,验证通过。

图片

图4 仿真波形

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

    关注

    175

    文章

    2924

    浏览量

    228454
  • 正弦波
    +关注

    关注

    11

    文章

    562

    浏览量

    54326
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4901

    浏览量

    209929
  • 逆变器
    +关注

    关注

    270

    文章

    4246

    浏览量

    201668
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132163
  • SPWM
    +关注

    关注

    13

    文章

    343

    浏览量

    60084
收藏 人收藏

    评论

    相关推荐

    请教一下FPGASPWM波时幅度控制的原理是什么?

    FPGA里面用正弦波与等腰三角波比较得到SPWM波经低通滤波来得到正弦波,可以用正弦rom表乘以调制实现调幅,但是不知道具体用法啊,到处的资料都是一带而过,哪位大神指导一下?
    发表于 08-15 13:01

    请问FPGASPWM波时幅度控制的原理是什么?

    FPGA里面用正弦波与等腰三角波比较得到SPWM波经低通滤波来得到正弦波,可以用正弦rom表乘以调制实现调幅,但是不知道具体用法啊,到处的资料都是一带而过,哪位大神指导一下?
    发表于 04-18 03:24

    SPWM调制技术

    1 SPWM调制技术  逆变电路的控制方式主要是采用SPWM(正弦脉宽调制技术),IR2104控制开关管的通断来实现正弦
    发表于 07-26 06:54

    基于STM32的SPWM调制实现方法是什么

    SPWM是什么?SPWM与PWM区别在哪?基于STM32的SPWM调制实现方法是什么?
    发表于 10-20 07:25

    SPWM正弦脉宽调制介绍

    SPWM正弦脉宽调制介绍SPWM调制波为正弦波、载波为三角波或锯齿波的一种脉宽调制法。特点: 原理简单,通用性强,控制和调节性能好,具有先
    发表于 11-15 08:18

    STM32的SPWM产生的原理及其过程是怎样的

    SPWM的原理和调制方法是什么?STM32的SPWM产生的原理及其过程是怎样的?
    发表于 02-17 07:15

    SPWM调制技术及其应用

    SPWM调制技术及其应用1、 正弦脉宽调制SPWM)技术的理论基础         采样控制理论中有一
    发表于 04-10 09:15 8295次阅读
    <b class='flag-5'>SPWM</b><b class='flag-5'>调制</b>技术及其应用

    采用FPGASPWM变频系统设计

    采用FPGASPWM变频系统设计 0  引  言由于脉宽调制技术是通过调整输出脉冲的频率及占空比来实现输出电压的变压
    发表于 03-02 10:46 1188次阅读
    采用<b class='flag-5'>FPGA</b>的<b class='flag-5'>SPWM</b>变频系统设计

    基于FPGASPWM变频系统设计

    基于FPGASPWM变频系统设计     由于脉宽调制技术是通过调整输出脉冲的频率及占空比来实现输出电压的变压变频效果,所以在电机调速、逆变器等众多领
    发表于 03-02 11:02 982次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>SPWM</b>变频系统设计

    基于FPGASPWM型波形发生器的设计

    正弦脉宽调制SPWM)手艺在以电压源逆变电路为焦点的电力电子装配中有着普遍的应用,若何发生SPWM脉冲序列及其实现手段是PWM手艺的关头。操作模拟斗劲法,对三角载波与正弦
    发表于 05-22 16:05 144次下载
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>SPWM</b>型波形发生器的设计

    SPWM调制中,调制波和载波的信号波形一般各是什么?

    。在SPWM调制中,调制波和载波的信号波形分别是正弦波和三角波。在本文中,我将详细介绍SPWM调制的原理、
    的头像 发表于 02-05 16:48 700次阅读

    SPWM调制波形是由哪两种波形进行调制获得的?

    中。它通过将参考波形和三角波进行比较,产生高低电平的脉宽调制信号,从而实现对输出波形的控制。 具体来说,SPWM调制波形由以下两个主要的波形进行调制
    的头像 发表于 02-06 09:25 382次阅读

    spwm调制如何改变输出电压幅值和输出电压频率呢?

    频率来改变输出电压的幅值和频率。下面将详细介绍SPWM调制的原理、调制技术及其应用。 一、SPWM调制原理
    的头像 发表于 02-06 11:04 981次阅读

    SPWM调制方式是怎样实现变压功能的?

    实现对输出电压的调节。它通过将一个正弦波信号与一个三角波信号进行比较,根据两者之间的相对幅度关系来确定输出脉冲的宽度,进而控制输出电压的大小。 2. SPWM调制过程
    的头像 发表于 02-06 11:08 345次阅读

    SPWM调制方式是怎样实现变压功能的?又是怎样实现变频功能的?

    SPWM调制方式是怎样实现变压功能的?又是怎样实现变频功能的? SPWM是一种常见的调制方式,它
    的头像 发表于 02-06 11:09 503次阅读