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.

[参考译文] TMS320F28069:随机发生异常 ePWM 输出

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1253806/tms320f28069-abnormal-epwm-output-occurred-in-random

器件型号:TMS320F28069

尊敬的 Champ:

我要求为我的客户提供服务。

有两个 ePWM (EPWM3和  EPWM8)分别以18kHz 的频率运行、两者都设置为向上向下双向计数。  

两个  ePWM CMPA 寄存器都配置 为下方、CMPA 值 在 while 环路中在125和0之间给出。

while(1)
{
    if (a)
    {
        EPwm3Regs.CMPA.half.CMPA = 0;
        EPwm8Regs.CMPA.half.CMPA = 125;
        a = 0;
    }
    else
    {
        EPwm3Regs.CMPA.half.CMPA = 125;
        EPwm8Regs.CMPA.half.CMPA = 0;
        a = 1;
    }
}

两个 ePWM 的比较寄存器均处于影子模式、在 CTR = PRD 且 CTR =零时加载。 此外、   对于 EPWM3和 EPWM8、AQ 在 CTR =零时设置为高电平、并在 CTR = CMPA 时设置为低电平 。

(1)。 从上面的 ePWM 配置来看、两个 ePWM 都应该转向具有 ePWM 信号(图1)。 然而,不知何故,它被发现,要么会错过输出在一个回合或有一个短脉冲,这应该不是 随机存在,如下面的波形(图2&3 ).

(图1)正确运行。 EPWM3和 EPWM8 在每个周期产生 ePWM 信号。  

CH3:EPWM3; CH4:EPWM8  

(图2)异常。 EPWM8有一个随机发生的~200ns 的异常短脉冲

CH3:EPWM3; CH4:EPWM8  

  

(图3)异常。  EPWM3在一段时间内错过输出、用红色圆圈标出。

CH3:EPWM3; CH4:EPWM8  

(2)。 将相同的 CMPA 配置   为 EPWM3和 EPWM8、修改为 仅在 CTR = PRD 时加载。 结果表明、一个 EPWM 将 同时具有相同的一致占空比 输出、或者一个 EPWM 会随机丢失输出。  

(图4)异常。    当 EPWM3 启动时、EPWM8具有相同的一致占空比输出

CH3:EPWM3; CH4:EPWM8  

(图5)异常。 EPWM8在一段时间内错过输出、以红色圈出。

CH3:EPWM3; CH4:EPWM8

 

我 想、两种情况(1)和(2)是否都面临如下所示的注意事项、这种情况导致 ePWM 以某种方式不起作用。

专家是否愿意在这里分享这两种情况的想法? 为了解决此问题,我是否应该 按照建议使用变通办法(使用非零计数器比较)?

谢谢。此致、

约翰尼

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

    您好、Johnny、

    Unknown 说:
    两个 ePWM 的比较寄存器都处于影子模式、并在 CTR = PRD 且 CTR =零时加载。 此外、   对于 EPWM3和 EPWM8、AQ 在 CTR =零时设置为高电平、在 CTR = CMPA 时设置为低电平 。

    由于您已在 AQ 中配置为在 CTR = 0时设置为高电平、因此在 CTR = CMPA 时设置为低电平

    如果 CMPA =0、PWM 将在 CTR = ZRO 上设置为高电平、并且必须在 CTR = CMPA = 0上设置为低电平。 这可能会产生一些意外行为、因为在应该是一个的事件中会发生两个事件。  

    我建议使用 TRM 注释中建议的非零计数器比较>= 1。

    此致!

    马瑞安