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
    +关注

    关注

    189

    文章

    3018

    浏览量

    237640
  • 正弦波
    +关注

    关注

    11

    文章

    657

    浏览量

    58369
  • PWM
    PWM
    +关注

    关注

    116

    文章

    5847

    浏览量

    223870
  • 逆变器
    +关注

    关注

    300

    文章

    5093

    浏览量

    214716
  • 仿真
    +关注

    关注

    53

    文章

    4411

    浏览量

    137679
  • SPWM
    +关注

    关注

    14

    文章

    361

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于DSP的SPWM调制实现

    摘 要:在工业上,交流电机得到广泛应用,其中相当一部分需要由调速装置供电。采用了一种较为容易实现、普遍用于变频器的 SPWM调制方案,并结合 IMS320LF2407芯片,使系统更容易实现
    发表于 07-25 14:34

    请问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

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

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

    SPWM调制技术及其应用

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

    SPWM调制方法对比分析

    SPWM调制方法对比分析 摘要:对比分析了三种正弦波脉宽调制SPWM)控制方法,指出各自的优缺点及应用,给出了一些数学
    发表于 07-06 13:33 1.4w次阅读
    <b class='flag-5'>SPWM</b><b class='flag-5'>调制</b>方法对比分析

    采用FPGASPWM变频系统设计

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

    基于FPGASPWM变频系统设计

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

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

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

    SPWM有哪几种调制方式?各有什么特点?

    SPWM有哪几种调制方式?各有什么特点? SPWM 是一种常用的调制技术,用于控制交流电压的形状和频率,以便实现电力电子设备的精确控制。
    的头像 发表于 02-06 09:45 4757次阅读

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

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

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

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

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

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

    SPWM脉宽调制是异步还是同步?

    SPWM脉宽调制是异步还是同步? SPWM脉宽调制是一种用于调节交流电压的技术,通过调整脉冲的宽度来模拟纯正的正弦电压信号。在SPWM技术中
    的头像 发表于 02-06 11:33 1531次阅读