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

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

3天内不再提示

基于eFlexPWM的多级串联载波移相脉宽调制技术实现

恩智浦MCU加油站 来源:恩智浦MCU加油站 2023-01-29 17:27 次阅读

参考方案简介

随着电力电子技术的发展,电力电子交直流变换装置应用日益广泛,移相载波技术可以有效的减小PWM调制过程中产生的谐波,被广泛应用到多相多电平等场合。 本文描述了使用eFlexPWM实现多级串联载波移相PWM输出的逻辑、外设配置及实现方法。 本参考设计主要向读者介绍了eFlexPWM强大功能,并给出了六路互补移相60°的PWM实例作为参考,可以指导客户快速实现想要的PWM输出模式。

eFlexPWM简介

eFlexPWM全称是:Enhanced Flex Pulse Width Modulator的缩写,直译为增强型灵活脉冲脉宽调制器。 i.MX RTxxxx系列一般具有1-4个强大的eFlexPWM(eFlexPWM1~eFlexPWM4)模块。每个eFlexPWM有4个子模块,可以产生四路互补PWM即产生8路PWM,也可以产生8路相互独立的PWM波。

每个eFlexPWM模块拥有一个向上计数的16位计数器,它仅在向上方向计数至VAL1值,然后重置为初始(INIT)值。在计数过程中,计数值与VAL2/VAL3/VAL4/VAL5寄存器中的值作比较,控制输出电平高低翻转。

PWM又有中心对齐、边沿对齐、移相和双开关模式。

每个eFlexPWM具有各自的故障检测电路,当故障发生时根据程序锁定PWM输出引脚的电平状态,这在逆变、整流及电机控制应用中能够有效的提高设备的安全性。eFlexPWM可以产生多种多样的开关模式,包括非常复杂的波形。它可以用来控制大部分已知的电机类型,用于控制开关电源也非常具有优势。

eFlexPWM主要特点

eFlexPWM脉宽调制器的主要特点如下:

16位精度,支持中央对齐、边沿对齐和非对称PWM输出;

分数PWM时钟生成器可生成高精度PWM周期和占空比;

可工作在互补输出模式或独立工作模式;

每个PWM输出双沿(上升沿/下降沿)可独立控制;

可与外部硬件或其他PWM子模块同步;

双缓冲PWM寄存器,可设置1~16的整数周期重载或半周期重载;

支持PWM输出的双切换(周期和占空比);

一个PWM周期可以产生多个输出触发事件;

故障输入可以指定连接控制多个PWM输出;

独立的可编程PWM输出极性设置;

独立的死区时间设置;

增强型双沿(上升沿/下降沿)捕获功能。

PWM子模块功能图

48e54966-9796-11ed-bfe3-dac502259ad0.png 图1 PWM子模块功能框图

图中各个部分说明如下:

1是时钟源模块,可以选择不同的时钟源;

2是16位计数器;

3是同步寄存器,有四个同步信号供选择,可以初始化计数器,可以方便的和外部同步;

4是比较器,用于产生PWM波,每个子模块有6个比较寄存器,可以产生三路的PWM。

5和7是重装载选择器,可以用来选择重装载寄存器和N个PWM周期或者半周期重装载。

6是输出控制模块,比较器产生的PWM23与PWM45经过这些控制模块转变成PWM_A和PWM_B。主要包含互补控制,死区补偿,故障保护等功能。

多级串联PWM的实现

每个eFlexPWM子模块有一个外部同步信号输入,和两个触发信号输出。外部同步输入信号允许外部的信号源来初始化PWM计数器。通过这种方式,eFlexPWM子模块的行为可以与外部电路同步。

两个触发信号输出可以去控制其他模块的行为,例如在特定的时刻触发ADC采样。

本文将使用输出触发信号去触发其他eFlexPWM子模块。

两个输出触发信号分别由不同的寄存器值比较产生。当PWM计数器匹配val0、val2或val4时,TRIG0被置位。当PWM计数器匹配val1、val3或val5时,TRIG1被置位。计数器发生匹配事件后延迟两个clock的后输出触发信号。

4921f820-9796-11ed-bfe3-dac502259ad0.png

图2 PWM子模块外部同步输入和Trig输出

在一些电源应用中,需要多路PWM输出,并且需要彼此之间有固定相移,此时就能充分凸显i.MX RT系列eFlexPWM强大的性能。

下面我们通过输出六路互补且彼此之间相差60°相移的PWM为实例,详述eFlexPWM使用方法和配置。

实例要求

下面以一个具体实例来介绍,方便读者理解和运用eFlexPWM模块。

具体的实例要求如下:

PWM频率为10KHz

六路互补PWM输出

两路之间移相60°

6路PWM输出的逻辑如下图所示:

493fcd00-9796-11ed-bfe3-dac502259ad0.png

图3 6路PWM相移图

eFlexPWM子模块组合

用6个eFlexPWM子模块级联,每个子模块输出一路互补的PWM,因为每个eFlexPWM子模块都有一个独立的计数器,因此实现起来比较方便。

495e9b0e-9796-11ed-bfe3-dac502259ad0.png 图4 eFlexPWM子模块串联

通过每个前级子模块的TRIG0去触发后级子模块,我们通过设置前级子模块Val4的值来灵活的设定触发后级子模块的时刻。

经过这样的组合,可以进行0-360°任意相位的相移,读者可以很方便的调节成自己想要的相移。不需要复杂的软件操作,通过寄存器可以方便实现,减小了CPU的开销。

时序逻辑

图5给出了载波移相的逻辑,从图中我们可以看到六路PWM载波信号依次移相60°,后级子模块由前级子模块在特定时刻触发。通过载波的移动,载波和比较器比较后产生的PWM也就产生了相应的相移。 497d2e7a-9796-11ed-bfe3-dac502259ad0.png 图5 时序逻辑

从图5中可以看出每个后级子模块都由前级的TRIG0触发产生的,只要设定好触发时刻,就可以得到所预想的相移。

后级子模块检测到前级子模块的TRIG0触发信号后,会用两个clock时钟去同步。再加上TRIG0输出前有两个clock的延迟,所以总共会有4个clock的延迟,后面实验结果可以验证。

测试结果

考虑到前级触发后级的延迟,本文进行了实际测量和分析,如图6所示测量两相之间的时间间隔。

49a3542e-9796-11ed-bfe3-dac502259ad0.png

图6 PWM 相移间隔图

测量三次P1-P6的相位偏移时间,结果如下:

49c69eca-9796-11ed-bfe3-dac502259ad0.png

表1 P1-P6的相位偏移时间

因为本实例中PWM频率是10Hz,所以P1-P6的理论间隔时间是16.667us(60°)。下表给出了实测和理论值的误差。

49ee46b4-9796-11ed-bfe3-dac502259ad0.png

表2 P1-P6的相位误差

从测试结果我们可以看出,实测结果后级子模块比理论有了30ns的延迟。这样从初级子模块,到最后级子模块,误差不断积累,最后会导致最后级子模块有150ns的延迟。如果级数更多,则误差会更大。

因此我们需要一些方法进行补偿。

延迟补偿方案

因为每个后级子模块的延迟都是固定的,所以我们可以通过把触发时刻前移固定时长的方法补偿此延迟。

根据PWM clock频率和延迟时间我们可以计算出需要补偿的计数值。

counter=delay_Time*PWM_Clock

本实例中PWM clock的频率是132M,延迟是30ns,从而计算出需要补偿的数值约等于4。

在程序中补偿后,测量两相波形相移如下图所示:

4a09e18a-9796-11ed-bfe3-dac502259ad0.png

图6 补偿后的PWM移相图

从图中可以看出两相移相时间是16.664和理论值非常接近,考虑到测量误差,已经基本达到设置的目标。这样就完美的解决了延迟的问题。从而就实现了多级串联载波移相的PWM输出。

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

    关注

    6

    文章

    417

    浏览量

    37523
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5140

    浏览量

    213362
  • 计数器
    +关注

    关注

    32

    文章

    2253

    浏览量

    94343
  • 脉宽调制器
    +关注

    关注

    1

    文章

    52

    浏览量

    16987
  • eflexpwm
    +关注

    关注

    0

    文章

    2

    浏览量

    3976

原文标题:基于eFlexPWM的多级串联载波移相脉宽调制技术实现

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PWM脉宽调制技术

    脉宽调制技术的产生,发展与模式,脉宽调制技术原理,微型计算机控制产生PWM波的原理。   j
    发表于 08-27 23:16

    键控(PSK/DPSK)调制与解调实验

    用单片机开发版实现 键控(PSK/DPSK)调制与解调实验,有哪位通信大神会写这个程序?在线等~~急!!!!
    发表于 01-05 22:25

    空间矢量脉宽调制技术

    PWM技术作为电力电子装置的核心技术,被广泛的应用于变频调速电机传动中,电机控制的最终目的是产生圆形旋转磁场,从而产生恒定的电磁转矩。在众PWM调制方法中,空间矢量脉宽调制(SVPWM
    发表于 10-29 16:35

    脉宽调制(PWM)技术

    脉宽调制(PWM)技术
    发表于 05-24 09:16

    浅析正弦脉宽调制技术SPWM

    技术、级连技术、或二者的混合。这些技术的主要特点是:采用多电平技术,用低耐压功率器件来输出高压。高压变频器中采用的算法多是SPWM,或是其变形——
    发表于 09-03 08:11

    SPWM正弦脉宽调制介绍

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

    脉宽调制技术

    脉宽调制技术的产生,发展与模式,脉宽调制技术原理,微型计算机控制产生PWM波的原理。
    发表于 08-27 23:11 25次下载
    <b class='flag-5'>脉宽调制</b><b class='flag-5'>技术</b>

    脉宽调制技术

    脉宽调制技术:脉宽调制技术起源于很早,早在80年代未就广泛应用于工业功率控制装置中。
    发表于 08-08 09:38 36次下载
    <b class='flag-5'>脉宽调制</b><b class='flag-5'>技术</b>

    相对调制(2DPSK)原理是什么?

    相对调制(2DPSK)原理是什么? .一般原理及实现方法二进制差分相移键控常简称为二
    发表于 03-18 14:21 2.5w次阅读

    载波多电平SPWM研究

    本文设计了基于DSP+CPLD的载波多电平PWM实现的方案,该方案不仅可以输出18路PWM信号,而且稍加修改便可以输出24路、36路等更多路PWM信号。
    发表于 03-07 11:36 8967次阅读
    <b class='flag-5'>载波</b><b class='flag-5'>移</b><b class='flag-5'>相</b>多电平SPWM研究

    脉宽调制技术

    PWM脉宽调制技术学习资料
    发表于 11-05 09:59 8次下载

    采用载波技术永磁电机高频振动抑制研究_袁飞雄

    采用载波技术永磁电机高频振动抑制研究_袁飞雄
    发表于 01-07 15:34 1次下载

    PWM再生成电路的组成与高精度脉宽调制信号电路的设计

    设计了一种基于1.5 pm BiCMOS 工艺下的脉宽调制信号电路。该电路可应用于发光二极管驱动芯片中,对调光脉宽调制信号进行
    发表于 11-06 15:46 24次下载
    PWM再生成电路的组成与高精度<b class='flag-5'>脉宽调制</b>信号<b class='flag-5'>移</b><b class='flag-5'>相</b>电路的设计

    DSP载波控制C语言源代码下载

    DSP载波控制C语言源代码下载
    发表于 05-12 09:19 57次下载

    正弦脉宽调制原理是怎样的 正弦脉宽调制控制的方法有哪些

    正弦脉宽调制原理是怎样的 正弦脉宽调制控制的方法有哪些  正弦脉宽调制(PWM)是一种常用的电子技术,用于控制模拟信号的大小和形状。在正弦脉宽调制
    的头像 发表于 02-06 14:41 1675次阅读