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

    关注

    116

    文章

    5894

    浏览量

    226602
  • STM32
    +关注

    关注

    2313

    文章

    11195

    浏览量

    374667
  • 定时器
    +关注

    关注

    23

    文章

    3373

    浏览量

    124555

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32定时器及其中断介绍

    )或者产生输出波形(输出比较和 PWM)。 高级定时器:高级定时器 (ATIM) 由一个 16 位的自动重载计数
    发表于 01-14 06:42

    LAT1173高精度定时器的同步功能应用笔记

    STM32G474 所含的高精度定时器(HRTIMER)其实包含了多个定时器,多个定时器之间可以单独工作,也可以进行同步,且高精度定时器还能
    发表于 01-11 17:32 0次下载

    LAT1183+高精度定时器中 single-shot 计数模式不工作应用笔记

    PWM 输出,在调试模式下发现该子定时器的计数一直为 0,即计数一直没有启动,但如果将计数
    发表于 01-11 17:28 0次下载

    STM32G474 HRTIME PWM 丢波问题分析与解决

    STM32G474 中包含了针对数字电源应用的高精度定时器(HRTIMER),客户在应用该定时器产生 PWM 时,发现 PWM
    发表于 01-04 13:47 0次下载

    CW32通用定时器输出比较

    PWM,用这种方式输出的方波也叫做PWM波。 现在来看使用PWM功能需要进行哪些操作。先思考,除去基本的定时器配置之外,
    发表于 12-11 06:45

    CW32A030微控制定时器

    的脉冲宽度和周期、产生输出波形(PWM、单脉冲、插入死区时间 的互补PWM 等)。 2 通用定时器(GTIM1..4) 内部集成4 个通用定时器
    发表于 12-04 06:47

    CW32L010+定时器介绍

    和连续计数模式 6路独立输入捕获和输出比较通道 死区时间可编程的互补PWM输出 支持双点比较移相,支持逻辑与移相 支持2个刹车输入 触发输入信号(TRGI)控制
    发表于 12-01 07:53

    CW32定时器及中断介绍

    )或者产生输出波形(输出比较和 PWM)。 高级定时器:高级定时器 (ATIM) 由一个 16 位的自动重载计数
    发表于 12-01 07:08

    PWM定时器、SysTick 区别及应用场景

    在单片机和嵌入式开发中,经常会遇到PWM(脉宽调制)、定时器、SysTick(系统滴答定时器)这几个词。很多初学者容易把它们混为一谈,以为都是“定时相关的东西”。其实,它们在本质和应用
    的头像 发表于 11-17 10:53 695次阅读
    <b class='flag-5'>PWM</b>、<b class='flag-5'>定时器</b>、SysTick 区别及应用场景

    定时器输入捕获模式

    AT32F4xx定时器输入捕获模式 支持型号: AT32F 系列 主要使用外设: TIMER、 USART 获取示例 1 快速使用方法 1.1 硬件资源 AT-START-F403A V1.0
    发表于 09-22 09:58

    定时器同步之并行模式

    AT32F4xx定时器同步之并行模式 支持型号: AT32F 系列 主要使用外设: TIMER 获取示例 1 快速使用方法 1.1 硬件资源 AT-START-F403A V1.0 实验
    发表于 09-22 09:56

    【RA4M2-SENSOR】3、使用GPT定时器-PWM输出

    结合起来使用的话可以实现更加丰富的功能, 可以对输入信号进行计数,可以测量输入信号的脉冲宽度,可以输出单个脉冲、PWM 等波形,等等。 通过定时器生成 PWM 波形信号来控制电机状态是
    发表于 09-01 15:20

    非对称密钥生成和转换规格详解

    生成 以字符串参数生成RSA密钥,具体的“字符串参数”由“RSA密钥类型”和“素数个数”使用符号“|”拼接而成,用于在创建非对称密钥生成器时,指定密钥规格。 说明:生成RSA非对称密钥时,默认素数为2
    发表于 09-01 07:50

    第二十一章 TIM——通用定时器

    本篇文章介绍了W55MH32的通用定时器(TIM2~TIM5等),其由16位自动装载计数和可编程预分频构成,具备输入捕获、输出比较、PWM
    的头像 发表于 06-20 13:57 1746次阅读
    第二十一章 TIM——通用<b class='flag-5'>定时器</b>

    MCU定时器/计数

    架构与功能特性‌ 定时器类型与配置‌ 高级控制定时器‌:支持互补PWM输出与刹车功能,适用于电机驱动等高精度控制场景。通用定时器‌:集成输入
    的头像 发表于 04-27 13:54 938次阅读