现在需要通过给定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; //