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.

[参考译文] CCS/TMS320F280049C:同步 PWM1

Guru**** 2229435 points
Other Parts Discussed in Thread: TMS320F28069, C2000WARE, TMS320F280049
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/845944/ccs-tms320f280049c-synchronize-pwm1

器件型号:TMS320F280049C
主题中讨论的其他器件:TMS320F28069C2000WARETMS320F280049

工具/软件:Code Composer Studio

各位冠军:

在后台、我尝试从 eCAP 引脚捕获信号、并将 TSCTR 引脚与来自 ePWM 的 syncIn 信号同步。 因此、我的设置如下所示:

  1. EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;

选择同步信号源的 CTR = 0。

    ECap1Regs.ECCTL2.bit.SYNCI_EN = 1;

启用同步输入选项、因此当 PWM CTR = 0时、CAP TSCTR 将复位。

我已经在 TMS320F28069上实现了这个设置、并且它运行得很好。

接下来、我计划将代码迁移到 TMS320F280049。 与 C2000ware 中的示例代码存在一些差异、其中 F280049使用 driverlib。 我使用 F28069上的设置作为参考、对于同步部分、我使用以下两个函数:

  1. ePWM_setSyncOutPulseMode (EPWM1_base、ePWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO);

HWREGH (base + ePWM_O_TBCTL)=

              ((HWREGH (base + ePWM_O_TBCTL)&~(ePWM_TBCTL_SYNCOSEL_M)|((uint16_t) ePWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO << ePWM_TBCTL_SYNCOSEL_S)));

选择同步源为 CTR = 0。

2. ecap_enableLoadCounter (ECAP1_base);

HWREGH (base + ECAP_O_ECCTL2)|= ECAP_ECCTL2_SYNCI_EN;

启用同步输入选项、因此当 PWM CTR = 0时、CAP TSCTR 将复位。

问题是当我检查 F280049的 ECap1Regs.TSCTR 时,它不会在 PWM CTR = 0时复位,而是继续运行到0xFFFFFFF。 我在手册中读出 F280049的电容器是1类 eCAP、但在 F28069上是0类 eCAP。 但是,我不知道两者的同步选项是否有一些差异。

那么、除了这两个设置之外、F280049上的同步设置错过了什么? 类型1和类型0 eCAP 在同步设置上是否有任何差异?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您还需要配置 SYNCSEL 寄存 器、以确保 EPWM1SYNCOUT 用于驱动 eCAP1的 SYNCIN 信号。 为此,您可以使用以下 SYSCTL API,它是 driverlib 的一部分:

    SYSCTL_setSyncInputConfig (SYSCTL_SYNC_IN_ECAP1、SYSCTL_SYNC_IN_SRC_EPWM1SYNCOUT);

    如果我的回复回答了您的问题、请点击位于我帖子底部的"我的问题已解决"按钮。

    此致

    Himanshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Himanshu、

    您的建议确实有用、它起作用。

    我不知道 SYNCSEL 寄存器。

    非常感谢!

    此致、

    Luiz