TMS320F280039C: ePWM模块的TBCTR设置问题

Part Number: TMS320F280039C

1、期望实现目标:

实现三组PWM的计数相隔120°(向上计数)

2、实现方式:

①配置TBCLKSYNC寄存器为0

②分别将三组PWM的TBCTR设置为0、PRD/3、PRD*2/3

配置TBCLKSYNC寄存器为1

3、结果

未能实现错开120°计数,后尝试将TBCTR设置为1、PRD/3+1、PRD*2/3+1实现了错开120°计数

想请教一下各位专家,这是由于什么原因导致的呢?查询了手册有如下对于TBCTR的解释:

当前在配置TBCLKSYNC寄存器为0、且计数方式为向上计数,也有可能出现这种问题吗?或者是由于其他原因导致了该异常现象?

  • 您好

    是否要使用向上计数模式实现120度相移?

    2、实现方式

    是的、这是推荐的实施方法。 TBCLKSYNC 控制所有 PWM 的计数器。 当设置为1时、它将同时启动计数器。

    3、结果

    是的、这是推荐的实施方法。 TBCLKSYNC 控制所有 PWM 的计数器。 当设置为1时、它将同时启动计数器。

  • 是的,但是不想通过配置移相值(TBPHS)的形式来实现,所以遇到了这个问题

  • 您好

    如果要配置 TBCTR、请确保在配置 ePWM 之前 TBCLKSYNC/GTBBCLKSYNC 不会在任何其他位置置位。 在 Device_init()内部、请确保 TBCLKSYNC=0、GTBCLKSYNC=0。 然而、客户不想使用相移吗? 这就是这些寄存器用于创建 PWM 信号之间所需的相移的预期用途。 我建议尝试使用 TBPHS 寄存器来生成120度相移。 这也可以确保 PWM 同步。