F28335中可以配置pwm1a/1b两路PWM,我之前是配置这两路同相位,我是这样配置的(*ePWM[ch1]).TBCTL.bit.PHSEN = 1;(*ePWM[ch1]).TBPHS.half.TBPHS = 0;这两句话是不是配置同相位的pwm,不知道配置的对不对?
,还有我现在想配置这两路pwm1A/1B,两者可以互差90度相位或者45度相位,甚至是配置可变的任意相位,应该怎样设置,谢谢
onebyte:
EPWM模块配置相位是对于EPWM之间的,对于一个EPWM模块内的两个比较器,不支持配置相位
F28335中可以配置pwm1a/1b两路PWM,我之前是配置这两路同相位,我是这样配置的(*ePWM[ch1]).TBCTL.bit.PHSEN = 1;(*ePWM[ch1]).TBPHS.half.TBPHS = 0;这两句话是不是配置同相位的pwm,不知道配置的对不对?
,还有我现在想配置这两路pwm1A/1B,两者可以互差90度相位或者45度相位,甚至是配置可变的任意相位,应该怎样设置,谢谢
onebyte:
回复 ZENGZHEN XING:
它是通过设定比较值来使输出相位差90度
EPwm1Regs.CMPA.half.CMPA=SP/2;EPwm1Regs.CMPB=0;
F28335中可以配置pwm1a/1b两路PWM,我之前是配置这两路同相位,我是这样配置的(*ePWM[ch1]).TBCTL.bit.PHSEN = 1;(*ePWM[ch1]).TBPHS.half.TBPHS = 0;这两句话是不是配置同相位的pwm,不知道配置的对不对?
,还有我现在想配置这两路pwm1A/1B,两者可以互差90度相位或者45度相位,甚至是配置可变的任意相位,应该怎样设置,谢谢
ZENGZHEN XING:
回复 onebyte:
谢谢您的解答,但是我还是有点不明白PWM1A和1B是相同的周期值,我配置的是up-down的计数方式,1A的比较值是sp/2,但是1B的比较值是0,怎么会发出方波呢,谢谢
F28335中可以配置pwm1a/1b两路PWM,我之前是配置这两路同相位,我是这样配置的(*ePWM[ch1]).TBCTL.bit.PHSEN = 1;(*ePWM[ch1]).TBPHS.half.TBPHS = 0;这两句话是不是配置同相位的pwm,不知道配置的对不对?
,还有我现在想配置这两路pwm1A/1B,两者可以互差90度相位或者45度相位,甚至是配置可变的任意相位,应该怎样设置,谢谢
onebyte:
回复 ZENGZHEN XING:
EPwm1Regs.AQCTLA.all=0x60; // CTR=CMPA when inc->EPWM1A=1, when dec->EPWM1A=0EPwm1Regs.AQCTLB.all=0x09; // CTR=PRD ->EPWM1B=1, CTR=0 ->EPWM1B=0
这里可以设置计数值等于 周期值、比较值(上计数、下计数)、0时,对应的不同动作
TI中文支持网



