![]() |
![]() |
|
MSPM0G3519SensoredFOCMotorControlLibrary
1.0
|
#include "stdint.h"#include "stallDetect.h"#include "load.h"#include "focHALInterface.h"#include "sourceVoltageLimit.h"#include "main.h"

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. | |
| enum APP_FAULT_TYPES |
| enum FAULT_STOP_TYPES |
| void faultServiceInit | ( | FAULT_SERVICE_T * | pFault | ) |
faultService Initialization
| [in] | *pFault | Pointer |
References FAULT_FLAGS_T::faultFlags::actionTaken, FAULT_FLAGS_T::b, FAULT_FLAGS_T::faultFlags::clearFault, FAULT_SERVICE_T::count, FALSE, FAULT_SERVICE_T::flags, and FAULT_FLAGS_T::faultFlags::retryStatus.
| void faultServiceRun | ( | void * | pFault | ) |
faultService Run Module
| [in] | *pFault | Pointer |
References FAULT_FLAGS_T::faultFlags::actionTaken, FAULT_FLAGS_T::b, SENSORED_FOC_APPLICATION_T::faultService, FAULT_SERVICE_T::flags, HAL_DisablePWM(), LOAD_STOP, FAULT_SERVICE_T::pLoad, LOAD_T::state, TRUE, and update_FOC_faultStatus().
| void faultServiceLowPriorityRun | ( | void * | pFault | ) |
faultService Low Priority Run Module
| [in] | *pFault | Pointer |
References FAULT_FLAGS_T::faultFlags::abnormalSpeedRetryEnable, STALL_DETECT_T::abnormalSpeedStall, OVER_CURRENT_FLAGS_T::b, ABNORMAL_SPEED_STALL_DETECT_FLAGS_T::b, NO_MOTOR_STALL_DETECT_FLAGS_T::b, FAULT_FLAGS_T::b, FAULT_SERVICE_T::count, FAULT_SERVICE_T::countMax, FALSE, SENSORED_FOC_APPLICATION_T::faultService, OVER_CURRENT_T::flags, ABNORMAL_SPEED_STALL_DETECT_T::flags, NO_MOTOR_STALL_DETECT_T::flags, FAULT_SERVICE_T::flags, SENSORED_FOC_APPLICATION_T::foc, FAULT_FLAGS_T::faultFlags::hardwareOverCurrentRetryEnable, FAULT_FLAGS_T::faultFlags::noMotorRetryEnable, STALL_DETECT_T::noMotorStall, SOURCE_LIMITS_T::overCurrent, FAULT_FLAGS_T::faultFlags::retryEnable, FAULT_FLAGS_T::faultFlags::retryStatus, SENSORED_FOC_APPLICATION_T::sourceLimits, FOC_T::stallDetect, OVER_CURRENT_FLAGS_T::overCurrentFlags::status, ABNORMAL_SPEED_STALL_DETECT_FLAGS_T::abnormalSpeedStallDetectFlags::status, NO_MOTOR_STALL_DETECT_FLAGS_T::noMotorStallDetectFlags::status, and TRUE.
| void faultReportClear | ( | FAULT_SERVICE_T * | pFault | ) |
faultService Report Clear
| [in] | *pFault | Pointer |
References USER_CTRL_INTERFACE_T::algoDebugCtrl1, FAULT_FLAGS_T::b, RAM_ALGO_DEBUG_1_T::b, FAULT_FLAGS_T::faultFlags::clearFault, ramAlgoDebugCtrl1::clearFlt, USER_STATUS_INTERFACE_T::controllerFaultStatus, FAULT_SERVICE_T::count, FALSE, FAULT_SERVICE_T::flags, g_pAppInterface, gateDriverClearFault(), USER_STATUS_INTERFACE_T::gateDriverFaultStatus, HAL_clearFaultStatus(), HAL_SetNFault(), pUserCtrlRegs, APP_INTERFACE_T::pUserOutputs, FAULT_FLAGS_T::faultFlags::retryStatus, and TRUE.
Referenced by FOC_fault_Recovery().
| void update_FOC_faultStatus | ( | void * | pFault | ) |
FOC Fault Status.
| [in] | *pFault | Pointer |
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().
|
inline |
Fault retry Status.
| [in] | *pFault | Pointer |
References FAULT_FLAGS_T::b, FAULT_SERVICE_T::flags, and FAULT_FLAGS_T::faultFlags::retryStatus.
|
inline |
Fault retry Status.
| [in] | *pFault | Pointer |
References FAULT_FLAGS_T::b, FAULT_FLAGS_T::faultFlags::clearFault, controllerFaultAction, controllerFaultActionLatched, controllernFaultReport, and FAULT_SERVICE_T::flags.