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.

[参考译文] TMDSCNCD28388D:PWM 的相移

Guru**** 2390755 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1321795/tmdscncd28388d-phase-shift-of-pwm

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

当我施加低于50%的相移时、大于260不工作、输出较低但 完成输出较高、但当我施加大于50%的相移时、大于260完成

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

    尊敬的 Sudhir:

    您有没有机会查看我们在 C2000WARE 中发现的展示相移案例的 PWM 示例? 我们还提供了有关如何实施相移的视频、并提供了图形界面、可帮助您开始代码生成。 请查看以下资源:

    1. 应用手册

    2. 视频

    3. C2000 Ware 示例: C:\ti\c2000\c2000\C2000Ware_x_xx_xx\driverlib\f2838x\examples\c28x\epwm\epwm_ex3_synchronization.c

    此致!

    马瑞安

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

    是的、我已经检查了这一点、但我无法将 PWM 信号移位超过270度。我只能移位小于270度、所以我的问题是如何将 PWM 信号移位超过270度

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


    ePWM_setClockPrescaler (myEPWM4_base、ePWM_clock_divider _1、ePWM_HSCLOCK divider _1);

    EPWM_setTimeBasePeriod (myEPWM4_base、frequncey);

    EPWM_setTimeBaseCounterMode (myEPWM4_BASE、EPWM_COUNTER_MODE_UP_DOWN);

    EPWM_enablePhaseShiftLoad (myEPWM4_BASE);
    EPWM_setPhaseShift (myEPWM4_base、1500);
    EPWM_setSyncInPulseSource (myEPWM4_BASE、EPWM_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM1);
    ePWM_enableSyncOutPulseSource (myEPWM4_base、ePWM_SYNC_OUT_PULSE_ON_CNTR_ZERO);

    EPWM_setCounterCompareValue (myEPWM4_base、EPWM_COUNTER_COMPARE_A、ECAMP);
    EPWM_enableGlobalLoadRegisters (myEPWM4_base、EPWM_GL_Register_CMPA_CMPAHR);

    EPWM_setupEPWMLinks (myEPWM4_base、EPWM_LINK_WITH_EPWM_1、EPWM_LINK_COMP_A);
    EPWM_setCounterCompareValue (myEPWM4_base、EPWM_COUNTER_COMPARE_B、ECAMP);
    EPWM_enableGlobalLoadRegisters (myEPWM4_base、EPWM_GL_Register_CMPB_CMPBHR);

    EPWM_setupEPWMLinks (myEPWM3_base、EPWM_LINK_WITH_EPWM_1、EPWM_LINK_COMP_B);

    EPWM_enableGlobalLoadRegisters (myEPWM4_base、EPWM_GL_REGISTER_AQCTLA_AQCTLA2);

    EPWM_setActionQualifierAction (myEPWM4_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
    EPWM_setActionQualifierAction (myEPWM4_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);

    EPWM_setDeadBandDelayPolarity (myEPWM4_base、EPWM_DB_FED、EPWM_DB_POLICY_ACTIVE_LOW);
    ePWM_setDeadBandDelayMode (myEPWM4_base、ePWM_DB_RED、TRUE);

    ePWM_setRisingEdgeDelayCount (myEPWM4_BASE、20);
    ePWM_setDeadBandDelayMode (myEPWM4_base、ePWM_DB_FED、true);

    EPWM_setFallingEdgeDelayCount (myEPWM4_BASE、20);

    我的 pwm4 和 TBPRD=1000的代码  

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

    尊敬的 Sudhir:

    如果 TBPRD = 1000、并且是将相移值设置为1500、则该 TBPHS 值超出了 TBPRD 的范围、这将导致波形的行为异常。 您的主 ePWM 模块何时发送同步事件? 您能否提供想要生成的任何屏幕截图或预期波形?

    要计算大于270度的相移、请查看以下类似主题: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/980518/tms320f28335-epwm-negative-phase-shift

    您尝试将 PWM 用于什么应用? 我可以向您推荐我们一些现有的参考设计。

    此致!

    马瑞安

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

    我正在使用 PWM 为直流/直流转换器. TBPHS =(TBPRD*所需相移)/360   

    对于270 TBPHS=750 、我也使用了该值、但未使用  

    最有趣的是我能够做相移小于250但不超过250我不知道为什么请看我的上述代码是正确的或什么缺失