各位好,我想请教一个问题:
首先,我知道在28035的EPWM配置中,通过配置寄存器TBPHS,可以让不同的EPWM模块之间,在各自的TBCTR载波上,产生一个相位差;
比如:EPWM1和EPWM2 的TBPRD都为3000,都为UP-DOWN计数模式;
那么如果EPWM2模块的TBPHS=3000,PHSDIR =0(向下开始计数),
则由于EPWM2模块的TBCTR载波要滞后于EPWM1模块半个周期,所以EPWM2整个模块要滞后于EPWM1模块;
若采用完全同样的比较值翻转方式,则EPWM2A要滞后于EPWM1A半个周期,EPWM2B也要滞后于EPWM1B半个周期。
那么,上面是两个不同EPWM模块之间的相位差;
我的问题是:
在同一个EPWM模块中(就拿EPWM1模块来说),它自己的2个EPWM1A、EPWM1B之间,能不能也通过寄存器,配置成 EPWM1B的载波 一直滞后EPWM1A的载波 半个周期?
(效果同上面的不同EPWM模块之间的相位差“类似”,只不过这次的相位差是同一个EPWM模块内部的,2个不同 EPWMxA、EPWMxB 端口之间的延时)
能不能实现?
能实现的话,是配置哪个寄存器的值?
能否直接提供代码?(EPWMxB 的TBCTR载波 滞后于 EPWMxA的TBCTR载波 半个载波周期)
BinBin Li1:
不能,一个PWM模块只有一个计数器,要实现相位差必须要2个计数器才行。