![]() |
![]() |
|
MSPM0G3507SensorlessFOCMotorControlLibrary
1.0
|
#include "iqTrig.h"#include <ti/iqmath/include/IQmathLib.h>#include "IQmath_mathacl.h"#include "stdint.h"#include "main.h"

Go to the source code of this file.
Data Structures | |
| struct | MC_ABC_T |
| ABC 3 phase structure. More... | |
| struct | MC_ALPHABETA_T |
| Alpha Beta structure. More... | |
| struct | MC_DQ_T |
| DQ structure. More... | |
| struct | MC_SINCOS_T |
| Sine cosine structure. More... | |
| struct | MC_SVM_T |
| SVM structure. More... | |
Macros | |
| #define | ONE_BY_THREE _IQ(1.0/3.0) |
| 1/3 in IQ | |
| #define | TWO_BY_THREE _IQ(2.0/3.0) |
| 2/3 in IQ | |
| #define | ONE_BY_SQRT_THREE _IQ(0.57735026918963) |
| 1/sqrt(3) in IQ | |
| #define | TWO_BY_SQRT_THREE _IQmpy2(ONE_BY_SQRT_THREE) |
| 2/sqrt(3) in IQ | |
| #define | SQRT_THREE_BY_TWO _IQ(0.866025403784439) |
| sqrt(3)/2 in IQ | |
| #define | ONE_BY_TWO _IQ(0.5) |
| 1/2 in IQ | |
| #define | SQRT_THREE _IQ(1.732050808) |
| sqrt(3) in IQ | |
Enumerations | |
| enum | MC_PHASE_TYPES { PHASE_INVALID = 0, PHASE_A = 1, PHASE_B = 2, PHASE_C = 3 } |
| Phase types. More... | |
| enum | MC_SECTOR_TYPES { SECTOR_INVALID = 0, SECTOR_1 = 1, SECTOR_2 = 2, SECTOR_3 = 3, SECTOR_4 = 4, SECTOR_5 = 5, SECTOR_6 = 6 } |
| Sector types. More... | |
| enum | SVM_GENERATOR_TYPES { SVM_CONTINUOUS = 0, SVM_DISCONTINUOUS = 1 } |
| SVM generation types. More... | |
Functions | |
| void | MC_ClarkeTransformNoZeroSeq (MC_ALPHABETA_T *pAlphaBeta, const MC_ABC_T *pABC) |
| Clark transform no zero sequence. More... | |
| void | MC_ClarkeTransform (MC_ALPHABETA_T *pAlphaBeta, const MC_ABC_T *pABC) |
| Clark transform. More... | |
| void | MC_SVM_ClarkeTransform (MC_ALPHABETA_T *pAlphaBeta, const MC_ABC_T *pABC) |
| SVM Clark transform no zero sequence. More... | |
| void | MC_InverseClarkeTransform (MC_ABC_T *pABC, const MC_ALPHABETA_T *pAlphaBeta) |
| Inverse Clark transform no zero sequence. More... | |
| void | MC_ParkTransform (MC_DQ_T *pDQ, const MC_ALPHABETA_T *pAlphaBeta, const MC_SINCOS_T *pSinCos) |
| Park transform no zero sequence. More... | |
| void | MC_InverseParkTransform (MC_ALPHABETA_T *pAlphaBeta, const MC_DQ_T *pDQ, const MC_SINCOS_T *pSinCos) |
| Inverse park transform no zero sequence. More... | |
| void | MC_SinCos (MC_SINCOS_T *pSinCos, const int32_t angle) |
| Sine cosine of angle. More... | |
| void | MC_SpaceVectorGen (MC_SVM_T *pSVM, MC_ABC_T *pMabc) |
| Space vector generation. More... | |
| void | MC_AngleSectorGen (MC_SVM_T *pSVM, const MC_SINCOS_T *pSinCos, const int32_t velocity) |
| Sector from sine cosine and velocity. More... | |
| enum MC_PHASE_TYPES |
| enum MC_SECTOR_TYPES |
| enum SVM_GENERATOR_TYPES |
| void MC_ClarkeTransformNoZeroSeq | ( | MC_ALPHABETA_T * | pAlphaBeta, |
| const MC_ABC_T * | pABC | ||
| ) |
Clark transform no zero sequence.
| [in] | pAlphaBeta | Pointer to alpha beta structure |
| [in] | pABC | Pointer to 3 phase structure |
References _IQmpy_mathacl, MC_ABC_T::a, MC_ALPHABETA_T::alpha, MC_ABC_T::b, MC_ALPHABETA_T::beta, MC_ABC_T::c, and ONE_BY_SQRT_THREE.
| void MC_ClarkeTransform | ( | MC_ALPHABETA_T * | pAlphaBeta, |
| const MC_ABC_T * | pABC | ||
| ) |
Clark transform.
| [in] | pAlphaBeta | Pointer to alpha beta structure |
| [in] | pABC | Pointer to 3 phase structure |
References _IQmpy_mathacl, MC_ABC_T::a, MC_ALPHABETA_T::alpha, MC_ABC_T::b, MC_ALPHABETA_T::beta, MC_ABC_T::c, ONE_BY_SQRT_THREE, and ONE_BY_THREE.
| void MC_SVM_ClarkeTransform | ( | MC_ALPHABETA_T * | pAlphaBeta, |
| const MC_ABC_T * | pABC | ||
| ) |
SVM Clark transform no zero sequence.
| [in] | pAlphaBeta | Pointer to alpha beta structure |
| [in] | pABC | Pointer to 3 phase structure |
References _IQmpy_mathacl, MC_ABC_T::a, MC_ALPHABETA_T::alpha, MC_ABC_T::b, MC_ALPHABETA_T::beta, MC_ABC_T::c, and ONE_BY_SQRT_THREE.
| void MC_InverseClarkeTransform | ( | MC_ABC_T * | pABC, |
| const MC_ALPHABETA_T * | pAlphaBeta | ||
| ) |
Inverse Clark transform no zero sequence.
| [in] | pABC | Pointer to 3 phase structure |
| [in] | pAlphaBeta | Pointer to alpha beta structure |
References _IQmpy_mathacl, MC_ABC_T::a, MC_ALPHABETA_T::alpha, MC_ABC_T::b, MC_ALPHABETA_T::beta, MC_ABC_T::c, and SQRT_THREE_BY_TWO.
| void MC_ParkTransform | ( | MC_DQ_T * | pDQ, |
| const MC_ALPHABETA_T * | pAlphaBeta, | ||
| const MC_SINCOS_T * | pSinCos | ||
| ) |
Park transform no zero sequence.
| [in] | pDQ | Pointer to DQ structure |
| [in] | pAlphaBeta | Pointer to alpha beta structure |
| [in] | pSinCos | Pointer to sine cosine structure |
References _IQmpy_mathacl, MC_ALPHABETA_T::alpha, MC_ALPHABETA_T::beta, MC_SINCOS_T::cos, MC_DQ_T::d, MC_DQ_T::q, and MC_SINCOS_T::sin.
| void MC_InverseParkTransform | ( | MC_ALPHABETA_T * | pAlphaBeta, |
| const MC_DQ_T * | pDQ, | ||
| const MC_SINCOS_T * | pSinCos | ||
| ) |
Inverse park transform no zero sequence.
| [in] | pAlphaBeta | Pointer to alpha beta structure |
| [in] | pDQ | Pointer to DQ structure |
| [in] | pSinCos | Pointer to sine cosine structure |
References _IQmpy_mathacl, MC_ALPHABETA_T::alpha, MC_ALPHABETA_T::beta, MC_SINCOS_T::cos, MC_DQ_T::d, MC_DQ_T::q, and MC_SINCOS_T::sin.
| void MC_SinCos | ( | MC_SINCOS_T * | pSinCos, |
| const int32_t | angle | ||
| ) |
Sine cosine of angle.
| [in] | pSinCos | Pointer to sine cosine structure |
| [in] | angle | Angle input |
References MC_SINCOS_T::cos, readMATHACLCos(), readMATHACLSin(), MC_SINCOS_T::sin, and sinCosMATHACLCompute().
Space vector generation.
| [in] | pSVM | Pointer to SVM structure |
| [in] | pMabc | Pointer to 3 phase modulation index structure |
References _IQmpy_mathacl, MC_ABC_T::a, MC_ABC_T::b, MC_ABC_T::c, MC_SVM_T::Dabc, HAL_FGToggle(), MC_SVM_T::maxDutyPhase, MC_SVM_T::minDuty, MC_SVM_T::minDutyDisCont, MC_SVM_T::minDutyPhase, ONE_BY_SQRT_THREE, ONE_BY_TWO, PHASE_A, PHASE_B, PHASE_C, MC_SVM_T::prevPrevVoltageSector, MC_SVM_T::prevVoltageSector, SECTOR_1, SECTOR_2, SECTOR_3, SECTOR_4, SECTOR_5, SECTOR_6, MC_SVM_T::sectorCount, SVM_CONTINUOUS, SVM_DISCONTINUOUS, MC_SVM_T::svmGen, and MC_SVM_T::voltageSector.
| void MC_AngleSectorGen | ( | MC_SVM_T * | pSVM, |
| const MC_SINCOS_T * | pSinCos, | ||
| const int32_t | velocity | ||
| ) |
Sector from sine cosine and velocity.
| [in] | pSVM | Pointer to SVM structure |
| [in] | pSinCos | Pointer to sine cosine structure |
| [in] | velocity | Velocity |
References MC_SVM_T::angleSector, MC_SINCOS_T::cos, SECTOR_1, SECTOR_2, SECTOR_3, SECTOR_4, SECTOR_5, SECTOR_6, SECTOR_INVALID, and MC_SINCOS_T::sin.