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.

[参考译文] TMS320F28377S:PWM 同步化时出现 PWM 问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1190124/tms320f28377s-pwm-problem-when-the-pwms-sycncronized

器件型号:TMS320F28377S
主题中讨论的其他器件:C2000WARE

大家好、

如图所示、我有2个 EPWM7A 和 EPWM8A EPWM、它们之间存在180度相位差。 EPWM8A 同步(EPwm8Regs.TBCTL.bit.PHSEN = TB_ENABLE;)至 EPWM7A、由外部信号同步(图片上为绿色、SYNC) EPWM7A。 因此、我的问题是、即使同步信号进入 MCU、EPWM7A 和 EPWM8A 信号松散同步、并且为什么我不知道、EPWM7A 的占空比仅在一段时间内就会超过最大值(这在软件上是不可能的、 因为软件有限制)。

有人可以帮助我吗?

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

    您好!

    您是否能够从 C2000Ware 中运行同步示例? 这对您是否有效?

    此致、Santosh

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

    我没有使用它、我已经完成了我的代码。 您是否认为问题出在配置上? 如果是、为什么有时会发生这种情况、而不是总是... 正常情况下、它可以正常工作。

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

    您好!

    我们将需要检查 PWM 配置。 或者、您可以查看我之前提到的示例、并将您的配置与该示例进行比较。

    此致、Santosh

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

    您好!  

    fo 同步、

    EALLOW;
    InputXbarRegs.INPUT5SELECT=18;
    EDIS;

    我的 PWM 配置、如下所示、

    SyncSockRegs.SYNCSELECT.BIT.EPWM7SYNCIN=5;

    EPwm7Regs.TBPRD =周期;
    EPwm7Regs.CMPA.bit.CMPA=0;
    EPwm7Regs.TBPHS.bit.TBPHS = 0;
    EPwm7Regs.TBCTR = 0x0000;
    EPwm7Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
    EPwm7Regs.TBCTL.bit.PHSEN = TB_ENABLE;
    EPwm7Regs.TBCTL.bit.PRDLD = CC_SHADOW;
    EPwm7Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
    EPwm7Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
    EPwm7Regs.TBCTL.bit.CLKDIV = TB_DIV1;
    EPwm7Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
    EPwm7Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;


    EPwm7Regs.TBSTS.bit.SYNCI = 1;//清除 SYNCIN 标志


    EPwm7Regs.AQCTLA.bit.CAU = AQ_CLEAR;
    EPwm7Regs.AQCTLA.bit.PRD = AQ_SET;


    // //
    EPwm8Regs.TBPRD =周期;
    EPwm8Regs.CMPA.bit.CMPA=0;
    EPwm8Regs.TBPHS.bit.TBPHS = PhaseDiff180Degree;
    //EPwm8Regs.TBPHS.bit.TBPHS =周期;  
    EPwm8Regs.TBCTR = 0x0000;
    EPwm8Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
    EPwm8Regs.TBCTL.bit.PHSEN = TB_ENABLE;  
    EPwm8Regs.TBCTL.bit.PRDLD = CC_SHADOW;
    EPwm8Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
    EPwm8Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
    EPwm8Regs.TBCTL.bit.CLKDIV = TB_DIV1;
    EPwm8Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
    EPwm8Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
    EPwm8Regs.AQCTLA.bit.CAU = AQ_CLEAR;
    EPwm8Regs.AQCTLA.bit.PRD = AQ_SET;

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

    您好!

    今天我没有机会去看。 我将在星期一查看您的代码。  

    您是否尝试了 C2000Ware 中的同步示例、这是否适合您?

    此致、Santosh

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

    我没有尝试示例,但我想突出显示这个,这个代码起作用,同步发生,但有时,我在图片上显示的情况是...

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

    是的、我理解这一点。 我想知道您是否看到示例的间歇性故障。

    今天 稍后我将查看您的配置代码并返回给您。

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

    您好!

    有没有这方面的新闻?

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

    您好!

    我真诚的道歉,没有机会进行评论。 我明天会回来。

    此致、Santosh

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

    您好!

    您是否可以使用 C2000Ware 示例重新创建问题? 或者、您能否共享您的项目?

    此致、Santosh