HRPWM Module¶
The HRPWM (High Resolution Pulse width Modulator) API provides a set of functions for configuring and using the HRPWM module. The functions provided give access to the HRPWM module which extends the time resolution capability of the ePWM module thus achieving a finer resolution than would be attainable just using the main CPU clock.
-
group
hrpwm_api
Defines
-
HRPWM_setTimeBaseCounter
EPWM_setTimeBaseCounter¶
-
HRPWM_setCountModeAfterSync
EPWM_setCountModeAfterSync¶
-
HRPWM_setClockPrescaler
EPWM_setClockPrescaler¶
-
HRPWM_swForceSyncPulse
EPWM_swForceSyncPulse¶
-
HRPWM_setSyncOutPulseMode
EPWM_setSyncOutPulseMode¶
-
HRPWM_setPeriodLoadMode
EPWM_setPeriodLoadMode¶
-
HRPWM_setTimeBaseCounterMode
EPWM_setTimeBaseCounterMode¶
-
HRPWM_selectPeriodLoadEvent
EPWM_selectPeriodLoadEvent¶
-
HRPWM_enableOneShotSync
EPWM_enableOneShotSync¶
-
HRPWM_disableOneShotSync
EPWM_disableOneShotSync¶
-
HRPWM_startOneShotSync
EPWM_startOneShotSync¶
-
HRPWM_getTimeBaseCounterOverflowStatus
EPWM_getTimeBaseCounterOverflowStatus¶
-
HRPWM_clearTimeBaseCounterOverflowEvent
EPWM_clearTimeBaseCounterOverflowEvent¶
-
HRPWM_getSyncStatus
EPWM_getSyncStatus¶
-
HRPWM_clearSyncEvent
EPWM_clearSyncEvent¶
-
HRPWM_getTimeBaseCounterDirection
EPWM_getTimeBaseCounterDirection¶
-
HRPWM_setupEPWMLinks
EPWM_setupEPWMLinks¶
-
HRPWM_setCounterCompareShadowLoadMode
EPWM_setCounterCompareShadowLoadMode¶
-
HRPWM_disableCounterCompareShadowLoadMode
EPWM_disableCounterCompareShadowLoadMode¶
-
HRPWM_getCounterCompareShadowStatus
EPWM_getCounterCompareShadowStatus¶
-
HRPWM_setActionQualifierShadowLoadMode
EPWM_setActionQualifierShadowLoadMode¶
-
HRPWM_disableActionQualifierShadowLoadMode
EPWM_disableActionQualifierShadowLoadMode¶
-
HRPWM_setActionQualifierT1TriggerSource
EPWM_setActionQualifierT1TriggerSource¶
-
HRPWM_setActionQualifierT2TriggerSource
EPWM_setActionQualifierT2TriggerSource¶
-
HRPWM_setActionQualifierAction
EPWM_setActionQualifierAction¶
-
HRPWM_setActionQualifierContSWForceShadowMode
EPWM_setActionQualifierContSWForceShadowMode¶
-
HRPWM_setActionQualifierContSWForceAction
EPWM_setActionQualifierContSWForceAction¶
-
HRPWM_setActionQualifierSwAction
EPWM_setActionQualifierSwAction¶
-
HRPWM_forceActionQualifierSwAction
EPWM_forceActionQualifierSwAction¶
-
HRPWM_setDeadBandOutputSwapMode
EPWM_setDeadBandOutputSwapMode¶
-
HRPWM_setDeadBandDelayMode
EPWM_setDeadBandDelayMode¶
-
HRPWM_setDeadBandDelayPolarity
EPWM_setDeadBandDelayPolarity¶
-
HRPWM_setRisingEdgeDeadBandDelayInput
EPWM_setRisingEdgeDeadBandDelayInput¶
-
HRPWM_setFallingEdgeDeadBandDelayInput
EPWM_setFallingEdgeDeadBandDelayInput¶
-
HRPWM_setDeadBandControlShadowLoadMode
EPWM_setDeadBandControlShadowLoadMode¶
-
HRPWM_disableDeadBandControlShadowLoadMode
EPWM_disableDeadBandControlShadowLoadMode¶
-
HRPWM_setRisingEdgeDelayCountShadowLoadMode
EPWM_setRisingEdgeDelayCountShadowLoadMode¶
-
HRPWM_disableRisingEdgeDelayCountShadowLoadMode
EPWM_disableRisingEdgeDelayCountShadowLoadMode¶
-
HRPWM_setFallingEdgeDelayCountShadowLoadMode
EPWM_setFallingEdgeDelayCountShadowLoadMode¶
-
HRPWM_disableFallingEdgeDelayCountShadowLoadMode
EPWM_disableFallingEdgeDelayCountShadowLoadMode¶
-
HRPWM_setDeadBandCounterClock
EPWM_setDeadBandCounterClock¶
-
HRPWM_setRisingEdgeDelayCount
EPWM_setRisingEdgeDelayCount¶
-
HRPWM_setFallingEdgeDelayCount
EPWM_setFallingEdgeDelayCount¶
-
HRPWM_enableChopper
EPWM_enableChopper¶
-
HRPWM_disableChopper
EPWM_disableChopper¶
-
HRPWM_setChopperDutyCycle
EPWM_setChopperDutyCycle¶
-
HRPWM_setChopperFreq
EPWM_setChopperFreq¶
-
HRPWM_setChopperFirstPulseWidt
EPWM_setChopperFirstPulseWidth¶
-
HRPWM_enableTripZoneSignals
EPWM_enableTripZoneSignals¶
-
HRPWM_disableTripZoneSignals
EPWM_disableTripZoneSignals¶
-
HRPWM_setTripZoneDigitalCompareEventCondition
EPWM_setTripZoneDigitalCompareEventCondition¶
-
HRPWM_enableTripZoneAdvAction
EPWM_enableTripZoneAdvAction¶
-
HRPWM_disableTripZoneAdvAction
EPWM_disableTripZoneAdvAction¶
-
HRPWM_setTripZoneAction
EPWM_setTripZoneAction¶
-
HRPWM_setTripZoneAdvAction
EPWM_setTripZoneAdvAction¶
-
HRPWM_setTripZoneAdvDigitalCompareActionA
EPWM_setTripZoneAdvDigitalCompareActionA¶
-
HRPWM_setTripZoneAdvDigitalCompareActionB
EPWM_setTripZoneAdvDigitalCompareActionB¶
-
HRPWM_enableTripZoneInterrupt
EPWM_enableTripZoneInterrupt¶
-
HRPWM_disableTripZoneInterrupt
EPWM_disableTripZoneInterrupt¶
-
HRPWM_getTripZoneInterruptStatus
HRPWM_getTripZoneFlagStatus¶
-
HRPWM_getTripZoneFlagStatus
EPWM_getTripZoneFlagStatus¶
-
HRPWM_getCycleByCycleTripZoneInterruptStatus
HRPWM_getCycleByCycleTripZoneFlagStatus¶
-
HRPWM_getCycleByCycleTripZoneFlagStatus
EPWM_getCycleByCycleTripZoneFlagStatus¶
-
HRPWM_getOneShotTripZoneInterruptStatus
HRPWM_getOneShotTripZoneFlagStatus¶
-
HRPWM_getOneShotTripZoneFlagStatus
EPWM_getOneShotTripZoneFlagStatus¶
-
HRPWM_selectCycleByCycleTripZoneClearEvent
EPWM_selectCycleByCycleTripZoneClearEvent¶
-
HRPWM_clearTripZoneInterruptFlag
HRPWM_clearTripZoneFlag¶
-
HRPWM_clearTripZoneFlag
EPWM_clearTripZoneFlag¶
-
HRPWM_clearCycleByCycleTripZoneInterruptFlag
HRPWM_clearCycleByCycleTripZoneFlag¶
-
HRPWM_clearCycleByCycleTripZoneFlag
EPWM_clearCycleByCycleTripZoneFlag¶
-
HRPWM_clearOneShotTripZoneInterruptFlag
HRPWM_clearOneShotTripZoneFlag¶
-
HRPWM_clearOneShotTripZoneFlag
EPWM_clearOneShotTripZoneFlag¶
-
HRPWM_forceTripZoneEvent
EPWM_forceTripZoneEvent¶
-
HRPWM_enableInterrupt
EPWM_enableInterrupt¶
-
HRPWM_disableInterrupt
EPWM_disableInterrupt¶
-
HRPWM_setInterruptSource
EPWM_setInterruptSource¶
-
HRPWM_setInterruptEventCount
EPWM_setInterruptEventCount¶
-
HRPWM_getEventTriggerInterruptStatus
EPWM_getEventTriggerInterruptStatus¶
-
HRPWM_clearEventTriggerInterruptFlag
EPWM_clearEventTriggerInterruptFlag¶
-
HRPWM_enableInterruptEventCountInit
EPWM_enableInterruptEventCountInit¶
-
HRPWM_disableInterruptEventCountInit
EPWM_disableInterruptEventCountInit¶
-
HRPWM_forceInterruptEventCountInit
EPWM_forceInterruptEventCountInit¶
-
HRPWM_setInterruptEventCountInitValue
EPWM_setInterruptEventCountInitValue¶
-
HRPWM_getInterruptEventCount
EPWM_getInterruptEventCount¶
-
HRPWM_forceEventTriggerInterrupt
EPWM_forceEventTriggerInterrupt¶
-
HRPWM_enableADCTrigger
EPWM_enableADCTrigger¶
-
HRPWM_disableADCTrigger
EPWM_disableADCTrigger¶
-
HRPWM_setADCTriggerSource
EPWM_setADCTriggerSource¶
-
HRPWM_setADCTriggerEventPrescale
EPWM_setADCTriggerEventPrescale¶
-
HRPWM_getADCTriggerFlagStatus
EPWM_getADCTriggerFlagStatus¶
-
HRPWM_clearADCTriggerFlag
EPWM_clearADCTriggerFlag¶
-
HRPWM_enableADCTriggerEventCountInit
EPWM_enableADCTriggerEventCountInit¶
-
HRPWM_disableADCTriggerEventCountInit
EPWM_disableADCTriggerEventCountInit¶
-
HRPWM_forceADCTriggerEventCountInit
EPWM_forceADCTriggerEventCountInit¶
-
HRPWM_setADCTriggerEventCountInitValue
EPWM_setADCTriggerEventCountInitValue¶
-
HRPWM_getADCTriggerEventCount
EPWM_getADCTriggerEventCount¶
-
HRPWM_forceADCTrigger
EPWM_forceADCTrigger¶
-
HRPWM_selectDigitalCompareTripInput
EPWM_selectDigitalCompareTripInput¶
-
HRPWM_enableDigitalCompareBlankingWindow
EPWM_enableDigitalCompareBlankingWindow¶
-
HRPWM_disableDigitalCompareBlankingWindow
EPWM_disableDigitalCompareBlankingWindow¶
-
HRPWM_enableDigitalCompareWindowInverseMode
EPWM_enableDigitalCompareWindowInverseMode¶
-
HRPWM_disableDigitalCompareWindowInverseMode
EPWM_disableDigitalCompareWindowInverseMode¶
-
HRPWM_setDigitalCompareBlankingEvent
EPWM_setDigitalCompareBlankingEvent¶
-
HRPWM_setDigitalCompareFilterInput
EPWM_setDigitalCompareFilterInput¶
-
HRPWM_setDigitalCompareWindowOffset
EPWM_setDigitalCompareWindowOffset¶
-
HRPWM_setDigitalCompareWindowLength
EPWM_setDigitalCompareWindowLength¶
-
HRPWM_getDigitalCompareBlankingWindowOffsetCount
EPWM_getDigitalCompareBlankingWindowOffsetCount¶
-
HRPWM_getDigitalCompareBlankingWindowLengthCount
EPWM_getDigitalCompareBlankingWindowLengthCount¶
-
HRPWM_setDigitalCompareEventSource
EPWM_setDigitalCompareEventSource¶
-
HRPWM_setDigitalCompareEventSyncMode
EPWM_setDigitalCompareEventSyncMode¶
-
HRPWM_enableDigitalCompareADCTrigger
EPWM_enableDigitalCompareADCTrigger¶
-
HRPWM_disableDigitalCompareADCTrigger
EPWM_disableDigitalCompareADCTrigger¶
-
HRPWM_enableDigitalCompareSyncEvent
EPWM_enableDigitalCompareSyncEvent¶
-
HRPWM_disableDigitalCompareSyncEvent
EPWM_disableDigitalCompareSyncEvent¶
-
HRPWM_enableDigitalCompareCounterCapture
EPWM_enableDigitalCompareCounterCapture¶
-
HRPWM_disableDigitalCompareCounterCapture
EPWM_disableDigitalCompareCounterCapture¶
-
HRPWM_setDigitalCompareCounterShadowMode
EPWM_setDigitalCompareCounterShadowMode¶
-
HRPWM_getDigitalCompareCaptureStatus
EPWM_getDigitalCompareCaptureStatus¶
-
HRPWM_getDigitalCompareCaptureCount
EPWM_getDigitalCompareCaptureCount¶
-
HRPWM_enableDigitalCompareTripCombinationInput
EPWM_enableDigitalCompareTripCombinationInput¶
-
HRPWM_disableDigitalCompareTripCombinationInput
EPWM_disableDigitalCompareTripCombinationInput¶
-
HRPWM_enableValleyCapture
EPWM_enableValleyCapture¶
-
HRPWM_disableValleyCapture
EPWM_disableValleyCapture¶
-
HRPWM_startValleyCapture
EPWM_startValleyCapture¶
-
HRPWM_setValleyTriggerSource
EPWM_setValleyTriggerSource¶
-
HRPWM_setValleyTriggerEdgeCounts
EPWM_setValleyTriggerEdgeCounts¶
-
HRPWM_enableValleyHWDelay
EPWM_enableValleyHWDelay¶
-
HRPWM_disableValleyHWDelay
EPWM_disableValleyHWDelay¶
-
HRPWM_setValleySWDelayValue
EPWM_setValleySWDelayValue¶
-
HRPWM_setValleyDelayDivider
EPWM_setValleyDelayDivider¶
-
HRPWM_getValleyEdgeStatus
EPWM_getValleyEdgeStatus¶
-
HRPWM_getValleyCount
EPWM_getValleyCount¶
-
HRPWM_getValleyHWDelay
EPWM_getValleyHWDelay¶
-
HRPWM_enableGlobalLoad
EPWM_enableGlobalLoad¶
-
HRPWM_disableGlobalLoad
EPWM_disableGlobalLoad¶
-
HRPWM_setGlobalLoadTrigger
EPWM_setGlobalLoadTrigger¶
-
HRPWM_setGlobalLoadEventPrescale
EPWM_setGlobalLoadEventPrescale¶
-
HRPWM_getGlobalLoadEventCount
EPWM_getGlobalLoadEventCount¶
-
HRPWM_disableGlobalLoadOneShotMode
EPWM_disableGlobalLoadOneShotMode¶
-
HRPWM_enableGlobalLoadOneShotMode
EPWM_enableGlobalLoadOneShotMode¶
-
HRPWM_setGlobalLoadOneShotLatch
EPWM_setGlobalLoadOneShotLatch¶
-
HRPWM_forceGlobalLoadOneShotEvent
EPWM_forceGlobalLoadOneShotEvent¶
-
HRPWM_enableGlobalLoadRegisters
EPWM_enableGlobalLoadRegisters¶
-
HRPWM_disableGlobalLoadRegisters
EPWM_disableGlobalLoadRegisters¶
-
HRPWM_setEmulationMode
EPWM_setEmulationMode¶
Enums
-
enum
HRPWM_Channel
¶ Values that can be passed to HRPWM_setMEPEdgeSelect(), HRPWM_setMEPControlMode(), HRPWM_setCounterCompareShadowLoadEvent() as the channel parameter.
Values:
-
enumerator
HRPWM_CHANNEL_A
= 0¶ HRPWM A.
-
enumerator
HRPWM_CHANNEL_B
= 8¶ HRPWM B.
-
enumerator
-
enum
HRPWM_MEPEdgeMode
¶ Values that can be passed to HRPWM_setMEPEdgeSelect() as the mepEdgeMode parameter.
Values:
-
enumerator
HRPWM_MEP_CTRL_DISABLE
= 0¶ HRPWM is disabled.
-
enumerator
HRPWM_MEP_CTRL_RISING_EDGE
= 1¶ MEP controls rising edge.
-
enumerator
HRPWM_MEP_CTRL_FALLING_EDGE
= 2¶ MEP controls falling edge.
-
enumerator
HRPWM_MEP_CTRL_RISING_AND_FALLING_EDGE
= 3¶ MEP controls both rising and falling edge.
-
enumerator
-
enum
HRPWM_MEPCtrlMode
¶ Values that can be passed to HRPWM_setHRMEPCtrlMode() as the parameter.
Values:
-
enumerator
HRPWM_MEP_DUTY_PERIOD_CTRL
= 0¶ CMPAHR/CMPBHR or TBPRDHR controls MEP edge.
-
enumerator
HRPWM_MEP_PHASE_CTRL
= 1¶ TBPHSHR controls MEP edge.
-
enumerator
-
enum
HRPWM_LoadMode
¶ Values that can be passed to HRPWM_setCounterCompareShadowLoadEvent(), HRPWM_setRisingEdgeDelayLoadMode() and HRPWM_setFallingEdgeDelayLoadMode as the loadEvent parameter.
Values:
-
enumerator
HRPWM_LOAD_ON_CNTR_ZERO
= 0¶ load when counter equals zero
-
enumerator
HRPWM_LOAD_ON_CNTR_PERIOD
= 1¶ load when counter equals period
-
enumerator
HRPWM_LOAD_ON_CNTR_ZERO_PERIOD
= 2¶ load when counter equals zero or period
-
enumerator
-
enum
HRPWM_ChannelBOutput
¶ Values that can be passed to HRPWM_setChannelBOutputPath() as the outputOnB parameter.
Values:
-
enumerator
HRPWM_OUTPUT_ON_B_NORMAL
= 0¶ ePWMxB output is normal.
-
enumerator
HRPWM_OUTPUT_ON_B_INV_A
= 1¶ ePWMxB output is inverted version of ePWMxA signal
-
enumerator
-
enum
HRPWM_SyncPulseSource
¶ Values that can be passed to HRPWM_setSyncPulseSource() as the syncPulseSource parameter.
Values:
-
enumerator
HRPWM_PWMSYNC_SOURCE_PERIOD
= 0¶ Counter equals Period.
-
enumerator
HRPWM_PWMSYNC_SOURCE_ZERO
= 1¶ Counter equals zero.
-
enumerator
HRPWM_PWMSYNC_SOURCE_COMPC_UP
= 4¶ Counter equals COMPC when counting up.
-
enumerator
HRPWM_PWMSYNC_SOURCE_COMPC_DOWN
= 5¶ Counter equals COMPC when counting down.
-
enumerator
HRPWM_PWMSYNC_SOURCE_COMPD_UP
= 6¶ Counter equals COMPD when counting up.
-
enumerator
HRPWM_PWMSYNC_SOURCE_COMPD_DOWN
= 7¶ Counter equals COMPD when counting down.
-
enumerator
-
enum
HRPWM_CounterCompareModule
¶ Values that can be passed to HRPWM_setCounterCompareValue() as the compModule parameter.
Values:
-
enumerator
HRPWM_COUNTER_COMPARE_A
= 0¶ counter compare A
-
enumerator
HRPWM_COUNTER_COMPARE_B
= 4¶ counter compare B
-
enumerator
-
enum
HRPWM_MEPDeadBandEdgeMode
¶ Values that can be passed to HRPWM_setDeadbandMEPEdgeSelect() as the mepDBEdge.
Values:
-
enumerator
HRPWM_DB_MEP_CTRL_DISABLE
= 0¶ HRPWM is disabled.
-
enumerator
HRPWM_DB_MEP_CTRL_RED
= 1¶ MEP controls Rising Edge Delay.
-
enumerator
HRPWM_DB_MEP_CTRL_FED
= 2¶ MEP controls Falling Edge Delay.
-
enumerator
HRPWM_DB_MEP_CTRL_RED_FED
= 3¶ MEP controls both Falling and Rising edge delay.
-
enumerator
-
enum
HRPWM_LockRegisterGroup
¶ Values that can be passed to HRPWM_lockRegisters() as the registerGroup parameter.
Values:
-
enumerator
HRPWM_REGISTER_GROUP_HRPWM
= 0x1¶ HRPWM register group.
-
enumerator
HRPWM_REGISTER_GROUP_GLOBAL_LOAD
= 0x2¶ Global load register group.
-
enumerator
HRPWM_REGISTER_GROUP_TRIP_ZONE
= 0x4¶ Trip zone register group.
-
enumerator
HRPWM_REGISTER_GROUP_TRIP_ZONE_CLEAR
= 0x8¶ Trip zone clear group.
-
enumerator
HRPWM_REGISTER_GROUP_DIGITAL_COMPARE
= 0x10¶ Digital compare group.
-
enumerator
Functions
-
void
HRPWM_setPhaseShift
(uint32_t base, uint32_t phaseCount)¶ Sets the consolidated phase shift value in high resolution mode.
This function sets the consolidated phase shift value, that is, both TBPHS and TBPHSHR values are configured together.
- Parameters
base
: is the base address of the EPWM module.phaseCount
: is the consolidated phase shift count value.
Call EPWM_enablePhaseShiftLoad & HRPWM_enableHRPhaseShiftLoad() functions to enable loading of the phaseCount in high resolution mode.
Note: phaseCount is a 24-bit value. Note: For configuring TBPHS = 0x3C, TBPHSHR = 0x2; phaseCount = 0x3C02
- Return
None.
-
void
HRPWM_setHiResPhaseShiftOnly
(uint32_t base, uint16_t hrPhaseCount)¶ Sets only the high resolution phase shift value.
This function sets only the high resolution phase shift(TBPHSHR) value. Call the HRPWM_enableHRPhaseShiftLoad() function to enable loading of the hrPhaseCount.
- Parameters
base
: is the base address of the EPWM module.hrPhaseCount
: is the high resolution phase shift count value.
Note: hrPhaseCount is an 8-bit value.
- Return
None.
-
void
HRPWM_setTimeBasePeriod
(uint32_t base, uint32_t periodCount)¶ Sets the consolidated period of time base counter used in HR mode.
This function sets the consolidated period of time base counter value (TBPRD:TBPRDHR) required in high resolution mode.
- Parameters
base
: is the base address of the EPWM module.periodCount
: is the consolidated period count value.
User should map the desired period or frequency of the waveform into the correct periodCount.
Note: periodCount is a 24 bit value. Note: For configuring TBPRD = 0x3C, TBPRDHR = 0xA; periodCount = 0x3C0A
- Return
None.
-
void
HRPWM_setHiResTimeBasePeriodOnly
(uint32_t base, uint16_t hrPeriodCount)¶ Sets only the high resolution time base counter.
This function sets only the high resolution time base counter(TBPRDHR) value.
- Parameters
base
: is the base address of the EPWM module.hrPeriodCount
: is the high resolution period count value.
User should map the desired period or frequency of the waveform into the correct hrPeriodCount.
Note: hrPeriodCount is an 8-bit value.
- Return
None.
-
uint32_t
HRPWM_getTimeBasePeriod
(uint32_t base)¶ Gets the consolidated time base period count used in HR mode
This function gets the consolidated time base period(TBPRD:TBPRDHR) value used in high resolution mode.
- Parameters
base
: is the base address of the EPWM module.
- Return
The consolidated time base period count value.
-
uint16_t
HRPWM_getHiResTimeBasePeriodOnly
(uint32_t base)¶ Gets the only the high resolution time base period count.
This function gets only the high resolution time base period(TBPRDHR) value.
- Parameters
base
: is the base address of the EPWM module.
- Return
The high resolution time base period count value.
-
void
HRPWM_setMEPEdgeSelect
(uint32_t base, HRPWM_Channel channel, HRPWM_MEPEdgeMode mepEdgeMode)¶ Sets the high resolution edge controlled by MEP (Micro Edge Positioner).
This function sets the edge of the PWM that is controlled by MEP (Micro Edge Positioner). Valid values for the parameters are:
channel
HRPWM_CHANNEL_A - HRPWM A
HRPWM_CHANNEL_B - HRPWM B
mepEdgeMode
HRPWM_MEP_CTRL_DISABLE - HRPWM is disabled
HRPWM_MEP_CTRL_RISING_EDGE - MEP (Micro Edge Positioner) controls rising edge.
HRPWM_MEP_CTRL_FALLING_EDGE - MEP (Micro Edge Positioner) controls falling edge.
HRPWM_MEP_CTRL_RISING_AND_FALLING_EDGE - MEP (Micro Edge Positioner) controls both edges.
- Parameters
base
: is the base address of the EPWM module.channel
: is high resolution period module.mepEdgeMode
: edge of the PWM that is controlled by MEP (Micro Edge Positioner).
- Return
None.
-
void
HRPWM_setMEPControlMode
(uint32_t base, HRPWM_Channel channel, HRPWM_MEPCtrlMode mepCtrlMode)¶ Sets the MEP (Micro Edge Positioner) control mode.
This function sets the mode (register type) the MEP (Micro Edge Positioner) will control. Valid values for the parameters are:
channel
HRPWM_CHANNEL_A - HRPWM A
HRPWM_CHANNEL_B - HRPWM B
mepCtrlMode
HRPWM_MEP_DUTY_PERIOD_CTRL - MEP (Micro Edge Positioner) is controlled by value of CMPAHR/ CMPBHR(depending on the value of channel) or TBPRDHR.
HRPWM_MEP_PHASE_CTRL - MEP (Micro Edge Positioner) is controlled by TBPHSHR.
- Parameters
base
: is the base address of the EPWM module.channel
: is high resolution period module.mepCtrlMode
: is the MEP (Micro Edge Positioner) control mode.
- Return
None.
-
void
HRPWM_setCounterCompareShadowLoadEvent
(uint32_t base, HRPWM_Channel channel, HRPWM_LoadMode loadEvent)¶ Sets the high resolution comparator load mode.
This function sets the shadow load mode of the high resolution comparator. The function sets the COMPA or COMPB register depending on the channel variable. Valid values for the parameters are:
channel
HRPWM_CHANNEL_A - HRPWM A
HRPWM_CHANNEL_B - HRPWM B
loadEvent
HRPWM_LOAD_ON_CNTR_ZERO - load when counter equals zero
HRPWM_LOAD_ON_CNTR_PERIOD - load when counter equals period
HRPWM_LOAD_ON_CNTR_ZERO_PERIOD - load when counter equals zero or period
- Parameters
base
: is the base address of the EPWM module.channel
: is high resolution period module.loadEvent
: is the MEP (Micro Edge Positioner) control mode.
- Return
None.
-
void
HRPWM_setOutputSwapMode
(uint32_t base, bool enableOutputSwap)¶ Sets the high resolution output swap mode.
This function sets the HRPWM output swap mode. If enableOutputSwap is true, ePWMxA signal appears on ePWMxB output and ePWMxB signal appears on ePWMxA output. If it is false ePWMxA and ePWMxB outputs are unchanged.
- Parameters
base
: is the base address of the EPWM module.enableOutputSwap
: is the output swap flag.
- Return
None.
-
void
HRPWM_setChannelBOutputPath
(uint32_t base, HRPWM_ChannelBOutput outputOnB)¶ Sets the high resolution output on ePWMxB
This function sets the HRPWM output signal on ePWMxB. If outputOnB is HRPWM_OUTPUT_ON_B_INV_A, ePWMxB output is an inverted version of ePWMxA. If outputOnB is HRPWM_OUTPUT_ON_B_NORMAL, ePWMxB output is ePWMxB.
- Parameters
base
: is the base address of the EPWM module.outputOnB
: is the output signal on ePWMxB.
- Return
None.
-
void
HRPWM_enableAutoConversion
(uint32_t base)¶ Enables MEP (Micro Edge Positioner) automatic scale mode.
This function enables the MEP (Micro Edge Positioner) to automatically scale HRMSTEP.
- Parameters
base
: is the base address of the EPWM module.
- Return
None.
-
void
HRPWM_disableAutoConversion
(uint32_t base)¶ Disables MEP automatic scale mode.
This function disables the MEP (Micro Edge Positioner) from automatically scaling HRMSTEP.
- Parameters
base
: is the base address of the EPWM module.
- Return
None.
-
void
HRPWM_enablePeriodControl
(uint32_t base)¶ Enable high resolution period feature.
This function enables the high resolution period feature.
- Parameters
base
: is the base address of the EPWM module.
- Return
None.
-
void
HRPWM_disablePeriodControl
(uint32_t base)¶ Disable high resolution period feature.
This function disables the high resolution period feature.
- Parameters
base
: is the base address of the EPWM module.
- Return
None.
-
void
HRPWM_enablePhaseShiftLoad
(uint32_t base)¶ Enable high resolution phase load
This function enables loading of high resolution phase shift value which is set by the function
HRPWM_setPhaseShift().- Parameters
base
: is the base address of the EPWM module.
- Return
None.
-
void
HRPWM_disablePhaseShiftLoad
(uint32_t base)¶ Disable high resolution phase load
This function disables loading of high resolution phase shift value.
- Parameters
base
: is the base address of the EPWM module.
- Return
-
void
HRPWM_setSyncPulseSource
(uint32_t base, HRPWM_SyncPulseSource syncPulseSource)¶ Set high resolution PWMSYNC source.
This function sets the high resolution PWMSYNC pulse source. Valid values for syncPulseSource are:
HRPWM_PWMSYNC_SOURCE_PERIOD - Counter equals Period.
HRPWM_PWMSYNC_SOURCE_ZERO - Counter equals zero.
HRPWM_PWMSYNC_SOURCE_COMPC_UP - Counter equals COMPC when counting up.
HRPWM_PWMSYNC_SOURCE_COMPC_DOWN - Counter equals COMPC when counting down.
HRPWM_PWMSYNC_SOURCE_COMPD_UP - Counter equals COMPD when counting up.
HRPWM_PWMSYNC_SOURCE_COMPD_DOWN - Counter equals COMPD when counting down.
- Parameters
base
: is the base address of the EPWM module.syncPulseSource
: is the PWMSYNC source.
- Return
None.
-
void
HRPWM_setTranslatorRemainder
(uint32_t base, uint16_t trremVal)¶ Sets the Translator Remainder value.
This function sets the Translator Remainder value.
- Parameters
base
: is the base address of the EPWM module.trremVal
: is the translator remainder value.
- Return
None.
-
void
HRPWM_setCounterCompareValue
(uint32_t base, HRPWM_CounterCompareModule compModule, uint32_t compCount)¶ Sets the consolidated counter compare values in HR mode.
This function sets the consolidated counter compare(CMPx:CMPxHR) value required in high resolution mode for counter compare registers. Valid values for compModule are:
HRPWM_COUNTER_COMPARE_A - counter compare A.
HRPWM_COUNTER_COMPARE_B - counter compare B.
- Parameters
base
: is the base address of the EPWM module.compModule
: is the Counter Compare module.compCount
: is the consolidated counter compare count value.
Note: compCount is a 24 bit value. Note: For configuring CMPA = 0xB4, CMPAHR = 0x64; value of compCount = 0xB464
- Return
None.
-
void
HRPWM_setHiResCounterCompareValueOnly
(uint32_t base, HRPWM_CounterCompareModule compModule, uint16_t hrCompCount)¶ Sets only the high resolution counter compare value.
This function sets the high resolution counter compare value(CMPxHR) for counter compare registers. Valid values for compModule are:
HRPWM_COUNTER_COMPARE_A - counter compare A.
HRPWM_COUNTER_COMPARE_B - counter compare B.
- Parameters
base
: is the base address of the EPWM module.compModule
: is the Counter Compare module.hrCompCount
: is the high resolution counter compare count value.
Note: hrCompCount is an 8-bit value.
- Return
None.
-
uint32_t
HRPWM_getCounterCompareValue
(uint32_t base, HRPWM_CounterCompareModule compModule)¶ Gets the consolidated counter compare values.
This function gets the consolidated counter compare(CMPx:CMPxHR) value used in high resolution for the counter compare module specified. Valid values for compModule are:
HRPWM_COUNTER_COMPARE_A - counter compare A.
HRPWM_COUNTER_COMPARE_B - counter compare B.
- Parameters
base
: is the base address of the EPWM module.compModule
: is the Counter Compare module value.
- Return
None.
-
uint16_t
HRPWM_getHiResCounterCompareValueOnly
(uint32_t base, HRPWM_CounterCompareModule compModule)¶ Gets only the high resolution counter compare values.
This function gets only the high resolution counter compare(CMPxHR) value for the counter compare module specified. Valid values for compModule are:
HRPWM_COUNTER_COMPARE_A - counter compare A.
HRPWM_COUNTER_COMPARE_B - counter compare B.
- Parameters
base
: is the base address of the EPWM module.compModule
: is the Counter Compare module value.
- Return
None.
-
void
HRPWM_setRisingEdgeDelay
(uint32_t base, uint32_t redCount)¶ Sets the consolidated RED count in high resolution mode.
This function sets the consolidated RED (Rising Edge Delay) count (DBRED:DBREDHR) value used in high resolution mode. The value of redCount should be less than 0x200000.
- Parameters
base
: is the base address of the EPWM module.redCount
: is the high resolution RED count.
Note: redCount is a 21 bit value. Note: For configuring DBRED = 0x4, DBREDHR = 0x1; value of redCount = ((0x4 << 7) | 0x1) = 0x201
- Return
None.
-
void
HRPWM_setHiResRisingEdgeDelayOnly
(uint32_t base, uint16_t hrRedCount)¶ Sets the high resolution RED count only.
This function sets only the high resolution RED (Rising Edge Delay) count(DBREDHR) value. The value of hrRedCount should be less than 128.
- Parameters
base
: is the base address of the EPWM module.hrRedCount
: is the high resolution RED count.
Note: hrRedCount is a 7-bit value.
- Return
None.
-
void
HRPWM_setFallingEdgeDelay
(uint32_t base, uint32_t fedCount)¶ Sets the consolidated FED value in high resolution mode.
This function sets the consolidated FED (Falling Edge Delay) count (DBFED: DBFEDHR) value used in high resolution mode. The value of fedCount should be less than 0x200000.
- Parameters
base
: is the base address of the EPWM module.fedCount
: is the high resolution FED count.
Note: fedCount is a 21 bit value. Note: For configuring DBFED = 0x4, DBFEDHR = 0x1; value of fedCount = ((0x4 << 7) | 0x1) = 0x201
- Return
None.
-
void
HRPWM_setHiResFallingEdgeDelayOnly
(uint32_t base, uint16_t hrFedCount)¶ Sets high resolution FED count only.
This function sets only the high resolution FED (Falling Edge Delay) count (DBFEDHR)value. The value of hrFedCount should be less than 128.
- Parameters
base
: is the base address of the EPWM module.hrFedCount
: is the high resolution FED count.
Note: hrFedCount is a 7-bit value.
- Return
None.
-
void
HRPWM_setMEPStep
(uint32_t base, uint16_t mepCount)¶ Set high resolution MEP (Micro Edge Positioner) step.
This function sets the high resolution MEP (Micro Edge Positioner) step count. The maximum value for the MEP count step is 255.
- Parameters
base
: is the base address of the EPWM module.mepCount
: is the high resolution MEP (Micro Edge Positioner) step count.
- Return
None.
-
void
HRPWM_setDeadbandMEPEdgeSelect
(uint32_t base, HRPWM_MEPDeadBandEdgeMode mepDBEdge)¶ Set high resolution Dead Band MEP (Micro Edge Positioner) control.
This function sets the high resolution Dead Band edge that the MEP (Micro Edge Positioner) controls Valid values for mepDBEdge are:
HRPWM_DB_MEP_CTRL_DISABLE - HRPWM is disabled
HRPWM_DB_MEP_CTRL_RED - MEP (Micro Edge Positioner) controls Rising Edge Delay
HRPWM_DB_MEP_CTRL_FED - MEP (Micro Edge Positioner) controls Falling Edge Delay
HRPWM_DB_MEP_CTRL_RED_FED - MEP (Micro Edge Positioner) controls both Falling and Rising edge delays
- Parameters
base
: is the base address of the EPWM module.mepDBEdge
: is the high resolution MEP (Micro Edge Positioner) control edge.
- Return
None.
-
void
HRPWM_setRisingEdgeDelayLoadMode
(uint32_t base, HRPWM_LoadMode loadEvent)¶ Set the high resolution Dead Band RED load mode.
This function sets the high resolution Rising Edge Delay(RED)Dead Band count load mode. Valid values for loadEvent are:
HRPWM_LOAD_ON_CNTR_ZERO - load when counter equals zero.
HRPWM_LOAD_ON_CNTR_PERIOD - load when counter equals period
HRPWM_LOAD_ON_CNTR_ZERO_PERIOD - load when counter equals zero or period.
- Parameters
base
: is the base address of the EPWM module.loadEvent
: is the shadow to active load event.
- Return
None.
-
void
HRPWM_setFallingEdgeDelayLoadMode
(uint32_t base, HRPWM_LoadMode loadEvent)¶ Set the high resolution Dead Band FED load mode.
This function sets the high resolution Falling Edge Delay(FED) Dead Band count load mode. Valid values for loadEvent are:
HRPWM_LOAD_ON_CNTR_ZERO - load when counter equals zero.
HRPWM_LOAD_ON_CNTR_PERIOD - load when counter equals period
HRPWM_LOAD_ON_CNTR_ZERO_PERIOD - load when counter equals zero or period.
- Parameters
base
: is the base address of the EPWM module.loadEvent
: is the shadow to active load event.
- Return
None.
-
void
HRPWM_lockRegisters
(uint32_t base, HRPWM_LockRegisterGroup registerGroup)¶ Lock EALLOW protected register groups
This functions locks the EALLOW protected register groups specified by the registerGroup variable.
- Parameters
base
: is the base address of the EPWM module.registerGroup
: is the EALLOW register groups.
- Return
None.
-
The code for this module is contained in driverlib/hrpwm.c, with driverlib/hrpwm.h containing the API declarations for use by applications.