Part Number: TMS320F280039C
Other Parts Discussed in Thread: LAUNCHXL-F280039C
采用GPIO6作为CBC事件源,当GPIO6为低电平时EPWM1A\EPWM1B拉低。参考datasheet可知,CBC事件消除后,在下一个PWM CTR=ZERO时,CBC trip 会自动清除。实际测试时会发现EPWM1B会在清零前出现1-2CLK高电平,如下图所示。
Using GPIO6 as the CBC event source, EPWM1A/EPWM1B will go low when GPIO6 is at a low level. According to the datasheet, when the TZ TRIP is no longer present, the CBC trip will automatically clear at the next PWM CTR=ZERO. In actual testing, it can be observed that EPWM1B will show a 1-2CLK high level before clearing, as shown in the figure below.

部分放大图:
Partial enlarged view:

部分代码如下:Some code:
EPwm1Regs.TBPRD = 2999;
EPwm1Regs.TBPHS.bit.TBPHS = 0;
EPwm1Regs.TBCTR = 0x0000;
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;
EPwm1Regs.CMPA.bit.CMPA = 1199;
EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;
EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm1Regs.AQCTLB.bit.ZRO = AQ_CLEAR;
EPwm1Regs.AQCTLB.bit.CAU = AQ_SET;
EPwm1Regs.TZSEL.bit.CBC1 = TZ_ENABLE;
InputXbarRegs.INPUT1SELECT = 6;
EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_LO;
EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_LO;
我的疑问:为什么在PWM周期未过零时,EPWM1B会出现短暂高电平?
My question is: why does EPWM1B exhibit a brief high level when the PWM cycle has not crossed zero?