Other Parts Discussed in Thread: TMS320F280049C
Hello,
I work with TIDM-HV-1PH-DCAC evm. I have a problem with the PWM generation.
At 20kHz, everything is fine : the low frequency PWM toggle at the same time as the high frequencies.
But if I increase the PWM frequency (50kHz), the low frequency PWM toggle 10µs after :
In the code from TI :
if(duty>=0)
{
// CTR = CMPA@UP , set to 1
EPWM_setActionQualifierAction(base1, EPWM_AQ_OUTPUT_A , EPWM_AQ_OUTPUT_HIGH, EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
// CTR = CMPA@Down , toggle
EPWM_setActionQualifierAction(base1, EPWM_AQ_OUTPUT_A , EPWM_AQ_OUTPUT_TOGGLE, EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);
// CTR=0, clear to 0
EPWM_setActionQualifierAction(base1, EPWM_AQ_OUTPUT_A , EPWM_AQ_OUTPUT_LOW, EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO);
// CTR = CMPA@Down , clear
EPWM_setActionQualifierAction(base2, EPWM_AQ_OUTPUT_A , EPWM_AQ_OUTPUT_LOW, EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);
}
else
{
// CTR = CMPA@UP , clear to 0
EPWM_setActionQualifierAction(base1, EPWM_AQ_OUTPUT_A , EPWM_AQ_OUTPUT_LOW, EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
// CTR = CMPA@Down , toggle
EPWM_setActionQualifierAction(base1, EPWM_AQ_OUTPUT_A , EPWM_AQ_OUTPUT_TOGGLE, EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);
// CTR=0, set to 1
EPWM_setActionQualifierAction(base1, EPWM_AQ_OUTPUT_A , EPWM_AQ_OUTPUT_HIGH, EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO);
// CTR = CMPA@Down , set
EPWM_setActionQualifierAction(base2, EPWM_AQ_OUTPUT_A , EPWM_AQ_OUTPUT_HIGH, EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);
}
Why the ActionQualifier of base2 (low freq) have this 10µs delay ?
Thanks,
Nicolas