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.
大家好、
如图所示、我有2个 EPWM7A 和 EPWM8A EPWM、它们之间存在180度相位差。 EPWM8A 同步(EPwm8Regs.TBCTL.bit.PHSEN = TB_ENABLE;)至 EPWM7A、由外部信号同步(图片上为绿色、SYNC) EPWM7A。 因此、我的问题是、即使同步信号进入 MCU、EPWM7A 和 EPWM8A 信号松散同步、并且为什么我不知道、EPWM7A 的占空比仅在一段时间内就会超过最大值(这在软件上是不可能的、 因为软件有限制)。
有人可以帮助我吗?
您好!
我们将需要检查 PWM 配置。 或者、您可以查看我之前提到的示例、并将您的配置与该示例进行比较。
此致、Santosh
您好!
fo 同步、
EALLOW;
InputXbarRegs.INPUT5SELECT=18;
EDIS;
我的 PWM 配置、如下所示、
SyncSockRegs.SYNCSELECT.BIT.EPWM7SYNCIN=5;
EPwm7Regs.TBPRD =周期;
EPwm7Regs.CMPA.bit.CMPA=0;
EPwm7Regs.TBPHS.bit.TBPHS = 0;
EPwm7Regs.TBCTR = 0x0000;
EPwm7Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
EPwm7Regs.TBCTL.bit.PHSEN = TB_ENABLE;
EPwm7Regs.TBCTL.bit.PRDLD = CC_SHADOW;
EPwm7Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
EPwm7Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
EPwm7Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm7Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm7Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm7Regs.TBSTS.bit.SYNCI = 1;//清除 SYNCIN 标志
EPwm7Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm7Regs.AQCTLA.bit.PRD = AQ_SET;
// //
EPwm8Regs.TBPRD =周期;
EPwm8Regs.CMPA.bit.CMPA=0;
EPwm8Regs.TBPHS.bit.TBPHS = PhaseDiff180Degree;
//EPwm8Regs.TBPHS.bit.TBPHS =周期;
EPwm8Regs.TBCTR = 0x0000;
EPwm8Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
EPwm8Regs.TBCTL.bit.PHSEN = TB_ENABLE;
EPwm8Regs.TBCTL.bit.PRDLD = CC_SHADOW;
EPwm8Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
EPwm8Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
EPwm8Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm8Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm8Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm8Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm8Regs.AQCTLA.bit.PRD = AQ_SET;