88 #ifndef FOC_HAL_INTERFACE_H 89 #define FOC_HAL_INTERFACE_H 96 #include "ti_msp_dl_config.h" 99 #include <ti/iqmath/include/IQmathLib.h> 115 #define MIN_FLOAT_VOLTAGE (0.1) 118 #define MAX_FLOAT_VOLTAGE (0.9) 123 #define HAL_MCU_CLK_SPEED_HZ (80000000) 128 #define HAL_CYCLES_TO_1_US_DELAY (HAL_MCU_CLK_SPEED_HZ/1000000) 133 #define HAL_GPIO_HIGH (1) 138 #define HAL_GPIO_LOW (0) 218 int32_t blankingTime);
226 const int32_t propagationDelay);
331 DL_TIMER_FORCE_CMPL_OUT outComp, DL_TIMER_CC_INDEX ccIndex)
333 volatile uint32_t *pReg;
335 pReg = &gptimer->COUNTERREGS.CCACT_01[0];
336 pReg += (uint32_t) ccIndex;
338 DL_Common_updateReg(pReg, ((uint32_t) out | ((uint32_t) outComp)),
339 (GPTIMER_CCACT_01_SWFRCACT_CMPL_MASK |
340 GPTIMER_CCACT_01_SWFRCACT_MASK));
348 #ifdef FG_OUTPUT_ENABLE 349 DL_GPIO_togglePins(FOC_GPIO_OUT_FG_TOGGLE_PORT,FOC_GPIO_OUT_FG_TOGGLE_PIN);
359 DL_TIMER_FORCE_CMPL_OUT_LOW, CCIdx);
369 DL_TIMER_FORCE_CMPL_OUT_HIGH, CCIdx);
379 DL_TIMER_FORCE_CMPL_OUT_DISABLED, CCIdx);
409 GPTIMER_Regs *gptimer, uint32_t value, DL_TIMER_CC_INDEX ccIndex)
411 volatile uint32_t *pReg;
413 pReg = &gptimer->COUNTERREGS.CC_01[0];
414 pReg += (uint32_t) ccIndex;
void HAL_EnableLowSideBrake(void)
Turns all low side PWM outputs high.
Definition: focHALInterface.c:310
void HAL_pwmCountZero(void)
Set PWMs to zero.
Definition: focHALInterface.c:818
VOLTAGE_VECTOR
VOLTAGE_VECTOR.
Definition: focHALInterface.h:141
Measure motor inputs structure.
Definition: measure.h:376
Definition: focHALInterface.h:150
void HAL_SelectShuntMeasure(HAL_MEASURE_MOTOR_INPUTS_T *pMotorInputs)
Select two shunt if duty saturates in any phases.
Definition: focHALInterface.c:228
void HAL_DisableINT(void)
Disables all the interrupts.
Definition: focHALInterface.c:838
void HAL_SetSystemFrequency(const int32_t systemPeriod)
Set System timer frequency.
Definition: focHALInterface.c:772
#define FOC_PWMA0_INST
PWM instance.
Definition: focPeriphInit.h:136
HAL interface for FOC Module.
__STATIC_INLINE void HAL_PWMForceLow(DL_TIMER_CC_INDEX CCIdx)
Force the PWM out to low and complement out to high.
Definition: focHALInterface.h:366
void HAL_clearFaultStatus(void)
Clears the fault status in pwm.
Definition: focHALInterface.c:803
void HAL_SetPhaseCurrentChannels(HAL_MEASURE_MOTOR_INPUTS_T *pMotorInputs)
Set Phase current channels.
Definition: focHALInterface.c:108
Definition: focHALInterface.h:144
__STATIC_INLINE void HAL_PWMAllForceLow()
Forcing low All PWM out and complement out.
Definition: focHALInterface.h:395
ADC_SAMPLING_RATIO_TYPES
ADC sampling ratio types.
Definition: measure.h:153
void HAL_delayMicroSeconds(uint32_t num_us)
Blocks for the specified delay time.
Definition: hal.h:180
Motor Control Library Module.
void HAL_ReadMotorInputs(HAL_MEASURE_MOTOR_INPUTS_T *pMotorInputs)
Read Motor inputs.
Definition: focHALInterface.c:92
Definition: focHALInterface.h:152
void HAL_UpdateDuty(const MC_ABC_T *pABC, const int32_t FullDuty, MC_SECTOR_TYPES voltageSector, int32_t minDelta, int32_t blankingTime)
Set PWM dutycycles.
Definition: focHALInterface.c:692
Library of IQMath operations.
void HAL_ReadCurrents(HAL_MEASURE_MOTOR_INPUTS_T *pMotorInputs)
Read phase currents.
Definition: focHALInterface.c:128
ABC 3 phase structure.
Definition: mcLib.h:128
Definition: focHALInterface.h:154
HAL interface for FOC Module.
MC_SECTOR_TYPES
Sector types.
Definition: mcLib.h:183
uint32_t HAL_getRawFaultStatus(void)
Gets the fault status.
Definition: focHALInterface.c:797
void HAL_ClearNFault(void)
Sets Nfault pin low.
Definition: focHALInterface.c:777
__STATIC_INLINE void HAL_TimerOverRideCCPOut(GPTIMER_Regs *gptimer, DL_TIMER_FORCE_OUT out, DL_TIMER_FORCE_CMPL_OUT outComp, DL_TIMER_CC_INDEX ccIndex)
Overrides the timer CCP output.
Definition: focHALInterface.h:330
__STATIC_INLINE void HAL_FGToggle(void)
Toggle the GPIO to high and low for every sector change.
Definition: focHALInterface.h:346
void HAL_SetNFault(void)
Sets Nfault pin high.
Definition: focHALInterface.c:784
_Bool HAL_getBrakePinStatus(void)
Get the status of the brake pin.
Definition: focHALInterface.c:857
void HAL_resetPOR(void)
Triggers a POR reset.
Definition: focHALInterface.c:843
void HAL_EnablePWM(void)
Enable PWMs.
Definition: focHALInterface.c:264
uint16_t HAL_Is_SingleShunt(void)
Returns Shunt Config.
Definition: focHALInterface.c:865
uint32_t HAL_getRawHVdieFaultStatus(void)
Gets the latched fault status.
Definition: focHALInterface.c:791
__STATIC_INLINE void HAL_PWMAllForceDisable()
Disable forcing All PWM out and complement out.
Definition: focHALInterface.h:385
void HAL_setGateDriveOffsetCalib(void)
Starts gate driver offset calibration.
Definition: focHALInterface.c:808
__STATIC_INLINE void HAL_setCaptureCompareValue(GPTIMER_Regs *gptimer, uint32_t value, DL_TIMER_CC_INDEX ccIndex)
Set the Capture Compare Value for Timer.
Definition: focHALInterface.h:408
Definition: focHALInterface.h:146
void HAL_SetADCSamplingFrequency(const ADC_SAMPLING_RATIO_TYPES samplingRatio)
Set ADC sampling frequency.
Definition: focHALInterface.c:755
Definition: focHALInterface.h:156
void HAL_setADCIdxChannel(ADC12_Regs *adc12, DL_ADC12_MEM_IDX idx, uint32_t chansel)
Set ADC channel to index.
Definition: focHALInterface.c:121
void HAL_DisablePWM(void)
Disable PWMs and all outputs are forced low.
Definition: focHALInterface.c:282
void HAL_SetPWMFrequency(const int32_t pwmPeriod, const int32_t propagationDelay)
Set PWM Frequency.
Definition: focHALInterface.c:706
Definition: focHALInterface.h:148
__STATIC_INLINE void HAL_PWMForceHigh(DL_TIMER_CC_INDEX CCIdx)
Force the PWM out to high and complement out to low.
Definition: focHALInterface.h:356
_Bool HAL_getDirPinStatus(void)
Get the status of the Direction pin.
Definition: focHALInterface.c:848
__STATIC_INLINE void HAL_PWMForceDisable(DL_TIMER_CC_INDEX CCIdx)
Disable forcing the PWM out and complement out.
Definition: focHALInterface.h:376
void HAL_resetGateDriveOffsetCalib(void)
Stops gate driver offset calibration.
Definition: focHALInterface.c:813