Other Parts Discussed in Thread: SYSCONFIG, C2000WARE
器件型号: TMS320F28P650DK
Thread 中讨论的其他器件: SysConfig、 C2000WARE
您好、
MCU 工作时钟频率是带 20MHz 控制器的 120MHz。
我正在使用 EPWM1 和 EPWM2、但这两个 PWM 之间产生的相移约为 84ns。
输出和 PWM 初始化我有共享(容差,
如何使这个相移为零? 请您指导我们。

这是我的初始化。
初始化 ()
{
EPWM1init();
EPWM2init();
HWREGH (myEPWM1_BASE + EPWM_O_TBCTL)=
((HWREGH (myEPWM1_BASE + EPWM_O_TBCTL)&~(EPWM_TBCTL_CTRLMODE_M))|
((uint16_t) ePwm_counter_mode_up));
HWREGH (myEPWM2_BASE + EPWM_O_TBCTL)=
((HWREGH (myEPWM2_BASE + EPWM_O_TBCTL)&~(EPWM_TBCTL_CTRLMODE_M))|
((uint16_t) ePwm_counter_mode_up));
SysCtl_enablePeripheral (SYSCTL_PERIPH_CLK_TBCLKSYNC);
}
void EPWM1init( void )
{
EPWM_setClockPrescaler (myEPWM1_BASE、EPWM_CLOCK_DIVIDER_1、EPWM_HSCLOCK_DIVIDER_1);
EPWM_setTimeBasePeriod (myEPWM1_BASE、0);
EPWM_setTimeBaseCounter (myEPWM1_BASE、0);
EPWM_setTimeBaseCounterMode (myEPWM1_BASE、EPWM_COUNTER_MODE_STOP_FREEZE);
EPWM_enablePhaseShiftLoad (myEPWM1_BASE);
EPWM_setPhaseShift (myEPWM1_BASE、0);
EPWM_disableCounterCompareShadowLoadMode (myEPWM1_BASE、EPWM_COUNTER_COMPARE_A);
EPWM_setCounterCompareValue (myEPWM1_BASE、EPWM_COUNTER_COMPARE_A、83);
EPWM_setActionQualifierAction (myEPWM1_BASE、EPWM_AQ_OUTPUT_A、
EPWM_AQ_OUTPUT_HIGH、
EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
EPWM_setActionQualifierAction (myEPWM1_BASE、EPWM_AQ_OUTPUT_A、
EPWM_AQ_OUTPUT_LOW、
EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO);
EPWM_setPeriodLoadMode (myEPWM1_BASE、EPWM_PERIOD_DIRECT_LOAD);
PRD_CLK_GRID = PRD_CLK_GRE_CH;
EPWM_setTimeBasePeriod (myEPWM1_BASE、PRD_CLK_GRID - 1);
EPWM_setTimeBaseCounterMode (myEPWM1_BASE、EPWM_COUNTER_MODE_STOP_FREEZE);
}
void EPWM2init( void )
{
EPWM_setClockPrescaler (myEPWM2_BASE、EPWM_CLOCK_DIVIDER_1、EPWM_HSCLOCK_DIVIDER_1);
EPWM_setTimeBasePeriod (myEPWM2_base、0);
EPWM_setTimeBaseCounter (myEPWM2_base、0);
EPWM_setTimeBaseCounterMode (myEPWM2_BASE、EPWM_COUNTER_MODE_STOP_FREEZE);
EPWM_setPhaseShift (myEPWM2_base、0);
EPWM_disableCounterCompareShadowLoadMode (myEPWM2_BASE、EPWM_COUNTER_COMPARE_A);
EPWM_setCounterCompareValue (myEPWM2_BASE、EPWM_COUNTER_COMPARE_A、83);
EPWM_setActionQualifierAction (myEPWM2_BASE、EPWM_AQ_OUTPUT_A、
EPWM_AQ_OUTPUT_LOW、
EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
EPWM_setActionQualifierAction (myEPWM2_BASE、EPWM_AQ_OUTPUT_A、
EPWM_AQ_OUTPUT_HIGH、
EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO);
EPWM_setPeriodLoadMode (myEPWM2_base、EPWM_PERIOD_DIRECT_LOAD);
PRD_CLK_GRID = PRD_CLK_GRE_CH;
EPWM_setTimeBasePeriod (myEPWM2_base、PRD_CLK_GRID - 1);
EPWM_setTimeBaseCounterMode (myEPWM1_BASE、EPWM_COUNTER_MODE_STOP_FREEZE);
}
此致、
Bhavin P





