主题中讨论的其他器件:C2000WARE
当我施加低于50%的相移时、大于260不工作、输出较低但 完成输出较高、但当我施加大于50%的相移时、大于260完成
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.
当我施加低于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
此致!
马瑞安
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 用于什么应用? 我可以向您推荐我们一些现有的参考设计。
此致!
马瑞安