![]() |
![]() |
|
MSPM0G3519SensoredFOCMotorControlLibrary
1.0
|
#include "stdint.h"#include "mcLib.h"#include "iqNum.h"#include "main.h"#include "hal.h"#include "hallInterface.h"

Go to the source code of this file.
Data Structures | |
| struct | CURRENT_OFFSET_T |
| Current offset structure. More... | |
| struct | measureCurrentFlags |
| measureCurrentFlags structure More... | |
| union | MEASURE_CURRENT_FLAGS_T |
| Measure current flag. More... | |
| struct | HAL_MEASURE_CURRENT_T |
| Measure current structure. More... | |
| struct | HAL_MEASURE_VOLTAGE_T |
| Measure voltage structure. More... | |
| struct | HAL_MEASURE_HALL_HANDLE_T |
| Measure Hall Index. More... | |
| struct | HAL_MEASURE_MOTOR_INPUTS_T |
| Measure motor inputs structure. More... | |
Macros | |
| #define | HAL_CURRENT_OFFSET_MEAS_BITS 5 |
| Current offset averaging factor 2^n. | |
| #define | HAL_CURRENT_OFFSET_MEAS_COUNT (1 << HAL_CURRENT_OFFSET_MEAS_BITS) |
| Current offset averaging counts. | |
| #define | INV_VDC_IQ_SCALING 25 |
| Inverse Vdc scaling. | |
| #define | MAX_HALL_INDEX 7 |
| #define | HALL_ANGLE_SUM _IQ(3.0) |
Functions | |
| void | inputsInit (HAL_MEASURE_MOTOR_INPUTS_T *pMotorInputs) |
| Initializes motor iputs. More... | |
| void | measureCurrentOffset (HAL_MEASURE_MOTOR_INPUTS_T *pMotorInputs) |
| Measures offset of current input. More... | |
| _Bool | getMeasureOffsetStatus (HAL_MEASURE_MOTOR_INPUTS_T *pMotorInputs) |
| Status of offset measurement. More... | |
| uint16_t | ReadHallState (HAL_MEASURE_HALL_HANDLE_T *pHallHandle) |
| ReadHallState. More... | |
| int32_t | getHallFrequency (HAL_MEASURE_HALL_HANDLE_T *pHallHandle) |
| getHallFrequency More... | |
| int32_t | getHallPhaseError (HAL_MEASURE_HALL_HANDLE_T *pHallHandle, int32_t hallEstimVelocity) |
| getHallPhaseError More... | |
Variables | |
| HAL_MEASURE_MOTOR_INPUTS_T * | g_pMotorInputs |
| Extern motor inputs. | |
| #define MAX_HALL_INDEX 7 |
Maximum Hall States Index = Hall States + 1
Referenced by focRun(), getHallFrequency(), hallCalibRun(), and update_SystemParams().
| #define HALL_ANGLE_SUM _IQ(3.0) |
Total Electrical Angle Summation
Referenced by hallCalibRun().
| enum VOLTAGE_GAIN_TYPES |
| enum CURRENT_SHUNT_TYPES |
HAL measurement types.
ADC sampling ratio types.
| void inputsInit | ( | HAL_MEASURE_MOTOR_INPUTS_T * | pMotorInputs | ) |
Initializes motor iputs.
| [in] | pMotorInputs | Pointer to motor input |
References MEASURE_CURRENT_FLAGS_T::b, HALL_INTERFACE_T::captureInput, HAL_MEASURE_MOTOR_INPUTS_T::current, HAL_MEASURE_CURRENT_T::currentShunt, FALSE, HAL_MEASURE_CURRENT_T::flags, HAL_CAPTURE_TIMER_01, HAL_GPIO_IN_01, HAL_GPIO_IN_02, HAL_GPIO_IN_03, HALL_INTERFACE_T::hallA, HALL_INTERFACE_T::hallB, HALL_INTERFACE_T::hallC, HAL_MEASURE_HALL_HANDLE_T::HallInterface, HAL_MEASURE_CURRENT_T::i1Sum, HAL_MEASURE_CURRENT_T::i2Sum, HAL_MEASURE_CURRENT_T::iaSum, HAL_MEASURE_CURRENT_T::ibADC0Sum, HAL_MEASURE_CURRENT_T::ibADC1Sum, HAL_MEASURE_CURRENT_T::icSum, HAL_MEASURE_MOTOR_INPUTS_T::measureHALL, measureCurrentFlags::offsetAB_CStatus, measureCurrentFlags::offsetGainStatus, HAL_MEASURE_CURRENT_T::offsetMeasCount, measureCurrentFlags::offsetStatus, measureCurrentFlags::threeShuntDynamic, and measureCurrentFlags::threeShuntDynamicSet.
Referenced by measureCurrentOffset().
| void measureCurrentOffset | ( | HAL_MEASURE_MOTOR_INPUTS_T * | pMotorInputs | ) |
Measures offset of current input.
| [in] | pMotorInputs | Pointer to motor input |
References MC_ABC_T::a, MC_ABC_T::b, MEASURE_CURRENT_FLAGS_T::b, MC_ABC_T::c, COMPUTE_OFFSET, HAL_MEASURE_MOTOR_INPUTS_T::current, CURRENT_SINGLE_SHUNT, CURRENT_THREE_SHUNT_A_BC, CURRENT_THREE_SHUNT_AB_C, CURRENT_THREE_SHUNT_DYNAMIC, CURRENT_TWO_SHUNT_A_B, CURRENT_TWO_SHUNT_B_C, HAL_MEASURE_CURRENT_T::currentShunt, HAL_MEASURE_CURRENT_T::currentShuntSet, HAL_MEASURE_CURRENT_T::flags, HAL_CURRENT_OFFSET_MEAS_BITS, HAL_CURRENT_OFFSET_MEAS_COUNT, HAL_SetPhaseCurrentChannels(), CURRENT_OFFSET_T::i1Offset, HAL_MEASURE_CURRENT_T::i1Sum, CURRENT_OFFSET_T::i2Offset, HAL_MEASURE_CURRENT_T::i2Sum, HAL_MEASURE_CURRENT_T::iabcRaw, CURRENT_OFFSET_T::iaOffset, HAL_MEASURE_CURRENT_T::iaSum, CURRENT_OFFSET_T::ibADC0Offset, HAL_MEASURE_CURRENT_T::ibADC0Sum, CURRENT_OFFSET_T::ibADC1Offset, HAL_MEASURE_CURRENT_T::ibADC1Sum, CURRENT_OFFSET_T::icOffset, HAL_MEASURE_CURRENT_T::icSum, HAL_MEASURE_CURRENT_T::iFirstSample, inputsInit(), HAL_MEASURE_CURRENT_T::iSecondSample, OFFSET_COMPLETE, OFFSET_INIT, measureCurrentFlags::offsetAB_CStatus, HAL_MEASURE_CURRENT_T::offsetGainIMaxBy1, measureCurrentFlags::offsetGainStatus, HAL_MEASURE_CURRENT_T::offsetMeasCount, measureCurrentFlags::offsetStatus, HAL_MEASURE_CURRENT_T::state, and TRUE.
|
inline |
Status of offset measurement.
| [in] | pMotorInputs | Pointer to motor input |
| true | Offset measurement completed |
| false | Offset measurement not completed |
References MEASURE_CURRENT_FLAGS_T::b, HAL_MEASURE_MOTOR_INPUTS_T::current, HAL_MEASURE_CURRENT_T::flags, getHallFrequency(), getHallPhaseError(), measureCurrentFlags::offsetStatus, and ReadHallState().
Referenced by HAL_ReadCurrents().
| uint16_t ReadHallState | ( | HAL_MEASURE_HALL_HANDLE_T * | pHallHandle | ) |
ReadHallState.
| [in] | *pHallHandle | Input Pointer |
References HAL_readGPIOPin(), HALL_INTERFACE_T::hallA, HALL_INTERFACE_T::hallB, HALL_INTERFACE_T::hallC, HAL_MEASURE_HALL_HANDLE_T::HallInterface, and HAL_MEASURE_HALL_HANDLE_T::hallState.
Referenced by getMeasureOffsetStatus(), hallAngleEstimRun(), hallAngleInit(), and hallCalibRun().
| int32_t getHallFrequency | ( | HAL_MEASURE_HALL_HANDLE_T * | pHallHandle | ) |
getHallFrequency
| [in] | *pHallHandle | Input Pointer |
References HALL_INTERFACE_T::captureInput, HAL_MEASURE_HALL_HANDLE_T::commCountIndex, HAL_MEASURE_HALL_HANDLE_T::commTimerIndex, HAL_MEASURE_HALL_HANDLE_T::compHallState, HAL_MEASURE_HALL_HANDLE_T::countDiff, HAL_MEASURE_HALL_HANDLE_T::countError, HAL_getCaptureRunningValue(), HAL_getCaptureValue(), HAL_getTimerLoadValue(), HAL_MEASURE_HALL_HANDLE_T::halCapFreqPU, HAL_MEASURE_HALL_HANDLE_T::HallInterface, HAL_MEASURE_HALL_HANDLE_T::hallState, HAL_MEASURE_HALL_HANDLE_T::halMaxFreqCount, and MAX_HALL_INDEX.
Referenced by getMeasureOffsetStatus(), and hallAngleEstimRun().
| int32_t getHallPhaseError | ( | HAL_MEASURE_HALL_HANDLE_T * | pHallHandle, |
| int32_t | hallEstimVelocity | ||
| ) |
getHallPhaseError
| [in] | *pHallHandle | Input Pointer |
| [in] | hallEstimVelocity | Estimated velocity |
References _IQmpy_mathacl, HAL_MEASURE_HALL_HANDLE_T::countError, HAL_MEASURE_HALL_HANDLE_T::halPhaseError, and HAL_MEASURE_HALL_HANDLE_T::halPhaseErrorConst.
Referenced by getMeasureOffsetStatus(), and hallAngleEstimRun().