尊敬的 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 以某种方式不起作用。
专家是否愿意在这里分享这两种情况的想法? 为了解决此问题,我是否应该 按照建议使用变通办法(使用非零计数器比较)?
谢谢。此致、
约翰尼