Part Number: TMS320F280025
Dear team:
A customer of mine encountered some problems when using EPWM Global Load.
EPWM_setTimeBasePeriod(base, period); // period = 200 EPWM_setTimeBaseCounterMode(base, EPWM_COUNTER_MODE_UP); EPWM_setActionQualifierAction(base,EPWM_AQ_OUTPUT_A,EPWM_AQ_OUTPUT_HIGH,EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO); EPWM_setActionQualifierAction(base,EPWM_AQ_OUTPUT_A,EPWM_AQ_OUTPUT_LOW,EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA); EPWM_setActionQualifierAction(base,EPWM_AQ_OUTPUT_B,EPWM_AQ_OUTPUT_HIGH,EPWM_AQ_OUTPUT_ON_TIMEBASE_ZERO); EPWM_setActionQualifierAction(base,EPWM_AQ_OUTPUT_B,EPWM_AQ_OUTPUT_LOW,EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPB); EPWM_enableGlobalLoadRegisters(base,EPWM_GL_REGISTER_CMPA_CMPAHR | EPWM_GL_REGISTER_CMPB_CMPBHR); EPWM_setGlobalLoadTrigger(base,EPWM_GL_LOAD_PULSE_CNTR_ZERO_PERIOD); EPWM_enableGlobalLoad(base);
After the above code runs, EPWM1A will always be high and EPMW1B will always be low.
If EPWM_disableGlobalLoad(base) is disabled; EPWM1A EPMW1B will send waves normally.
What could be the reason for this?
Best regards