C2000的epwm相移的时候,只有在pwm设置为向上向下计数模式么?能不能在设置向上计数模式的情况下使用?
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.
void PwmInit(void)
{
InitEPwm1Gpio();
InitEPwm2Gpio();
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;
EPwm1Regs.TBPRD = 4000-1; //频率15Khz
EPwm1Regs.CMPA.half.CMPA = 2000-1; // set duty 50%
EPwm1Regs.TBPHS.all = 0;
EPwm1Regs.TBCTL.all=0;
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; //向上计数
EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE;
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.FREE_SOFT = 0x11;
EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm1Regs.TBSTS.all=0;
EPwm1Regs.TBPHS.half.TBPHS=0;//移相0度
EPwm1Regs.TBCTR=0;
EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low
EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm2Regs.TBPRD = 4000-1; //频率15Khz
EPwm2Regs.TBPRDHR=1<<8;
EPwm2Regs.CMPA.half.CMPA = 2000-1; // set duty 50% initially
EPwm2Regs.TBPHS.all = 0;
EPwm2Regs.TBCTL.all=0;
EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; //向上计数
EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE;
EPwm2Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm2Regs.TBCTL.bit.FREE_SOFT = 0x11;
EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm2Regs.TBSTS.all=0;
EPwm2Regs.TBPHS.half.TBPHS=500;//相移45度
EPwm2Regs.TBPHS.half.TBPHSHR=0;
EPwm2Regs.TBCTR=0;
EPwm2Regs.AQCTLA.bit.ZRO = AQ_SET; // PWM toggle high/low
EPwm2Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm2Regs.AQCTLB.bit.ZRO = AQ_SET;
EPwm2Regs.AQCTLB.bit.CBU = AQ_CLEAR;
EALLOW;
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;
EDIS;
}
为什么这个程序的结果是pwm1A的相位比pwm2A的相位滞后45度,按照资料上说,应该是pwm2A比pwm1A滞后45度才对,看图片
上图第二张是datasheet的资料,从资料上看,pwm1A在周期处,也就是计算器为0的时候,产生一个同步信号,当产生同步信号后,pwm2在这个时间点上,相移45度pwm2A开始产生高电平,我的理解是这样,不知道是否理解对,如果理解对的话,为什么实际产生的波形却不是pwm2A滞后pqm1A 45度的相位角呢?那个pwm1A的同步信号在哪里产生的呢?