HI:
我在使用28069的PWM1A、PWM1B、PWM2A、PWM2B控制LLC的原边全桥。
1)PWM开关频率范围为60kHz~250kHz
2)LLC控制环路计算频率为10kHz,也就是说我会在10kHz的中断里更新PWM1和PWM2的开关频率和CMPA值,
使PWM输出开关频率变化且占空比为50%的波形。
3)PWM的PRD和CMP寄存器生效模式都设定为SHADOW模式。shadow到active选择为ZREO点。
问题:怎样保证写入PWM1.PRD、PWM1.CMPA、PWM2.PRD、PWM2.CMPA寄存器的值在同一时刻生效。
举个出问题的例子:在10kHz中断程序执行过程中:
代码指令1:写PWM1.PRD寄存器值为最新值
代码指令2:写PWM1.CMPA寄存器值为最新值
关闭键点:PWM的ZERO点到来,PWM1的PRD和CMPA寄存器值由SHADOW更新到ACTIVE
代码指令3:写PWM2.PRD寄存器值为最新值(需要等下一个ZERO点才能由SHADOW更新到ACTIVE)
代码指令4:写PWM4.CMPA寄存器值为最新值(需要等下一个ZERO点才能由SHADOW更新到ACTIVE)
这应该是造成变频控制项目中,PWM输出时正常时不正常的原因,开关频率越高越容易出现。
Green Deng:
你好,看一下这个帖子是否有帮助:e2e.ti.com/…/732889
Aiden:
回复 Green Deng:
这个贴子讲述了和我相同的问题,但是没有提供解决的方法。