MSPM0G3519SensoredFOCMotorControlLibrary  1.0
Data Structures | Macros | Enumerations | Functions | Variables
faults.h File Reference

Detailed Description

faults Module


Overview


#include "stdint.h"
#include "stallDetect.h"
#include "load.h"
#include "focHALInterface.h"
#include "sourceVoltageLimit.h"
#include "main.h"
Include dependency graph for faults.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  FAULT_FLAGS_T
 Fault flags. More...
 
struct  FAULT_FLAGS_T::faultFlags
 faultFlags structure More...
 
struct  FAULT_SERVICE_T
 Fault Service Structure. More...
 

Macros

#define CONTROLLER_FAULT_REPORT_DEFAULT   0x7FFFF800
 Default Controller Fault Report Values.
 
#define CONTROLLER_FAULT_ACTION_DEFAULT   0x3BFF0000
 Default Controller Fault Action Values.
 
#define CONTROLLER_FAULT_ACTION_LATCHED_DEFAULT   0x03000000
 Default Controller Fault Latched Values.
 
#define HV_DIE_FAULT_INDEX   0x08000000
 HV_DIE_FAULT_INDEX Fault Bit.
 
#define BUS_CURRENT_LIMIT_INDEX   0x04000000
 BUS_CURRENT_LIMIT_INDEX Fault Bit.
 
#define ABN_SPEED_FAULT_INDEX   0x00800000
 ABN_SPEED_FAULT_INDEX Fault Bit.
 
#define ABN_HALL_INDEX_FAULT_INDEX   0x00400000
 ABN_HALL_INDEX_FAULT_INDEX Fault Bit.
 
#define NO_MOTOR_FAULT_INDEX   0x00200000
 NO_MOTOR_FAULT_INDEX Fault Bit.
 
#define MTR_LOCK_FAULT_INDEX   0x00F00000
 MTR_LOCK_FAULT_INDEX Fault Bit.
 
#define MTR_LOCK_FAULT_STATUS   0x00100000
 MTR_LOCK_FAULT_STATUS Fault Bit.
 
#define HW_LOCK_ILIMIT_FAULT_INDEX   0x00040000
 HW_LOCK_ILIMIT_FAULT_INDEX Fault Bit.
 
#define UNDER_VOLTAGE_FAULT_INDEX   0x00020000
 UNDER_VOLTAGE_FAULT_INDEX Fault Bit.
 
#define OVER_VOLTAGE_FAULT_INDEX   0x00010000
 OVER_VOLTAGE_FAULT_INDEX Fault Bit.
 

Enumerations

enum  APP_FAULT_TYPES {
  NO_FAULT = 0,
  MOTOR_STALL = 1,
  VOLTAGE_OUT_OF_BOUNDS = 2,
  LOAD_STALL = 3,
  HARDWARE_OVER_CURRENT = 4,
  HV_DIE_FAULT = 5
}
 Application Faults Values. More...
 
enum  FAULT_STOP_TYPES {
  FAULT_STOP_HI_Z = 0,
  FAULT_STOP_HIGH_BRAKE = 1,
  FAULT_STOP_LOW_BRAKE = 2
}
 Fault Stop Options. More...
 

Functions

void faultServiceInit (FAULT_SERVICE_T *pFault)
 faultService Initialization More...
 
void faultServiceRun (void *pFault)
 faultService Run Module More...
 
void faultServiceLowPriorityRun (void *pFault)
 faultService Low Priority Run Module More...
 
void faultReportClear (FAULT_SERVICE_T *pFault)
 faultService Report Clear More...
 
void update_FOC_faultStatus (void *pFault)
 FOC Fault Status. More...
 
_Bool getFaultRetryStatus (FAULT_SERVICE_T *pFault)
 Fault retry Status. More...
 
_Bool getFaultClearStatus (FAULT_SERVICE_T *pFault)
 Fault retry Status. More...
 

Variables

uint32_t controllernFaultReport
 Controller Fault report.
 
uint32_t controllerFaultAction
 Controller Fault Action.
 
uint32_t controllerFaultActionLatched
 Controller Latched Fault Status.
 

Enumeration Type Documentation

§ APP_FAULT_TYPES

Application Faults Values.

Enumerator
NO_FAULT 

NO_FAULT Fault Value

MOTOR_STALL 

MOTOR_STALL Fault Value

VOLTAGE_OUT_OF_BOUNDS 

VOLTAGE_OUT_OF_BOUNDS Fault Value

LOAD_STALL 

LOAD_STALL Fault Value

HARDWARE_OVER_CURRENT 

HARDWARE_OVER_CURRENT Fault Value

HV_DIE_FAULT 

HV_DIE_FAULT Fault Value

§ FAULT_STOP_TYPES

Fault Stop Options.

Enumerator
FAULT_STOP_HI_Z 

Fault during Hi-Z

FAULT_STOP_HIGH_BRAKE 

Fault during High Side Brake

FAULT_STOP_LOW_BRAKE 

Fault during Low Side Brake

Function Documentation

§ faultServiceInit()

void faultServiceInit ( FAULT_SERVICE_T pFault)

§ faultServiceRun()

void faultServiceRun ( void *  pFault)

§ faultServiceLowPriorityRun()

void faultServiceLowPriorityRun ( void *  pFault)

§ faultReportClear()

void faultReportClear ( FAULT_SERVICE_T pFault)

§ update_FOC_faultStatus()

void update_FOC_faultStatus ( void *  pFault)

FOC Fault Status.

Parameters
[in]*pFaultPointer

References ABN_SPEED_FAULT_INDEX, STALL_DETECT_T::abnormalSpeedStall, SOURCE_CURRENT_LIMIT_FLAGS_T::b, OVER_CURRENT_FLAGS_T::b, ABNORMAL_SPEED_STALL_DETECT_FLAGS_T::b, SOURCE_VOLTAGE_LIMIT_FLAGS_T::b, NO_MOTOR_STALL_DETECT_FLAGS_T::b, APP_FLAGS_T::b, BUS_CURRENT_LIMIT_INDEX, USER_STATUS_INTERFACE_T::controllerFaultStatus, SOURCE_CURRENT_LIMIT_FLAGS_T::sourceCurrentLimitFlags::enable, SENSORED_FOC_APPLICATION_T::faultService, OVER_CURRENT_T::flags, ABNORMAL_SPEED_STALL_DETECT_T::flags, NO_MOTOR_STALL_DETECT_T::flags, SOURCE_CURRENT_LIMIT_T::flags, SOURCE_VOLTAGE_LIMIT_T::flags, SENSORED_FOC_APPLICATION_T::flags, SENSORED_FOC_APPLICATION_T::foc, getCurrentLimitState(), getCurrentLimitTransition(), HV_DIE_FAULT_INDEX, HW_LOCK_ILIMIT_FAULT_INDEX, APP_FLAGS_T::appFlags::hwDieFaultStatus, MTR_LOCK_FAULT_STATUS, NO_MOTOR_FAULT_INDEX, STALL_DETECT_T::noMotorStall, OVER_VOLTAGE_FAULT_INDEX, SOURCE_LIMITS_T::overCurrent, SOURCE_VOLTAGE_LIMIT_FLAGS_T::sourceVoltageLimitFlags::overVoltageFaultStatus, SENSORED_FOC_APPLICATION_T::pAppInterface, APP_INTERFACE_T::pUserOutputs, SOURCE_CURRENT_ABOVE_LIMIT, SOURCE_CURRENT_TRANSITION_TO_CURRENT_LIMIT, SOURCE_LIMITS_T::sourceCurrentLimit, SENSORED_FOC_APPLICATION_T::sourceLimits, SOURCE_LIMITS_T::sourceVoltageLimit, FOC_T::stallDetect, ABNORMAL_SPEED_STALL_DETECT_FLAGS_T::abnormalSpeedStallDetectFlags::status, OVER_CURRENT_FLAGS_T::overCurrentFlags::status, NO_MOTOR_STALL_DETECT_FLAGS_T::noMotorStallDetectFlags::status, UNDER_VOLTAGE_FAULT_INDEX, and SOURCE_VOLTAGE_LIMIT_FLAGS_T::sourceVoltageLimitFlags::underVoltageFaultStatus.

Referenced by faultServiceRun().

§ getFaultRetryStatus()

_Bool getFaultRetryStatus ( FAULT_SERVICE_T pFault)
inline

Fault retry Status.

Parameters
[in]*pFaultPointer
Returns
Returns the status

References FAULT_FLAGS_T::b, FAULT_SERVICE_T::flags, and FAULT_FLAGS_T::faultFlags::retryStatus.

§ getFaultClearStatus()

_Bool getFaultClearStatus ( FAULT_SERVICE_T pFault)
inline

Fault retry Status.

Parameters
[in]*pFaultPointer
Returns
Returns the status

References FAULT_FLAGS_T::b, FAULT_FLAGS_T::faultFlags::clearFault, controllerFaultAction, controllerFaultActionLatched, controllernFaultReport, and FAULT_SERVICE_T::flags.

© Copyright 1995-2025, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale