在使用28035EPWM模块实现移相控制时遇到占空比丢失的问题。我的驱动产生方式为
采用的是三角载波,设置比较寄存器CMPA为周期寄存器值的一半,通过与载波比较后从而产生0.5的占空比。而载波之间的移相通过采用相位寄存器TBPHS来实现。如图1所示,当S1的载波计数到零后给出S4载波的同步信号,在下一个有效时钟沿,S4的时基计数器将自动装载相位寄存器的内容,并在此基础上继续减计数。其中TBPHS通过周期计数值-fi进行赋值,fi定义为超前管和滞后管共同导通对应的计数值,当S1的载波计数到零后给出S4的同步信号。
当移相比为0.5的时候,TBPHS的数值为正好为周期计数值的一半,与CMPA一致。在同步信号到来后,时基计数器装载TBPHS中数值的同时,还应该与CMPA比较来产生驱动下降沿。因此我们猜测可能是这两个事件发生冲突,导致时基计数器没有与CMPA进行比较,从而导致驱动下降沿丢失。问题波形如图2所示。问题始终没有得到解决,希望能够得到大神们的帮助!