首页/文章/ 详情

数字控制芯片dsPIC33C的PWM运行模式简析

2年前浏览605

dsPIC33C系列芯片的PWM功能较以往更复杂,功能更加灵活,PWM的工作模式上和以往芯片也有一些不同之处,由于篇幅所限,本文侧重分析一下PWM模块运行模式的分类及特性。


.PWM运行模式概述

1 PWM的运行模式分类


从图1上看,PWM的工作模式主要有几种,如独立边沿PWM模式,这也是默认设置的工作模式,变相位PWM模式,独立边沿PWM双输出模式,中心对齐模式,双更新中心对齐模式,双边沿中心对齐模式等六种,其中后三种都是和中心对齐模式有关的模式。在这些PWM工作模式中,值得注意的是,有些模式采用多个PWM的计数器周期去产生单个PWM周期。

2 PWM控制寄存器Low


3 PWM控制寄存器Low中的模式选择位


在配置PWM的工作模式中,首先通过图23所示的寄存器配置PWM运行模式。


.独立边沿PWM模式

独立边沿的PWM模式,用于产生边沿对齐的PWM信号,或者产生任意相位偏移的PWM信号,需要两个独立的寄存器去定义PWM波形的上升沿和下降沿位置。具体来说,通过PGxPHASE去定义PWM信号的上升沿位置相对于PWM周期计数器的起点的位置,PGxDC用于定义相对于PWM周期计数器起点,到PWM波形下降沿的位置。PGxPER用于确定PWM计数器的周期。


另外,除了可以设定单个的PWM波形为独立边沿模式,还可以通过PGxPHASE寄存器来设定多个PWM信号之间同步,只要将PGxPHASE值设为相同值即可。


另外,还有一些特殊情况,比如当PGxPHASE=PGxDC时,则PWM脉冲占空比为0,而当设为PGxDC>PGxPER时,则PWM脉冲的占空比为100%

4 独立边沿PWM模式的波形示例


通过图4所示的独立边沿PWM模式波形示例,可以看出PGxPHASEPGxDC都是基于同一个起点开始计算,就是PWM周期计数器的起点,所以PHASE设置会占用脉宽大小的部分。


.变相位PWM模式

变相位PWM模式,它和独立边沿PWM模式不同,其中一个寄存器决定从PWM周期计数器起点开始计算的相位偏移的宽度,另一个寄存器决定从相位偏移开始计算的脉冲宽度。

5 变相位模式的SFR和波形关系


这种模式下,PGxPHASE决定相位偏移宽度,而PGxDC决定脉冲宽度,PGxPER决定PWM的周期。当用户希望固定脉宽,来调制相位偏移时,或者固定相位偏移,来调制脉宽时,则这种模式比较有用。

6 变相位的PWM模式波形示例


从图6的变相位PWM模式的波形示例来看,PGxPHASE对相位偏移的设定并不占用PGxDC对脉宽的设定部分,二者是独立的。


在使用变相位模式时,可以通过MDC去对所有PWM的脉宽进行统一设定。但是也要注意一个问题,就是变相位PWM模式并不支持跨周期运行的情况,也就是说PGxPHASE PGxDC一定要小于PGxPER这样的关系。

7 多个PWM使用变相位模式波形示例


在图7中,PWM1-4都是用变相位模式,四个PWM设置相同的脉宽值,但是设定为了不同的相位偏移,注意此处是满足PGxPHASE PGxDC小于PGxPER这个关系的。


四.双PWM输出模式

PWM输出模式,即在PWMxHPWMxL上都输出独立的PWM波形。PWM双输出模式和PWM独立边沿模式不同,它允许在第二个PWM pin上输出波形,且在独立模式下。


第二个PWM的输出信号的上升沿宽度是由PGxTRIGA决定,而下降沿宽度由PGxTRIGB决定,另外一点需要注意的是,在高分辨率模式下,PWM双输出模式不能和PWM互补输出模式一起使用。(关于PWMI/O输出模式,我们后面进一步讨论)。

8 PWM双输出模式波形示例


PWM双输出模式中,注意PGxTRIGAPGxTRIGB都是基于PWM周期计数器起点开始计算宽度的。


值得注意的是,在双输出模式下,PGxTRIGA,PGxTRIGB作为正常的事件输出信号还是正常工作的,比如相位偏移触发,或者ADC触发信号等,如果需要一个纯粹的信号去做触发功能,可以选择PGxTRIGC来使用。


.中心对齐PWM模式

中心对齐PWM模式,和边沿对齐模式PWM不同,它可以避免PWM占空比不同时,上升沿或者下降沿重叠,因此导致纹波或者滤波的需求,因此,在一些场合如逆变器中有所用途。


中心对齐模式PWM的脉宽是对称于两个PWM周期计数器的,当占空比增加时,则上升沿和下降沿部分都在增加,以保持对称。基于这个概念,中心对齐模式PWM脉冲波形是由两个PWM周期计数周期组成。


9 中心对齐PWM模式的SFR和波形的关系


中心对齐PWM模式采用PGxDC决定从两个PWM周期中间开始计算的脉冲宽度,即真实脉宽的一半,而PGxPER决定每一个PWM周期计数器的周期。


10 中心对齐PWM模式的波形示例


中心对齐PWM的上升沿位置在PGxPER-PGxDC 1处,而下降沿位置在PGxDC处。值得注意的是更新PWMbuffer寄存器,如PGxDC或者PGxPER等,只能在第一个PWM周期计数器开始处更新,这一点可以通过判断CAHALF位来判定是否处于第一个PWM计数周期处,当CAHALF0时为第一个PWM计数周期,CAHALF1时为第二个PWM计数周期。


另外一点,从图上可以看出,EOC中断事件,是在两个PWM计数周期结束后才产生的。


.双更新中心对齐PWM模式

双更新中心对齐模式,和普通的中心对齐模式是类似的,只不过有两次EOC中断,和两次PWM数据寄存器更新。双更新的好处是减小的环路处理延时,但是有可能造成脉宽波形不对称。

11 双更新中心对齐PWM模式


七.双边沿的中心对齐PWM模式

双边沿的中心对齐PWM模式,和双更新的PWM中心对齐模式类似,在双边沿中心对齐模式中,允许对上升沿宽度和下降沿部分宽度做相应控制,这同样会造成波形的不对称性。


这个模式的特点就是,给预用户足够的灵活性,增加了对两个边沿的控制之外,还可以减小中断事件的频率。


12 双边沿的中心对齐PWM模式寄存器和波形关系


具体来说,通过PGxPHASE来实现对上升沿部分脉冲宽度的控制,通过PGxDC来实现对下降沿部分脉冲宽度的控制。


有一个非常灵活之处,就是在双边沿中心对齐PWM模式中,用户可以设置为单更新模式,也可以设置为双更新模式。单更新模式就是说,用户随时在允许改写宽度的阶段去改写PGxPHASE或者PGxDC,而在下一个完整PWM周期初始处去更新之。


13 双边沿中心对齐PWM模式---单更新模式


如图13所示,我们可以看出,在PWM周期中改写了PGxDCPGxPHASE的值,然后在下一个周期中才进行更新数据Buffer。同时,EOC中断事件也是每一个完整PWM信号周期中断一次。


和单更新对应的,就是双更新模式,在这个模式中,对应每一个PWM计数周期都有一个EOC事件中断,也有一个PWM数据更新。


14 双边沿中心对齐PWM模式---双更新模式


在双更新的模式中,注意改写和更新的时刻,在上升沿PWM计数周期初始时刻,只能更新PGxPHASE的值,而在下降沿PWM计数周期初始时刻,只能更新PGxDC的值,用户可以用CAHALF来决定合适的寄存器改写时刻,比如,在CAHALF=0时,前面的一个PWM计数周期中,只能改写PGxDC的值,然后在后面的一个PWM计数周期初始时刻更新。而在CAHALF=1时,后面的一个PWM计数周期中,只能改写PGxPHASE的值,然后在第一个PWM计数周期初始时刻更新。每一个PWM计数周期结束后,都会进行EOC中断。总的说来,就是说先写入,然后在下一个PWM计数周期初始更新。

 

总结,主要分析和总结dsPIC33C系列的PWM工作模式的一些细节,后续我们会进一步讨论与运行模式相关的PWMI/O输出模式的配置。

 

参考文献:dsPIC33CK FRM.


相关文章:

数字控制的典型问题---外设分辨率及控制精度讨论

来源:电源漫谈
科普电源芯片控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-09-19
最近编辑:2年前
仿真秀32093466624
硕士 签名征集中
获赞 89粉丝 74文章 163课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈