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.

[参考译文] TMS320F280049C:使用相移函数时缺少 PWM

Guru**** 2473270 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1472969/tms320f280049c-pwm-missing-when-use-phase-shift-function

器件型号:TMS320F280049C

工具与软件:

您好、

当我使用 dsp280049c 实现相移时、PWM 有时会丢失一个周期。

我的相移配置如下所示:

将 PWM1设置为主器件、将 PWM2设置为与 PWM1相关的从器件   、并在 PWM1"epwm_sync_out_pulse_on_counter_zero"时加载相移寄存器值。  

  当 PWM2"EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO"时、将 PWM3设置为与 PWM2、相关的另一个从器件、并加载相移寄存器值

某些部件代码:

EPWM_setSyncOutPulseMode (EPWM1_BASE、EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO);

PWM_setPhaseShift (EPWM2_BASE、250);/250 = 90度  

ePWM_setCountModeAfterSync (EPWM2_BASE、EPWM_COUNT_MODE_UP_AFTER_SYNC);
EPWM_setSyncOutPulseMode (EPWM2_BASE、EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO);

ePWM_setCountModeAfterSync (EPWM3_BASE、(EPWM_SyncCountMode) ePWM_COUNT_MODE_DOWN_AFTER_SYNC);

EPWM_setPhaseShift (EPWM3_BASE、DAB_PhaseShift_tick);

然后在 ADC 中断更新中 、每次更新 PWM2和 PWM3相移值、有时、PWM3会在一个周期内出现 PWM 缺失、波形如下:

 n‘t 我仅更新 PWM3相移、并将 PWM2相移设置为固定值、、PWM3就可以了、我不知道为什么会这样? 您能对此提供一些指导吗? 谢谢