ECAP Module¶
The Enhanced Capture (eCAP) API provides a set of functions for configuring and using the eCAP module. Functions are provided to utilize both the capture and PWM capability of the eCAP module. The APIs allow for the selection and characterization of the input signal to be captured. A provision is also made to provide DMA trigger sources based on the eCAP events. The necessary APIs are also provided for PWM mode of operation.
-
group
ecap_api
Defines
-
ECAP_MAX_PRESCALER_VALUE
32U¶
-
ECAP_ISR_SOURCE_CAPTURE_EVENT_1
0x2U¶ Event 1 ISR source
-
ECAP_ISR_SOURCE_CAPTURE_EVENT_2
0x4U¶ Event 2 ISR source
-
ECAP_ISR_SOURCE_CAPTURE_EVENT_3
0x8U¶ Event 3 ISR source
-
ECAP_ISR_SOURCE_CAPTURE_EVENT_4
0x10U¶ Event 4 ISR source
-
ECAP_ISR_SOURCE_COUNTER_OVERFLOW
0x20U¶ Counter overflow ISR source
-
ECAP_ISR_SOURCE_COUNTER_PERIOD
0x40U¶ Counter equals period ISR source
-
ECAP_ISR_SOURCE_COUNTER_COMPARE
0x80U¶ Counter equals compare ISR source
Enums
-
enum
ECAP_EmulationMode
¶ Values that can be passed to ECAP_setEmulationMode() as the mode parameter.
Values:
-
enumerator
ECAP_EMULATION_STOP
= 0x0U¶ TSCTR is stopped on emulation suspension.
-
enumerator
ECAP_EMULATION_RUN_TO_ZERO
= 0x1U¶ TSCTR runs until 0 before stopping on emulation suspension.
-
enumerator
ECAP_EMULATION_FREE_RUN
= 0x2U¶ TSCTR is not affected by emulation suspension.
-
enumerator
-
enum
ECAP_CaptureMode
¶ Values that can be passed to ECAP_setCaptureMode() as the mode parameter.
Values:
-
enumerator
ECAP_CONTINUOUS_CAPTURE_MODE
= 0U¶ eCAP operates in continuous capture mode
-
enumerator
ECAP_ONE_SHOT_CAPTURE_MODE
= 1U¶ eCAP operates in one shot capture mode
-
enumerator
-
enum
ECAP_Events
¶ Values that can be passed to ECAP_setEventPolarity(),ECAP_setCaptureMode(), ECAP_enableCounterResetOnEvent(),ECAP_disableCounterResetOnEvent(), ECAP_getEventTimeStamp(),ECAP_setDMASource() as the event parameter.
Values:
-
enumerator
ECAP_EVENT_1
= 0U¶ eCAP event 1
-
enumerator
ECAP_EVENT_2
= 1U¶ eCAP event 2
-
enumerator
ECAP_EVENT_3
= 2U¶ eCAP event 3
-
enumerator
ECAP_EVENT_4
= 3U¶ eCAP event 4
-
enumerator
-
enum
ECAP_SyncOutMode
¶ Values that can be passed to ECAP_setSyncOutMode() as the mode parameter.
Values:
-
enumerator
ECAP_SYNC_OUT_SYNCI
= 0x00¶ sync out on the sync in signal and software force
-
enumerator
ECAP_SYNC_OUT_COUNTER_PRD
= 0x40¶ sync out on counter equals period
-
enumerator
ECAP_SYNC_OUT_DISABLED
= 0x80¶ Disable sync out signal.
-
enumerator
-
enum
ECAP_APWMPolarity
¶ Values that can be passed to ECAP_setAPWMPolarity() as the polarity parameter.
Values:
-
enumerator
ECAP_APWM_ACTIVE_HIGH
= 0x000¶ APWM is active high.
-
enumerator
ECAP_APWM_ACTIVE_LOW
= 0x400¶ APWM is active low.
-
enumerator
-
enum
ECAP_EventPolarity
¶ Values that can be passed to ECAP_setEventPolarity() as the polarity parameter.
Values:
-
enumerator
ECAP_EVNT_RISING_EDGE
= 0U¶ Rising edge polarity.
-
enumerator
ECAP_EVNT_FALLING_EDGE
= 1U¶ Falling edge polarity.
-
enumerator
-
enum
ECAP_InputCaptureSignals
¶ Values that can be passed to ECAP_selectECAPInput() as the input parameter.
Values:
-
enumerator
ECAP_INPUT_INPUTXBAR1
= 0¶ GPIO Input Crossbar output signal-1.
-
enumerator
ECAP_INPUT_INPUTXBAR2
= 1¶ GPIO Input Crossbar output signal-2.
-
enumerator
ECAP_INPUT_INPUTXBAR3
= 2¶ GPIO Input Crossbar output signal-3.
-
enumerator
ECAP_INPUT_INPUTXBAR4
= 3¶ GPIO Input Crossbar output signal-4.
-
enumerator
ECAP_INPUT_INPUTXBAR5
= 4¶ GPIO Input Crossbar output signal-5.
-
enumerator
ECAP_INPUT_INPUTXBAR6
= 5¶ GPIO Input Crossbar output signal-6.
-
enumerator
ECAP_INPUT_INPUTXBAR7
= 6¶ GPIO Input Crossbar output signal-7.
-
enumerator
ECAP_INPUT_INPUTXBAR8
= 7¶ GPIO Input Crossbar output signal-8.
-
enumerator
ECAP_INPUT_INPUTXBAR9
= 8¶ GPIO Input Crossbar output signal-9.
-
enumerator
ECAP_INPUT_INPUTXBAR10
= 9¶ GPIO Input Crossbar output signal-10.
-
enumerator
ECAP_INPUT_INPUTXBAR11
= 10¶ GPIO Input Crossbar output signal-11.
-
enumerator
ECAP_INPUT_INPUTXBAR12
= 11¶ GPIO Input Crossbar output signal-12.
-
enumerator
ECAP_INPUT_INPUTXBAR13
= 12¶ GPIO Input Crossbar output signal-13.
-
enumerator
ECAP_INPUT_INPUTXBAR14
= 13¶ GPIO Input Crossbar output signal-14.
-
enumerator
ECAP_INPUT_INPUTXBAR15
= 14¶ GPIO Input Crossbar output signal-15.
-
enumerator
ECAP_INPUT_INPUTXBAR16
= 15¶ GPIO Input Crossbar output signal-16.
-
enumerator
ECAP_INPUT_ECAP1_CLB1_CLBOUT14
= 16¶ CLB1 CLBOUT14 input for ECAP1 instance.
-
enumerator
ECAP_INPUT_ECAP2_CLB2_CLBOUT14
= 16¶ CLB2 CLBOUT14 input for ECAP2 instance.
-
enumerator
ECAP_INPUT_ECAP3_CLB1_CLBOUT14
= 16¶ CLB1 CLBOUT14 input for ECAP3 instance.
-
enumerator
ECAP_INPUT_ECAP1_CLB1_CLBOUT15
= 17¶ CLB1 CLBOUT15 input for ECAP1 instance.
-
enumerator
ECAP_INPUT_ECAP2_CLB2_CLBOUT15
= 17¶ CLB2 CLBOUT15 input for ECAP2 instance.
-
enumerator
ECAP_INPUT_ECAP3_CLB1_CLBOUT15
= 17¶ CLB1 CLBOUT15 input for ECAP3 instance.
-
enumerator
ECAP_INPUT_ECAP1_CLB2_CLBOUT14
= 18¶ CLB2 CLBOUT14 input for ECAP1 instance.
-
enumerator
ECAP_INPUT_ECAP2_CLB1_CLBOUT14
= 18¶ CLB1 CLBOUT14 input for ECAP2 instance.
-
enumerator
ECAP_INPUT_ECAP3_CLB2_CLBOUT14
= 18¶ CLB2 CLBOUT14 input for ECAP3 instance.
-
enumerator
ECAP_INPUT_ECAP1_CLB2_CLBOUT15
= 19¶ CLB2 CLBOUT15 input for ECAP1 instance.
-
enumerator
ECAP_INPUT_ECAP2_CLB1_CLBOUT15
= 19¶ CLB1 CLBOUT15 input for ECAP2 instance.
-
enumerator
ECAP_INPUT_ECAP3_CLB2_CLBOUT15
= 19¶ CLB2 CLBOUT15 input for ECAP3 instance.
-
enumerator
ECAP_INPUT_CANA_INT0
= 20¶ CANA INT0 Input.
-
enumerator
ECAP_INPUT_OUTPUTXBAR1
= 24¶ Output Xbar Output-1.
-
enumerator
ECAP_INPUT_OUTPUTXBAR2
= 25¶ Output Xbar Output-2.
-
enumerator
ECAP_INPUT_OUTPUTXBAR3
= 26¶ Output Xbar Output-3.
-
enumerator
ECAP_INPUT_OUTPUTXBAR4
= 27¶ Output Xbar Output-4.
-
enumerator
ECAP_INPUT_OUTPUTXBAR5
= 28¶ Output Xbar Output-5.
-
enumerator
ECAP_INPUT_OUTPUTXBAR6
= 29¶ Output Xbar Output-6.
-
enumerator
ECAP_INPUT_OUTPUTXBAR7
= 30¶ Output Xbar Output-7.
-
enumerator
ECAP_INPUT_OUTPUTXBAR8
= 31¶ Output Xbar Output-8.
-
enumerator
ECAP_INPUT_ADC_C_EVENT4
= 36¶ ADCC Event4.
-
enumerator
ECAP_INPUT_ADC_C_EVENT3
= 37¶ ADCC Event3.
-
enumerator
ECAP_INPUT_ADC_C_EVENT2
= 38¶ ADCC Event2.
-
enumerator
ECAP_INPUT_ADC_C_EVENT1
= 39¶ ADCC Event1.
-
enumerator
ECAP_INPUT_ADC_A_EVENT4
= 44¶ ADCA Event4.
-
enumerator
ECAP_INPUT_ADC_A_EVENT3
= 45¶ ADCA Event3.
-
enumerator
ECAP_INPUT_ADC_A_EVENT2
= 46¶ ADCA Event2.
-
enumerator
ECAP_INPUT_ADC_A_EVENT1
= 47¶ ADCA Event1.
-
enumerator
ECAP_INPUT_FSIA_RX_MSR_LINE
= 48¶ FSIA Rx MSR Line.
-
enumerator
ECAP_INPUT_FSIA_RX_MSR_LINE_RISE
= 49¶ FSIA Rx MSR Line Rise.
-
enumerator
ECAP_INPUT_FSIA_RX_MSR_LINE_FALL
= 50¶ FSIA Rx MSR Line Fall.
-
enumerator
ECAP_INPUT_CMPSS1_CTRIP_LOW
= 96¶ Compare Subsystem-1 Low Trip.
-
enumerator
ECAP_INPUT_CMPSS2_CTRIP_LOW
= 97¶ Compare Subsystem-2 Low Trip.
-
enumerator
ECAP_INPUT_CMPSS3_CTRIP_LOW
= 98¶ Compare Subsystem-3 Low Trip.
-
enumerator
ECAP_INPUT_CMPSS4_CTRIP_LOW
= 99¶ Compare Subsystem-4 Low Trip.
-
enumerator
ECAP_INPUT_CMPSS1_CTRIP_HIGH
= 108¶ Compare Subsystem-1 High Trip.
-
enumerator
ECAP_INPUT_CMPSS2_CTRIP_HIGH
= 109¶ Compare Subsystem-2 High Trip.
-
enumerator
ECAP_INPUT_CMPSS3_CTRIP_HIGH
= 110¶ Compare Subsystem-3 High Trip.
-
enumerator
ECAP_INPUT_CMPSS4_CTRIP_HIGH
= 111¶ Compare Subsystem-4 High Trip.
-
enumerator
ECAP_INPUT_GPIO8
= 115¶ GPIO8.
-
enumerator
ECAP_INPUT_GPIO9
= 116¶ GPIO9.
-
enumerator
ECAP_INPUT_GPIO22
= 117¶ GPIO22.
-
enumerator
ECAP_INPUT_GPIO23
= 118¶ GPIO23.
-
enumerator
ECAP_INPUT_CMPSS1_CTRIP_HIGH_OR_LOW
= 120¶ Compare Subsystem-1 High Trip or Low Trip.
-
enumerator
ECAP_INPUT_CMPSS2_CTRIP_HIGH_OR_LOW
= 121¶ Compare Subsystem-2 High Trip or Low Trip.
-
enumerator
ECAP_INPUT_CMPSS3_CTRIP_HIGH_OR_LOW
= 122¶ Compare Subsystem-3 High Trip or Low Trip.
-
enumerator
ECAP_INPUT_CMPSS4_CTRIP_HIGH_OR_LOW
= 123¶ Compare Subsystem-4 High Trip or Low Trip.
-
enumerator
ECAP_INPUT_ECAP1_GPTRIP7
= 127¶ GPTRIP7 input for instance ECAP1.
-
enumerator
ECAP_INPUT_ECAP2_GPTRIP8
= 127¶ GPTRIP8 input for instance ECAP2.
-
enumerator
ECAP_INPUT_ECAP3_GPTRIP9
= 127¶ GPTRIP9 input for instance ECAP3.
-
enumerator
-
enum
ECAP_SyncInPulseSource
¶ Values that can be passed to ECAP_setSyncInPulseSource() as the mode parameter.
Values:
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_DISABLE
= 0x0¶ Disable Sync-in.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM1
= 0x1¶ Sync-in source is EPWM1 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM2
= 0x2¶ Sync-in source is EPWM2 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM3
= 0x3¶ Sync-in source is EPWM3 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM4
= 0x4¶ Sync-in source is EPWM4 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM5
= 0x5¶ Sync-in source is EPWM5 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM6
= 0x6¶ Sync-in source is EPWM6 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM7
= 0x7¶ Sync-in source is EPWM7 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP1
= 0x11¶ Sync-in source is ECAP1 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP2
= 0x12¶ Sync-in source is ECAP2 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP3
= 0x13¶ Sync-in source is ECAP3 sync-out signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_INPUTXBAR_OUT5
= 0x18¶ Sync-in source is Input XBAR out5 signal.
-
enumerator
ECAP_SYNC_IN_PULSE_SRC_INPUTXBAR_OUT6
= 0x19¶ Sync-in source is Input XBAR out6 signal.
-
enumerator
Functions
-
void
ECAP_setEventPrescaler
(uint32_t base, uint16_t preScalerValue)¶ Sets the input prescaler.
This function divides the ECAP input scaler. The pre scale value is doubled inside the module. For example a preScalerValue of 5 will divide the scaler by 10. Use a value of 1 to divide the pre scaler by 1. The value of preScalerValue should be less than
ECAP_MAX_PRESCALER_VALUE.- Parameters
base
: is the base address of the ECAP module.preScalerValue
: is the pre scaler value for ECAP input
- Return
None.
-
void
ECAP_setEventPolarity
(uint32_t base, ECAP_Events event, ECAP_EventPolarity polarity)¶ Sets the Capture event polarity.
This function sets the polarity of a given event. The value of event is between
ECAP_EVENT_1 and ECAP_EVENT_4 inclusive corresponding to the four available events.For each event the polarity value determines the edge on which the capture is activated. For a rising edge use a polarity value of ECAP_EVNT_RISING_EDGE and for a falling edge use a polarity of ECAP_EVNT_FALLING_EDGE.- Parameters
base
: is the base address of the ECAP module.event
: is the event number.polarity
: is the polarity of the event.
- Return
None.
-
void
ECAP_setCaptureMode
(uint32_t base, ECAP_CaptureMode mode, ECAP_Events event)¶ Sets the capture mode.
This function sets the eCAP module to a continuous or one-shot mode. The value of mode should be either
ECAP_CONTINUOUS_CAPTURE_MODE or ECAP_ONE_SHOT_CAPTURE_MODE corresponding to continuous or one-shot mode respectively.- Parameters
base
: is the base address of the ECAP module.mode
: is the capture mode.event
: is the event number at which the counter stops or wraps.
The value of event determines the event number at which the counter stops (in one-shot mode) or the counter wraps (in continuous mode). The value of event should be between ECAP_EVENT_1 and ECAP_EVENT_4 corresponding to the valid event numbers.
- Return
None.
-
void
ECAP_reArm
(uint32_t base)¶ Re-arms the eCAP module.
This function re-arms the eCAP module.
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_enableInterrupt
(uint32_t base, uint16_t intFlags)¶ Enables interrupt source.
This function sets and enables eCAP interrupt source. The following are valid interrupt sources.
ECAP_ISR_SOURCE_CAPTURE_EVENT_1 - Event 1 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_2 - Event 2 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_3 - Event 3 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_4 - Event 4 generates interrupt
ECAP_ISR_SOURCE_COUNTER_OVERFLOW - Counter overflow generates interrupt
ECAP_ISR_SOURCE_COUNTER_PERIOD - Counter equal period generates interrupt
ECAP_ISR_SOURCE_COUNTER_COMPARE - Counter equal compare generates interrupt
- Parameters
base
: is the base address of the ECAP module.intFlags
: is the interrupt source to be enabled.
- Return
None.
-
void
ECAP_disableInterrupt
(uint32_t base, uint16_t intFlags)¶ Disables interrupt source.
This function clears and disables eCAP interrupt source. The following are valid interrupt sources.
ECAP_ISR_SOURCE_CAPTURE_EVENT_1 - Event 1 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_2 - Event 2 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_3 - Event 3 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_4 - Event 4 generates interrupt
ECAP_ISR_SOURCE_COUNTER_OVERFLOW - Counter overflow generates interrupt
ECAP_ISR_SOURCE_COUNTER_PERIOD - Counter equal period generates interrupt
ECAP_ISR_SOURCE_COUNTER_COMPARE - Counter equal compare generates interrupt
- Parameters
base
: is the base address of the ECAP module.intFlags
: is the interrupt source to be disabled.
- Return
None.
-
uint16_t
ECAP_getInterruptSource
(uint32_t base)¶ Returns the interrupt flag.
This function returns the eCAP interrupt flag. The following are valid interrupt sources corresponding to the eCAP interrupt flag.
- Parameters
base
: is the base address of the ECAP module.
- Return
Returns the eCAP interrupt that has occurred. The following are valid return values.
ECAP_ISR_SOURCE_CAPTURE_EVENT_1 - Event 1 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_2 - Event 2 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_3 - Event 3 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_4 - Event 4 generates interrupt
ECAP_ISR_SOURCE_COUNTER_OVERFLOW - Counter overflow generates interrupt
ECAP_ISR_SOURCE_COUNTER_PERIOD - Counter equal period generates interrupt
ECAP_ISR_SOURCE_COUNTER_COMPARE - Counter equal compare generates interrupt
- Note
- User can check if a combination of various interrupts have occurred by ORing the above return values.
-
bool
ECAP_getGlobalInterruptStatus
(uint32_t base)¶ Returns the Global interrupt flag.
This function returns the eCAP Global interrupt flag.
- Parameters
base
: is the base address of the ECAP module.
- Return
Returns true if there is a global eCAP interrupt, false otherwise.
-
void
ECAP_clearInterrupt
(uint32_t base, uint16_t intFlags)¶ Clears interrupt flag.
This function clears eCAP interrupt flags. The following are valid interrupt sources.
ECAP_ISR_SOURCE_CAPTURE_EVENT_1 - Event 1 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_2 - Event 2 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_3 - Event 3 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_4 - Event 4 generates interrupt
ECAP_ISR_SOURCE_COUNTER_OVERFLOW - Counter overflow generates interrupt
ECAP_ISR_SOURCE_COUNTER_PERIOD - Counter equal period generates interrupt
ECAP_ISR_SOURCE_COUNTER_COMPARE - Counter equal compare generates interrupt
- Parameters
base
: is the base address of the ECAP module.intFlags
: is the interrupt source.
- Return
None.
-
void
ECAP_clearGlobalInterrupt
(uint32_t base)¶ Clears global interrupt flag
This function clears the global interrupt bit.
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_forceInterrupt
(uint32_t base, uint16_t intFlags)¶ Forces interrupt source.
This function forces and enables eCAP interrupt source. The following are valid interrupt sources.
ECAP_ISR_SOURCE_CAPTURE_EVENT_1 - Event 1 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_2 - Event 2 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_3 - Event 3 generates interrupt
ECAP_ISR_SOURCE_CAPTURE_EVENT_4 - Event 4 generates interrupt
ECAP_ISR_SOURCE_COUNTER_OVERFLOW - Counter overflow generates interrupt
ECAP_ISR_SOURCE_COUNTER_PERIOD - Counter equal period generates interrupt
ECAP_ISR_SOURCE_COUNTER_COMPARE - Counter equal compare generates interrupt
- Parameters
base
: is the base address of the ECAP module.intFlags
: is the interrupt source.
- Return
None.
-
void
ECAP_enableCaptureMode
(uint32_t base)¶ Sets eCAP in Capture mode.
This function sets the eCAP module to operate in Capture mode.
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_enableAPWMMode
(uint32_t base)¶ Sets eCAP in APWM mode.
This function sets the eCAP module to operate in APWM mode.
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_enableCounterResetOnEvent
(uint32_t base, ECAP_Events event)¶ Enables counter reset on an event.
This function enables the base timer, TSCTR, to be reset on capture event provided by the variable event. Valid inputs for event are
ECAP_EVENT_1 to ECAP_EVENT_4.- Parameters
base
: is the base address of the ECAP module.event
: is the event number the time base gets reset.
- Return
None.
-
void
ECAP_disableCounterResetOnEvent
(uint32_t base, ECAP_Events event)¶ Disables counter reset on events.
This function disables the base timer, TSCTR, from being reset on capture event provided by the variable event. Valid inputs for event are
ECAP_EVENT_1 to ECAP_EVENT_4.- Parameters
base
: is the base address of the ECAP module.event
: is the event number the time base gets reset.
- Return
None.
-
void
ECAP_enableTimeStampCapture
(uint32_t base)¶ Enables time stamp capture.
This function enables time stamp count to be captured
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_disableTimeStampCapture
(uint32_t base)¶ Disables time stamp capture.
This function disables time stamp count to be captured
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_setPhaseShiftCount
(uint32_t base, uint32_t shiftCount)¶ Sets a phase shift value count.
This function writes a phase shift value to be loaded into the main time stamp counter.
- Parameters
base
: is the base address of the ECAP module.shiftCount
: is the phase shift value.
- Return
None.
-
void
ECAP_setSyncInPulseSource
(uint32_t base, ECAP_SyncInPulseSource source)¶ Set up the source for sync-in pulse.
This function set the sync out pulse mode. Valid values for mode are:
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_EPWM1-16 - sync-in pulse source can be any of the EPWM1-16 sync-out signal
ECAP_SYNC_IN_PULSE_SRC_SYNCOUT_ECAP1-7 - sync-in pulse source can be selected as any of the ECAP1-16 sync-out signal
ECAP_SYNC_IN_PULSE_SRC_INPUTXBAR_OUT5-6 - sync-in pulse source can be selected as any of the Input xbar out5-6 signal
ECAP_SYNC_IN_PULSE_SRC_ETHERCAT_SYNC0-1 - sync-in pulse source can be selected as any of the Ethercat sync0-1 signal
ECAP_SYNC_IN_PULSE_SRC_DISABLE - sync-in pulse is disabled for the ECAP module
- Parameters
base
: is the base address of the ECAP module.source
: is the sync-in pulse source.
- Return
None.
-
void
ECAP_enableLoadCounter
(uint32_t base)¶ Enable counter loading with phase shift value.
This function enables loading of the counter with the value present in the phase shift counter as defined by the
ECAP_setPhaseShiftCount() function.- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_disableLoadCounter
(uint32_t base)¶ Disable counter loading with phase shift value.
This function disables loading of the counter with the value present in the phase shift counter as defined by the
ECAP_setPhaseShiftCount() function.- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_loadCounter
(uint32_t base)¶ Load time stamp counter
This function forces the value in the phase shift counter register to be loaded into Time stamp counter register. Make sure to enable loading of Time stamp counter by calling
ECAP_enableLoadCounter() function before calling this function.- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_setSyncOutMode
(uint32_t base, ECAP_SyncOutMode mode)¶ Configures Sync out signal mode.
This function sets the sync out mode. Valid parameters for mode are:
ECAP_SYNC_OUT_SYNCI - Trigger sync out on sync-in event.
ECAP_SYNC_OUT_COUNTER_PRD - Trigger sync out when counter equals period.
ECAP_SYNC_OUT_DISABLED - Disable sync out.
- Parameters
base
: is the base address of the ECAP module.mode
: is the sync out mode.
- Return
None.
-
void
ECAP_stopCounter
(uint32_t base)¶ Stops Time stamp counter.
This function stops the time stamp counter.
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_startCounter
(uint32_t base)¶ Starts Time stamp counter.
This function starts the time stamp counter.
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_setAPWMPolarity
(uint32_t base, ECAP_APWMPolarity polarity)¶ Set eCAP APWM polarity.
This function sets the polarity of the eCAP in APWM mode. Valid inputs for polarity are:
ECAP_APWM_ACTIVE_HIGH - For active high.
ECAP_APWM_ACTIVE_LOW - For active low.
- Parameters
base
: is the base address of the ECAP module.polarity
: is the polarity of APWM
- Return
None.
-
void
ECAP_setAPWMPeriod
(uint32_t base, uint32_t periodCount)¶ Set eCAP APWM period.
This function sets the period count of the APWM waveform. periodCount takes the actual count which is written to the register. The user is responsible for converting the desired frequency or time into the period count.
- Parameters
base
: is the base address of the ECAP module.periodCount
: is the period count for APWM.
- Return
None.
-
void
ECAP_setAPWMCompare
(uint32_t base, uint32_t compareCount)¶ Set eCAP APWM on or off time count.
This function sets the on or off time count of the APWM waveform depending on the polarity of the output. If the output , as set by
ECAP_setAPWMPolarity(), is active high then compareCount determines the on time. If the output is active low then compareCount determines the off time. compareCount takes the actual count which is written to the register. The user is responsible for converting the desired frequency or time into the appropriate count value.- Parameters
base
: is the base address of the ECAP module.compareCount
: is the on or off count for APWM.
- Return
None.
-
void
ECAP_setAPWMShadowPeriod
(uint32_t base, uint32_t periodCount)¶ Load eCAP APWM shadow period.
This function sets the shadow period count of the APWM waveform. periodCount takes the actual count which is written to the register. The user is responsible for converting the desired frequency or time into the period count.
- Parameters
base
: is the base address of the ECAP module.periodCount
: is the shadow period count for APWM.
- Return
None.
-
void
ECAP_setAPWMShadowCompare
(uint32_t base, uint32_t compareCount)¶ Set eCAP APWM shadow on or off time count.
This function sets the shadow on or off time count of the APWM waveform depending on the polarity of the output. If the output , as set by
ECAP_setAPWMPolarity() , is active high then compareCount determines the on time. If the output is active low then compareCount determines the off time. compareCount takes the actual count which is written to the register. The user is responsible for converting the desired frequency or time into the appropriate count value.- Parameters
base
: is the base address of the ECAP module.compareCount
: is the on or off count for APWM.
- Return
None.
-
uint32_t
ECAP_getTimeBaseCounter
(uint32_t base)¶ Returns the time base counter value.
This function returns the time base counter value.
- Parameters
base
: is the base address of the ECAP module.
- Return
Returns the time base counter value.
-
uint32_t
ECAP_getEventTimeStamp
(uint32_t base, ECAP_Events event)¶ Returns event time stamp.
This function returns the current time stamp count of the given event. Valid values for event are
ECAP_EVENT_1 to ECAP_EVENT_4.- Parameters
base
: is the base address of the ECAP module.event
: is the event number.
- Return
Event time stamp value or 0 if event is invalid.
-
void
ECAP_selectECAPInput
(uint32_t base, ECAP_InputCaptureSignals input)¶ Select eCAP input.
This function selects the eCAP input signal.
- Parameters
base
: is the base address of the ECAP module.input
: is the eCAP input signal.
Please refer to the ECAP_InputCaptureSignals Enum for the valid values to be passed to input parameter.
- Return
None.
-
void
ECAP_resetCounters
(uint32_t base)¶ Resets eCAP counters and flags.
This function resets the main counter (TSCTR register), event filter, modulo counter, capture events and counter overflow flags
- Parameters
base
: is the base address of the ECAP module.
- Return
None.
-
void
ECAP_setDMASource
(uint32_t base, ECAP_Events event)¶ Sets the eCAP DMA source.
This function sets the eCAP event source for the DMA trigger. Valid values for
event are ECAP_EVENT_1 to ECAP_EVENT_4.- Parameters
base
: is the base address of the ECAP module.event
: is the eCAP event for the DMA
- Return
None.
-
ECAP_Events
ECAP_getModuloCounterStatus
(uint32_t base)¶ Return the Modulo counter status.
This function returns the modulo counter status, indicating which register gets loaded on the next capture event.
- Parameters
base
: is the base address of the ECAP module.
- Return
Returns an ECAP_EVENT_n value indicating that CAPn is the register to be loaded on the next event.
-
void
ECAP_setEmulationMode
(uint32_t base, ECAP_EmulationMode mode)¶ Configures emulation mode.
This function configures the eCAP counter, TSCTR, to the desired emulation mode when emulation suspension occurs. Valid inputs for mode are:
ECAP_EMULATION_STOP - Counter is stopped immediately.
ECAP_EMULATION_RUN_TO_ZERO - Counter runs till it reaches 0.
ECAP_EMULATION_FREE_RUN - Counter is not affected.
- Parameters
base
: is the base address of the ECAP module.mode
: is the emulation mode.
- Return
None.
-
The code for this module is contained in driverlib/ecap.c, with driverlib/ecap.h containing the API declarations for use by applications.