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

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

3天内不再提示

STM32定时器非对称PWM输出模式应用示例

茶话MCU 来源:ST MCU 信息交流 2020-05-14 09:21 次阅读

STM32用户使用STM32F3系列MCU开发产品,想利用片内定时器实现移相全桥的PWM波形输出。具体要求如下,并希望输出下图所示波形:

1、A与B波形的频率及占空比相同,波形错位的时间需可调,如图上半部分所示。

2、A与/A是同频率、同占空比的互补波形,两个波形的高电平之间可插入死区。

3、B与/B的关系同A与/A,如图中下半部分的图示。

要实现上面的波形,我们可以通过灵活运用比较输出的toggle模式结合DMA来实现,

不过,这对很多人来说,难度可能有点大。

具体到这里,因为他选择了STM32F3系列,而STM32F3/L4/F7/H7等系列的定时器都具备非对称PWM输出模式或组合输出模式,若使用非对称PWM输出模式实现上述输出就比较方便省事。下面一起来看看。

所谓非对称PWM输出模式它是相对基于中心对称计数时的对称PWM输出而言的。当计数模式为中心对齐,某个输出通道利用一个比较寄存器做PWM输出时,其对应的PWM输出波形呈中心对称,如下图所示:

那这里的非对称PWM输出呢?同样采用中心对齐计数模式,1个通道的输出要用到2个比较寄存器的值进行比较翻转。比方定时器通道3的输出,根据CCR3和CCR4的值分别在向上计数和向下计数过程中做两次比较而产生输出,由于CCR3与CCR4的值往往不一致进而输出非对称的PWM波形。如下图所示:

关于定时器比较输出的非对称PWM模式,OC1REFC或OC2REFC的输出特征由CCR1和CCR2的值及所选PWM模式决定,同样,OC3REFC或OC4REFC的输出特征由CCR3和CCR4的值和所选PWM模式决定。

STM32参考手册中在这个地方可能讲得比较简单,我这里再画图示意下。OC1/OC2都使用非对称PWM输出模式。CCR1=3,CCR2=6,ARR=8。注意,采用非对称PWM输出模式一定要使用中心对齐计数模式。

从上图中我们不难看出,对于OC1REFC和OC2REFC,它们的输出产生了相差,该相差取决于CCR1与CCR2的值。基于这点,我们就可以实现上面的A、B输出的相移问题,即通过修改CCR的值即可自由调整相差。【OCxREFC信号最终还是输出到OCx端的,并支持互补输出。】

这时我们再开启这两路的互补输出,到此就可以实现客户的输出要求了。

下面我们利用STM32CubeMx神器进行初始化配置。【了解下关键配置就好】

配置时钟等,然后生成初始化代码并打开相关工程。添加需要的用户代码。代码很简单,是基于cube HAL库。【开启CH1/CH2及互补通道的PWM输出功能,使能主输出、开启计数器。】

看下输出结果【未插入死区】:

我们也可以基于互补通道插入死区,得到带死区的输出结果。

看到这里,是不是觉得这个非对称PWM模式对实现那些相差可调的驱动波形很方便?好,关于STM32定时器的非对称PWM功能输出就介绍到这里。当然,它还可以有些其它灵活的用法,有兴趣可以进一步了解并为你所用。

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

    关注

    114

    文章

    4884

    浏览量

    209794
  • STM32
    +关注

    关注

    2239

    文章

    10662

    浏览量

    348445
  • 定时器
    +关注

    关注

    23

    文章

    3142

    浏览量

    111996

原文标题:STM32定时器非对称PWM输出模式应用示例

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32同一定时器PWM输出定时,会影响我的PWM输出吗?

    求助各位大佬 ,我用定时器2通道1输出PWM 定时器设置为TIM2_PERIODE (1000-1) TIM2_PRESCALER 36,现在还想开启2的中断用
    发表于 03-26 07:23

    G473使用TIM1非对称模式做移相,用TIM8Combined PWM模式做对角的移相与门输出,为什么时序不对?

    G473使用TIM1非对称模式做移相,用TIM8Combined PWM模式做对角的移相与门输出,为啥占空比对了时序不对?
    发表于 03-14 07:49

    stm32主从定时器门控模式,怎么控制在不产生PWM时从定时器cnt不要计数?

    stm32主从定时器,采用门控模式,主定时器用单脉冲模式控制输出。但是我在实验的时候发现其从
    发表于 03-12 07:08

    STM32F407中定时器1和定时器5的触发关系是什么?

    我利用STM32F407控制电机,用TIM1输出互补对称PWM波,利用TIM3读取 磁编码的相对式位置,并用TIM3触发TIM5来进行数
    发表于 10-26 08:09

    STM32H7芯片系列中定时器同步启动并输出PWM波形的实现方法

    本文主要研究了STM32H7芯片系列中定时器同步启动并输出PWM波形的实现方法。
    的头像 发表于 10-24 14:56 650次阅读
    <b class='flag-5'>STM32</b>H7芯片系列中<b class='flag-5'>定时器</b>同步启动并<b class='flag-5'>输出</b><b class='flag-5'>PWM</b>波形的实现方法

    使用MM32F0270 定时器DMA方式输出PWM

    使用MM32F0270 定时器DMA方式输出PWM
    的头像 发表于 10-17 14:47 514次阅读
    使用MM32F0270 <b class='flag-5'>定时器</b>DMA方式<b class='flag-5'>输出</b><b class='flag-5'>PWM</b>

    STM32各类系列定时器概览

    本文档:概述了 STM32F1xx、STM32F2xx、STM32F4xx、STM32L1xx 和 STM32F30/31/37/38x微控
    发表于 08-31 10:49 0次下载

    使用瑞萨e² studio FSP基于RA2E1定时器配置PWM输出

    使用瑞萨e² studio FSP基于RA2E1定时器配置PWM输出
    的头像 发表于 08-01 00:13 148次阅读
    使用瑞萨e² studio FSP基于RA2E1<b class='flag-5'>定时器</b>配置<b class='flag-5'>PWM</b><b class='flag-5'>输出</b>

    基于STM32芯片三路互补PWM输出的设计实现

    目的:使用Stm32高级定时器TIM1。配置中心对齐模式输出三路互补PWM
    的头像 发表于 07-21 16:26 4941次阅读
    基于<b class='flag-5'>STM32</b>芯片三路互补<b class='flag-5'>PWM</b><b class='flag-5'>输出</b>的设计实现

    总结一下定时器的几种输出比较模式

    最近有接触到通过可控硅的方式来控制交流风机或者电烙铁功率,STM32定时器输出比较模式,刚好可以满足这种需求,借此机会总结一下定时器的几种
    的头像 发表于 07-21 16:17 4098次阅读
    总结一下<b class='flag-5'>定时器</b>的几种<b class='flag-5'>输出</b>比较<b class='flag-5'>模式</b>

    STM32定时器(一)PWM输出

    STM32定时器分类众多,按照内核、外核标准分为两部分:核内定时器+核外定时器
    的头像 发表于 07-21 14:51 2621次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>定时器</b>(一)<b class='flag-5'>PWM</b><b class='flag-5'>输出</b>

    一个定时器输出4路不同频率波形的应用示例

    一般来讲,一个STM32定时器输出基于同一频率的各路信号比较方便。但经常也会有人问使用STM32一个定时器是否可以实现多路不同频率的
    的头像 发表于 07-06 15:57 1181次阅读
    一个<b class='flag-5'>定时器</b><b class='flag-5'>输出</b>4路不同频率波形的应用<b class='flag-5'>示例</b>

    STM32F407 基本定时器配置输出PWM方波

    介绍STM32F407定时器PWM波形输出配置方式。 通过逻辑分析采集波形数据进行可视化显示对比。
    的头像 发表于 07-06 14:33 3140次阅读
    <b class='flag-5'>STM32</b>F407 基本<b class='flag-5'>定时器</b>配置<b class='flag-5'>输出</b><b class='flag-5'>PWM</b>方波

    使用STM32定时器PWM功能时的小问题

    有人使用STM32定时器PWM功能,遇到点小疑问,这里一起看看。 他先将STM32定时器计数周期设为0xff,单向递增计数
    的头像 发表于 06-21 16:26 942次阅读
    使用<b class='flag-5'>STM32</b><b class='flag-5'>定时器</b><b class='flag-5'>PWM</b>功能时的小问题

    求分享使用Crypto模块导入非对称密钥的示例

    我想知道 NXP 是否提供了使用加密模块实现非对称密钥导入(RSA 或 ECC)的示例? RTD 中的示例仅实现对称密钥导入 (AES)。
    发表于 04-28 06:54