![Logo](ti_logo.svg) |
AM243x Motor Control SDK
09.02.00
|
|
Go to the documentation of this file.
85 #ifndef PRUICSS_PWM_H_
86 #define PRUICSS_PWM_H_
90 #include <drivers/pruicss.h>
91 #include <kernel/dpl/SystemP.h>
92 #include <drivers/hw_include/cslr.h>
93 #include <drivers/hw_include/hw_types.h>
112 #define PRUICSS_NUM_PWM_SETS (0x4U)
114 #define PRUICSS_PWM_SET0 (0x0U)
116 #define PRUICSS_PWM_SET1 (0x1U)
118 #define PRUICSS_PWM_SET2 (0x2U)
120 #define PRUICSS_PWM_SET3 (0x3U)
130 #define PRUICSS_NUM_OF_PWMINSTANCES_PER_PWM_SET (0x6U)
132 #define PRUICSS_PWM_SET_INSTANCE_A0 (0x0U)
134 #define PRUICSS_PWM_SET_INSTANCE_B0 (0x1U)
136 #define PRUICSS_PWM_SET_INSTANCE_A1 (0x2U)
138 #define PRUICSS_PWM_SET_INSTANCE_B1 (0x3U)
140 #define PRUICSS_PWM_SET_INSTANCE_A2 (0x4U)
142 #define PRUICSS_PWM_SET_INSTANCE_B2 (0x5U)
152 #define PRUICSS_NUM_PWM_STATES (0x3U)
154 #define PRUICSS_PWM_INTIAL_STATE (0x0U)
156 #define PRUICSS_PWM_ACTIVE_STATE (0x1U)
158 #define PRUICSS_PWM_TRIP_STATE (0x2U)
169 #define PRUICSS_NUM_PWM_OUTPUT_ACTIONS (0x3U)
171 #define PRUICSS_PWM_OUTPUT_TOGGLE (0x0U)
173 #define PRUICSS_PWM_OUTPUT_LOW (0x1U)
175 #define PRUICSS_PWM_OUTPUT_HIGH (0x2U)
186 #define PRUICSS_NUM_IEP_INSTANCES (0x2U)
188 #define PRUICSS_IEP_INST0 (0x0U)
190 #define PRUICSS_IEP_INST1 (0x1U)
197 #define PRUICSS_IEP_COUNT_REG_MAX (0xFFFFFFFFU)
206 #define PRUICSS_NUM_IEP_CMP_EVENTS (0x10U)
208 #define CMP_EVENT0 (0x0U)
210 #define CMP_EVENT1 (0x1U)
212 #define CMP_EVENT2 (0x2U)
214 #define CMP_EVENT3 (0x3U)
216 #define CMP_EVENT4 (0x4U)
218 #define CMP_EVENT5 (0x5U)
220 #define CMP_EVENT6 (0x6U)
222 #define CMP_EVENT7 (0x7U)
224 #define CMP_EVENT8 (0x8U)
226 #define CMP_EVENT9 (0x9U)
228 #define CMP_EVENT10 (0xAU)
230 #define CMP_EVENT11 (0xBU)
232 #define CMP_EVENT12 (0xCU)
234 #define CMP_EVENT13 (0xDU)
236 #define CMP_EVENT14 (0xEU)
238 #define CMP_EVENT15 (0xFU)
249 typedef struct PRUICSS_PWM_IEP_Attrs_s
287 typedef struct PRUICSS_PWM_Attrs_s
328 typedef struct PRUICSS_PWM_Config_s
342 #define PRUICSS_IEP_CMP_EVENTS_ENABLE_MAX_VALUE (0x0000FFFFU)
347 #define PRUICSS_PWM_DEBOUNCE_MAX_VALUE (0xFFU)
352 #define PRUICSS_PWM_TRIP_MASK_MAX_VALUE (0x000001FFU)
uint8_t enableAutoClearCompareStatus
Definition: pruicss_pwm.h:270
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA1(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of A1 signal for specified PWM set.
uint8_t enableIep0ResetOnEpwm0_Sync
Definition: pruicss_pwm.h:260
int32_t PRUICSS_PWM_setPwmTripMask(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint16_t maskValue)
This API updates TripMask Value for specified pwm set.
PRUICSS PWM Attributes.
Definition: pruicss_pwm.h:288
int32_t PRUICSS_PWM_configureIepCmp0ResetEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
This API sets enables/disables of IEP counter reset on compare 0 event in IEP module.
int32_t PRUICSS_PWM_config(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance, uint32_t dutyCycle, uint32_t riseEdgeDelay, uint32_t fallEdgeDelay)
If pwm signal is enabled, This function Configures or Updates pwm period & duty cycle in PRUICSS_PWM_...
uint32_t dutyCycle
Definition: pruicss_pwm.h:299
int32_t PRUICSS_PWM_setIepCounterUpper_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint32_t value)
This API writes Upper_32bit Value of IEP counter in IEP module.
int32_t PRUICSS_PWM_enableIEPResetOnEPWM0SyncOut(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
This API sets enables/disables of IEP counter reset on EPWM0 SYNC OUT event in IEP module.
uint8_t compareEvent
Definition: pruicss_pwm.h:320
int32_t PRUICSS_PWM_stateConfig(PRUICSS_PWM_Handle handle)
If pwm signal is enabled, This function Configures output state defined in PRUICSS_PWM_Handle.
uint8_t iepInstance
Definition: pruicss_pwm.h:318
int32_t PRUICSS_PWM_getPwmTripStatus(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API returns Trip status for specified pwm set.
int32_t PRUICSS_PWM_iepConfig(PRUICSS_PWM_Handle handle)
If pwm signal is enabled, This function Configures the Iep parameters defined in PRUICSS_PWM_Handle.
int32_t PRUICSS_PWM_signalEnable(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance)
This function Enables the specified pwm signal.
int32_t PRUICSS_PWM_getPwmTripMask(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint16_t *maskValuePtr)
Get trip mask Value for specified pwm set.
int32_t PRUICSS_PWM_clearPwmTripStatus(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API clears Trip status and makes state transition to Intial state as follows (Active->Intial) or...
int32_t PRUICSS_PWM_setPwmDebounceValue(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t value)
This API updates Debounce Value for specified pwm set.
float pruIcssIepClkPeriod
Definition: pruicss_pwm.h:254
int32_t PRUICSS_PWM_configurePwmCmp0TripResetEnable(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t enable)
This API enables/disables TripReset on Compare_0 Event for specified pwm set.
int32_t PRUICSS_PWM_setIepCompareEventLower_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t cmpEvent, uint32_t value)
This API writes Lower_32bit Value of compare event in IEP module.
int32_t PRUICSS_PWM_configureIepShadowModeEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
This API sets enables/disables of IEP shadow mode.
PRUICSS PWM Global configuration structure.
Definition: pruicss_pwm.h:329
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB2(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of B2 signal for specified PWM set.
PRUICSS PWM IEP Attributes.
Definition: pruicss_pwm.h:250
int32_t PRUICSS_PWM_changePwmSetToIntialState(PRUICSS_PWM_Handle handle, uint8_t pwmSetMask)
This function Changes pwmSet signals to intial state if pwmSet is enabled in pwmSetMask.
uint8_t iep0IncrementValue
Definition: pruicss_pwm.h:256
uint32_t pruIcssIepClkFrequency
Definition: pruicss_pwm.h:252
int32_t PRUICSS_PWM_enableIEPResetOnEPWM3SyncOut(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t enable)
This API sets enables/disables of IEP counter reset on EPWM3 SYNCOUT in IEP module.
uint32_t fallEdgeDelay
Definition: pruicss_pwm.h:301
uint8_t outputCfgActiveState
Definition: pruicss_pwm.h:307
int32_t PRUICSS_PWM_clearPwmPositionFeedbackErrorTrip(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API clears Software Position Feedback Error Trip by writing 0 to bit field for specified pwm set...
int32_t PRUICSS_PWM_generatePwmOverCurrentErrorTrip(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API generates Software Over current error trip by writing 1 to bit field for specified pwm set.
#define PRUICSS_NUM_OF_PWMINSTANCES_PER_PWM_SET
Definition: pruicss_pwm.h:130
uint8_t enable
Definition: pruicss_pwm.h:311
int32_t PRUICSS_PWM_clearPwmOverCurrentErrorTrip(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API clears Software Over current error trip by writing 0 to bit field for specified pwm set.
uint8_t outputCfgInitialState
Definition: pruicss_pwm.h:305
int32_t PRUICSS_PWM_stateInit(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t instance, uint8_t outputCfgInitialState, uint8_t outputCfgActiveState, uint8_t outputCfgTripState)
This function Intializes the pwm output configuration of pwm states from the parameters specified.
uint8_t outputCfgTripState
Definition: pruicss_pwm.h:309
uint8_t enableIep1SlaveMode
Definition: pruicss_pwm.h:268
PRUICSS_PWM_IEP_Attrs * iepAttrs
Definition: pruicss_pwm.h:334
int32_t PRUICSS_PWM_enableIEP1Slave(PRUICSS_PWM_Handle handle, uint8_t enable)
This function enables IEP1 counter follow IEP0 counter when Enabled IEP1 counter acts as slave IEP1 c...
int32_t PRUICSS_PWM_configurePwmEfficiencyModeEnable(PRUICSS_PWM_Handle handle, uint8_t enable)
This API enables Efficiency mode In Efficiency mode Pwm state machine will go from Idle to Active and...
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB0(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of B0 signal for specified PWM set.
uint8_t enableIEP0ShadowMode
Definition: pruicss_pwm.h:266
PRUICSS_PWM_Handle PRUICSS_PWM_open(uint32_t index, PRUICSS_Handle pruIcssHandle)
This function returns the handle for a PRUICSS PWM instance.
uint8_t enableIep0ResetOnEpwm3_Sync
Definition: pruicss_pwm.h:262
uint8_t enableIep0
Definition: pruicss_pwm.h:258
int32_t PRUICSS_PWM_configureIepCompareEnable(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint16_t value)
This API sets enables/disables compare events in IEP module.
int32_t PRUICSS_PWM_pruIcssPwmFrequencyInit(PRUICSS_PWM_Handle handle, uint32_t pruIcssPwmFrequency)
This function Intializes or updates pwm frequency to specified value in PRUICSS_PWM_Handle.
int32_t PRUICSS_PWM_setIepCounterLower_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint32_t value)
This API writes Lower_32bit Value of IEP counter in IEP module.
uint8_t enableIep0ResetOnCompare0
Definition: pruicss_pwm.h:264
int32_t PRUICSS_PWM_generatePwmPositionFeedbackErrorTrip(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API generates Software Position Feedback Error Trip by writing 1 to bit field for specified pwm ...
int32_t PRUICSS_PWM_getPwmTripTriggerCauseVector(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API returns Trip trigger cause vector for specified pwm set.
#define PRUICSS_NUM_PWM_SETS
Definition: pruicss_pwm.h:112
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalB1(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of B1 signal for specified PWM set.
int32_t PRUICSS_PWM_setIepCompareEventUpper_32bitValue(PRUICSS_PWM_Handle handle, uint8_t iepInstance, uint8_t cmpEvent, uint32_t value)
This API writes Upper_32bit Value of compare event in IEP module.
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA0(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of A0 signal for specified PWM set.
uint32_t pruIcssPwmFrequency
Definition: pruicss_pwm.h:272
int32_t PRUICSS_PWM_generatePwmTripReset(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API generates Software Trip Reset by writing 1 to bit field for specified pwm set.
struct PRUICSS_PWM_Config_s * PRUICSS_PWM_Handle
A handle that is returned from a PRUICSS_PWM_open() call. This handle is required for calling other P...
Definition: pruicss_pwm.h:103
PRUICSS_Handle pruIcssHandle
Definition: pruicss_pwm.h:330
int32_t PRUICSS_PWM_clearPwmTripResetStatus(PRUICSS_PWM_Handle handle, uint8_t pwmSet)
This API clears Software Trip Reset by writing 0 to bit field for specified pwm set.
int32_t PRUICSS_PWM_attrsInit(PRUICSS_PWM_Handle handle)
This function Intializes pwm attributes to default values & disables all pwm signals.
uint32_t riseEdgeDelay
Definition: pruicss_pwm.h:303
int32_t PRUICSS_PWM_actionOnOutputCfgPwmSignalA2(PRUICSS_PWM_Handle handle, uint8_t pwmSet, uint8_t state, uint8_t action)
This API updates output action for specified state of A2 signal for specified PWM set.