[产品应用] CW32L010 PWM相移

[复制链接]
32|1
小海师 发表于 2025-11-6 08:45 | 显示全部楼层 |阅读模式
本帖最后由 pssyx 于 2025-11-6 10:15 编辑

最近接到一个需求:使用CW32L010实现相位移动。先观察硬件,发现只给出了ATIM通道1和通道1反的引脚。翻阅手册之后发现有两个办法:1.非对称pwm 和 2.相移pwm模式。

先来讲讲pwm1和pwm2

1.pwm1 & pwm2

11808690bef8bbe2a1.png

pwm1:
向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平
在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否
则为有效电平(OC1REF=1)。

pwm2:
在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为有效电平
在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电
平。

图解:

其中

CCyIF是当比较模式寄存器发生匹配的时候会自动置1的标志位

OCyREF是对比出的有效电平

91417690bef8353015.png

2.非对称pwm模式
启动非对称pwm模式可以向GTIM_CCMR1CMP和GTIM_CCMR1CMP或者ATIM_CCMRxCMP写入0xE(不对称 PWM 模式 1)或 0xF(不对称 PWM 模式 2)来启动

非对称pwm是基于中心对齐模式技术时的对称pwm输出而言的,就是在对称pwm上画两根线,当到达一根线的时候有效信号会变成无效信号,无效信号会变成有效信号,这两个对比值可以通过设置不同的CCRy决定。

82150690bef7cde55c.png

示例如下:

27131690bef7862216.png

3.移相pwm模式
相移pwm是使用新开辟的一个pwm通道使用其比较计数器来进行移位的,首先我们需要通过不同的寄存器设置不同的相移pwm模式:

42733690bef73b5517.png

然后观察示例:

示例1
移相 PWM 模式 5 下,OC1REFC 上升沿与 OC2REFC 上升沿之间间隔增大的时序图,通过调整 CCR1与 GC5C1 实现。

65854690bef6ddf206.png

观察可以看到:

刚开始对比器开关GC5C1并没有开启,两个CCRy都设置成为一样的所以第一阶段两个波形相等。

接着对比器开关GC5C1开启,CCR1向前移动,CCR5起效,结果会发现OC1REFC的波形会提前到达,计数器到达大于CCR5的时候会使得OC5REF置为0,其与OC1REF与为0输出零,但是其余的时间输出1,保持占空比不变。

示例2
移相 PWM 模式 6 下,OC1REFC 上升沿与 OC2REFC 上升沿之间间隔增大的时序图,通过调整 CCR1 与 GC6C1 实现。

15879690bef677f16d.png

观察可以看到:

刚开始的输出波形和示例1的没有变化

后期,开启GC6C1(置为1)修改了CCR1并且将CCR6载入值,可以发现上升计数的时候,输出值OC1REFC等于OC1REF的值,当数值下降的时候输出值等于OC6REF用来设置导通与截断的时间,需要微调才能使得定时器移得相位。

总结:
通过观察两个不同的移位方式能够看出移位pwm6和非对称pwm模式,都需要设置为对称的pwm,然后复习了一些基本的组件
————————————————
版权声明:本文为CSDN博主「Gary Studio」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_73991989/article/details/152798911

jf101 发表于 2025-11-6 12:50 | 显示全部楼层
不同的移位方式能够看出移位pwm6和非对称pwm模式
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

300

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部