请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28069 你(们)好
我的应用程序需要逐渐将 TBPHS 降为0以关闭全桥拓扑, 如 本帖子所示
但在降低 TBPHS (EPWM1导联、EPWM2跟随、EPWM2中缺少波形 )的过程中缺少波形
阅读一些 帖子后 ,仍然无法解决问题

ePWM 模块的设置如下(上-下模式)
void ConfigPWM(){
EALLOW;
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;
EDIS;
EPwm1Regs.TBPRD = FreqCounterTop;
EPwm1Regs.TBPHS.half.TBPHS =0; //TimeBase Phase Register 0 for now
EPwm1Regs.TBCTL.bit.CTRMODE =TB_COUNT_UPDOWN;
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm1Regs.TBCTL.bit.SYNCOSEL =TB_CTR_ZERO;
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
EPwm1Regs.AQCTLA.bit.CAU =AQ_SET;
EPwm1Regs.AQCTLA.bit.CAD =AQ_CLEAR;
EPwm1Regs.DBCTL.bit.OUT_MODE=DB_FULL_ENABLE;
EPwm1Regs.DBCTL.bit.POLSEL=DB_ACTV_HIC;
EPwm1Regs.DBFED=50; //counter: 1/45M*50~=1.11uS
EPwm1Regs.DBRED=50;
EPwm1Regs.CMPA.half.CMPA = FreqCounterTop/2;
EPwm2Regs.TBPRD = FreqCounterTop;
EPwm2Regs.TBPHS.half.TBPHS =0; //TimeBase Phase Register 0 for now
EPwm2Regs.TBCTL.bit.CTRMODE =TB_COUNT_UPDOWN;
EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE;
EPwm2Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm2Regs.TBCTL.bit.SYNCOSEL =TB_SYNC_IN;
EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
EPwm2Regs.AQCTLA.bit.CAU =AQ_SET;
EPwm2Regs.AQCTLA.bit.CAD =AQ_CLEAR;
EPwm2Regs.DBCTL.bit.OUT_MODE=DB_FULL_ENABLE;
EPwm2Regs.DBCTL.bit.POLSEL=DB_ACTV_HIC;
EPwm2Regs.DBFED=50;
EPwm2Regs.DBRED=50;
EPwm2Regs.CMPA.half.CMPA = FreqCounterTop/2;
EALLOW;
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;
EDIS;
}
减少中断例程中的 TBPHS
OutputAmpCounter-=ChargeInter; EPwm2Regs.TBPHS.half.TBPHS = OutputAmpCounter;
频率设置
EPwm1Regs.TBPRD =FreqCounterTop; EPwm2Regs.TBPRD =EPwm1Regs.TBPRD; EPwm1Regs.CMPA.half.CMPA = EPwm1Regs.TBPRD/2; EPwm2Regs.CMPA.half.CMPA = EPwm1Regs.CMPA.half.CMPA;
是否有任何其他建议可以解决此问题、或者设置是否有问题?