当前位置:首页 > > 电源漫谈

在电源项目应用中,有时候不同PWM频率信号之间需要同步,此时需要一些特殊设置可以实现,本文就介绍其中一种方法,基于dsPIC33CK256MP506实验平台,采用ADC分频触发事件,结合PWMPCI同步功能来实现这一需求。

首先设置两路不同频率的PWM信号,这里PWM3设置为500kHzPWM4设为100kHz,分别设置为自触发模式,互补模式输出,此时我们查看二者波形。

图1 CH1-PWM3L, CH2-PWM4L

从图1上看,PWM3L的频率为500k,而PWM4L的频率为100kHz,符合我们前面的基本设置要求,不过,此时我们还没有对二者做同步的动作。

2 采用ADC分频触发功能

这里选择PG3EVTL寄存器中的ADTR1PS项进行ADC触发分频设置,并且使能ADTR1EN1对应TRIGA输出,根据需要我们选择1:5的分频。

3 输出ADC分频触发事件信号

PWMEVTy寄存器中,这里我们通过对EVTySEL设置,将ADC触发1这个信号输出在一个I/O口上,这里以RC12为例。

4 使用PWM3的ADC分频触发信号1作为PWM4的PCI同步输入信号

这里我们设置PWM4PCI同步的源,PWM3的PWMEVTA事件作为同步源信号,此时PWMEVTA也就是刚刚我们设置的ADC trigger1的信号,相对于PWM3来说,就是51的频率的信号,如图5所示。

5 PWMEVTA进行配置

6 CH1-PWM3L,CH2-PWM4L,CH3-ADC Trigger1 Event

7 CH1-PWM3L,CH2-PWM4L,CH3-ADC Trigger1 Event

在图7中,我们将PWM3的触发信号TRIGA向后进行了200nS延时,以验证设置的合理性。在图6TRIGA0,所以触发信号基本和PWM3L的下降沿对齐。

8 设置PWM4的周期起始信号SOCS

由于我们采用PWM4的同步PCI的信号作为触发信号,那么我们需要将PWM4SOCS(Start of Cycle Selection)选项设置为0b1111,即通过TRIGA bit或者PCI sync 功能设置SOCS.

9 设置PWM4的相应的SOCS 寄存器为PCI sync功能

10 MCC中的配置相应与寄存器设置可以同步更新

11 PWM3设置为自触发模式TRIGA为触发输出信号

12-1 PWM4SPCIH设置

12-2 PG4SPCIL设置

以上图12为PWM4的PCI Sync功能设置,详细功能请参考规格书内容。

13 PG4频率设为250kHz验证PCI同步的作用

14 CH1-PWM3L,CH2-PWM4L,CH3-ADC Trigger1 Event

基于图13的设置,我们将PWM4频率设为为250kHz,但是此时看到PWM4的同步PCI源在起作用,PWM4L的频率由PWM3的ADC Trigger1信号分频触发为100kHz,即从图14上看到的周期约为10uS.

15 设置PWM4的频率为100kHz且占空比40%

16 设置PWM3的频率为500k且占空比30%

17 PWM3的触发选项设置

这里我们由PWM3触发PWM4,所以设置ADC Trigger1为触发信号,且使用TRIGA信号,延时200ns,如果实际应用不需要延时,可以不设置这个数值,默认为0.

此时的波形为图18,19所示。

18 CH1-PWM3L,CH2-PWM4L,CH3-ADC Trigger1 Event

19 CH1-PWM3L,CH2-PWM4L,CH3-ADC Trigger1 Event

从图19来看,基于PWM3PWM4都是互补模式输出,死区设置都在50ns以内,那么从PWM3L的下降沿到ADC Trigger1的事件之间的时间主要是我们设置的触发延时200ns产生,基于此PWM4PWM3是完全同步的PWM波形。

以上我们对PWM不同频率的通道之间的同步做了一个基本的说明,这个过程通过PWM自带的ADC分频触发信号进行分频触发,使用PWM事件作为PWM4的PCI 同步源,以实现二者的同步。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭