This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F2800137: Duty加载 PWM 0% 100%占空比边界问题

Part Number: TMS320F2800137

现在需要通过给定CMPA实现,占空比变化,以及在某些时刻从:

占空比从  非0~~至0,从非0~~~至100%,的变化

 

例如:期望在Cnt = 0时刻,输出PWM为常低电平,

配置为: ZERO加载,

 

实际输出,偶尔会出现如下,下一个PWM周期输出常高,在下一个cnt=0,才实现电平拉低至0,

我简单分析是:

在零点,即要执行加载,又要执行比较动作,

所以出现:驱动先加载,再去比较已经过了CNT=0,AQ无法执行CAU:CLR

 

问题是,参考了TI的一篇关于0%~100%占空比加载的文档,基于C28x系列MCU Type 1 EPWM模块实现0% - 100%占空比输出控制

配置了PWM在零点的独立动作,

还是会出现驱动在理论动作周期内没有正确执行。

想请问一下,如何才能避免这种情况,以及如何实现用CMPA给定0,PRD实现占空比输出0%,, 100%

PWM配置为:

 

EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;//UPDOWN计数模式

 

EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;

EPwm1Regs.AQCTLA.bit.CAD = AQ_SET;

EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;//配置 或 不配置,均会出现上述,占空比不对情况

 

EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;     // Load registers every ZERO

EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;   //