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.

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

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

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.

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.

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.

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.

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.

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.