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.

TMS320F280039C: F280039

Part Number: TMS320F280039C

不同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°相位差啊,但是pwm duty不符合吧?

  • 是的,所以我前面说的,180°相位差是可以实现的

    相位上差180°的话只要设置的时候把上升点设置的差180°就可以了

    占空比的话就要看你是什么应用了。如你图中画的,如果要求PWMB的占空比超过50%,那就没办法实现了。