ePWM: ePWM TZFRC and TZCLR Events may be Missed When PERCLKDIVSEL.EPWMCLKDIV =
1
Revisions Affected
0, A, B
Details
The TZFRC bit is used for
software-forced trip events, while the TZCLR bit is used for clearing the trip-zone
events. On devices with EPWMCLKDIV, the TZFRC and TZCLR write may be missed and
leave the output unaffected if PERCLKDIVSEL.EPWMCLKDIV is programmed to 1. This bit
is programmed to 1 by default (EPWMCLK is PLLSYSCLK/2).
Workaround
- Configure EPWMCLK = PLLSYSCLK
(PERCLKDIVSEL.EPWMCLKDIV = 0).
- If the user has to configure
EPWMCLK = PLLSYSCLK/2 (PERCLKDIVSEL.EPWMCLKDIV = 1), select one of
the reserved mux inputs of EPWMXBAR to be used for the trip using the following
driverlib software sequence.
PWMXBAR → Digital Compare → Trip Zone
- Configure both trip zone actions for Digital Compare Output A Event 1/2 Action
On EPWMxA and Digital Compare Output B Event 1/2 Action On EPWMxB.
- Configure the input signals for TRIPIN1-15 or the ORed Combinational logic of
TRIPIN1-15.
- EPWM_selectDigitalCompareTripInput()
- Configure the Digital Compare condition for DCAEVT1/2 and DCBEVT1/2.
- EPWM_setTripZoneDigitalCompareEventCondition()
- Configure the PWMXBAR Input to the Digital Compare Submodule to reserved.
- XBAR_selectEpwmXbarInputSource()
Application Code
To trip the PWMs, you can invert the PWMXBAR state using
XBAR_invertOutputSignal().