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.
不同PWM模块,可以将PWM2作为Slave module, PWM1作为Master Module,通过TBPHS寄存器来产生phase offset。
同一个PWM模块,UP-DOWM 计数模式,比如PWM1, 是不是可以实现EPM1A 与EPM1B 180° phase offset输出?
你好,当然可以,只不过同一个模块内的相移就不是用类似TBPHS寄存器来设置,而是直接通过设置CMPA/B比较器值就可以实现了。
其实正确来说,这不算是相移,就是设置不同的相位点而已。类似芯片TRM第2183页开始的几个波形。
谢谢回复。
从第2183页的波形开始看,第2188页Figure 20-32是有可能满足我想要的需求的,但是那个波形我有点不明白。从波形看EPWMxB的占空比是固定的50%,在CTR = 0拉低,CTR = PRD时拉高。这个是不是也可以由CMPB的值决定?能不能给一个180°的phase offset的示意图,麻烦了,谢谢。
另外,看2182页的描述:• TBPRD, CMPA, and CMPB refer to the value written in their respective registers. The active register, not the
shadow register, is used by the hardware. not the shadow registere, 这个意思是说不需要用到影子寄存器嘛?另外,这个hardware指得是什么?
这个是不是也可以由CMPB的值决定?
这是可以的,但问题是动作点只有4个,也就是ZERO PRD CMPA CMPB,相位上差180°的话只要设置的时候把上升点设置的差180°就可以了,但是如果PWMA的占空比超过50%的话,PWMB的下降点就不一定能满足180°了。
那这应该不是我想要的。我EPWM1A和EPWM1B的CMPA和CMPB值是环路独立计算出来的,可能都是超过50%。
“上升点设置的差180°就可以”通过什么设置呢?死区还是其他?
其实就是那几个动作点,比如设置
PWMA:ZERO的时候拉高,CMPA的时候拉低
PWMB:PRD的时候拉高,CMPB的时候拉低
这样PWMA/B就是180°的相位差
是的,所以我前面说的,180°相位差是可以实现的
相位上差180°的话只要设置的时候把上升点设置的差180°就可以了
占空比的话就要看你是什么应用了。如你图中画的,如果要求PWMB的占空比超过50%,那就没办法实现了。