MSPM0G3519SensorlessFOCMotorControlLibrary  1.0
Data Structures | Macros | Enumerations | Functions | Variables
measure.h File Reference

Detailed Description

HAL interface for FOC Module.


Overview

HAL Apis used for measurement from ADC


#include "stdint.h"
#include "mcLib.h"
#include "iqNum.h"
#include "main.h"
Include dependency graph for measure.h:
This graph shows which files directly or indirectly include this file:

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_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.
 

Enumerations

enum  VOLTAGE_GAIN_TYPES {
  VOLTAGE_GAIN_VMAX_BY_4 = 2,
  VOLTAGE_GAIN_VMAX_BY_2 = 1,
  VOLTAGE_GAIN_VMAX_BY_1 = 0
}
 Voltage gain types. More...
 
enum  HAL_MEASUREMENT_TYPES {
  MEASURE_PHASE_CURRENT = 0,
  MEASURE_PHASE_VOLTAGE = 1
}
 HAL measurement types. More...
 
enum  CURRENT_SHUNT_TYPES {
  CURRENT_INVALID = 0,
  CURRENT_THREE_SHUNT_DYNAMIC = 1,
  CURRENT_THREE_SHUNT_AB_C = 2,
  CURRENT_THREE_SHUNT_A_BC = 3,
  CURRENT_TWO_SHUNT_A_B = 4,
  CURRENT_TWO_SHUNT_A_C = 5,
  CURRENT_TWO_SHUNT_B_C = 6,
  CURRENT_SINGLE_SHUNT = 7
}
 HAL measurement types. More...
 
enum  ADC_SAMPLING_RATIO_TYPES {
  ADC_SAMPLE_EVERY_PWM = 0,
  ADC_SAMPLE_EVERY_2_PWM = 1,
  ADC_SAMPLE_EVERY_3_PWM = 2,
  ADC_SAMPLE_EVERY_4_PWM = 3,
  ADC_SAMPLE_EVERY_5_PWM = 4,
  ADC_SAMPLE_EVERY_6_PWM = 5,
  ADC_SAMPLE_EVERY_7_PWM = 6,
  ADC_SAMPLE_EVERY_8_PWM = 7,
  ADC_SAMPLE_EVERY_9_PWM = 8,
  ADC_SAMPLE_EVERY_10_PWM = 9,
  ADC_SAMPLE_EVERY_11_PWM = 10,
  ADC_SAMPLE_EVERY_12_PWM = 11,
  ADC_SAMPLE_EVERY_13_PWM = 12,
  ADC_SAMPLE_EVERY_14_PWM = 13,
  ADC_SAMPLE_EVERY_15_PWM = 14,
  ADC_SAMPLE_EVERY_16_PWM = 15
}
 ADC sampling ratio types. More...
 
enum  OFFSET_MEASUREMENT_STATES {
  OFFSET_INIT = 0,
  COMPUTE_OFFSET = 1,
  OFFSET_COMPLETE = 2
}
 Offset measurement states. More...
 

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...
 

Variables

HAL_MEASURE_MOTOR_INPUTS_Tg_pMotorInputs
 Extern motor inputs.
 

Enumeration Type Documentation

§ VOLTAGE_GAIN_TYPES

Voltage gain types.

Enumerator
VOLTAGE_GAIN_VMAX_BY_4 

Phase voltage gain of Max Volt / 4

VOLTAGE_GAIN_VMAX_BY_2 

Phase voltage gain of Max Volt / 2

VOLTAGE_GAIN_VMAX_BY_1 

Phase voltage gain of Max Volt / 1

§ HAL_MEASUREMENT_TYPES

HAL measurement types.

Enumerator
MEASURE_PHASE_CURRENT 

Measure Phase Currents

MEASURE_PHASE_VOLTAGE 

Measure Phase Voltages

§ CURRENT_SHUNT_TYPES

HAL measurement types.

Enumerator
CURRENT_INVALID 

Default invalid

CURRENT_THREE_SHUNT_DYNAMIC 

Reconstructed three phase current with ignoring phase having max duty

CURRENT_THREE_SHUNT_AB_C 

Three phase current with A and C sampled simultaneously / ABC on single ADC if simultaneous sampling disabled

CURRENT_THREE_SHUNT_A_BC 

Three phase current with A and B sampled simultaneously

CURRENT_TWO_SHUNT_A_B 

Two phase current with A and B sampled simultaneously / AB on single ADC if simultaneous sampling disabled

CURRENT_TWO_SHUNT_A_C 

Two phase current with A and C sampled simultaneously / AC on single ADC if simultaneous sampling disabled

CURRENT_TWO_SHUNT_B_C 

Two phase current with B and C sampled simultaneously / BC on single ADC if simultaneous sampling disabled

CURRENT_SINGLE_SHUNT 

DC bus current reconstructing phase currents

§ ADC_SAMPLING_RATIO_TYPES

ADC sampling ratio types.

Enumerator
ADC_SAMPLE_EVERY_PWM 

Sample every PWM

ADC_SAMPLE_EVERY_2_PWM 

Sample every 2 PWM

ADC_SAMPLE_EVERY_3_PWM 

Sample every 3 PWM

ADC_SAMPLE_EVERY_4_PWM 

Sample every 4 PWM

ADC_SAMPLE_EVERY_5_PWM 

Sample every 5 PWM

ADC_SAMPLE_EVERY_6_PWM 

Sample every 6 PWM

ADC_SAMPLE_EVERY_7_PWM 

Sample every 7 PWM

ADC_SAMPLE_EVERY_8_PWM 

Sample every 8 PWM

ADC_SAMPLE_EVERY_9_PWM 

Sample every 9 PWM

ADC_SAMPLE_EVERY_10_PWM 

Sample every 10 PWM

ADC_SAMPLE_EVERY_11_PWM 

Sample every 11 PWM

ADC_SAMPLE_EVERY_12_PWM 

Sample every 12 PWM

ADC_SAMPLE_EVERY_13_PWM 

Sample every 13 PWM

ADC_SAMPLE_EVERY_14_PWM 

Sample every 14 PWM

ADC_SAMPLE_EVERY_15_PWM 

Sample every 15 PWM

ADC_SAMPLE_EVERY_16_PWM 

Sample every 16 PWM

§ OFFSET_MEASUREMENT_STATES

Offset measurement states.

Enumerator
OFFSET_INIT 

Offset init state

COMPUTE_OFFSET 

Compute state

OFFSET_COMPLETE 

Offset complete state

Function Documentation

§ inputsInit()

void inputsInit ( HAL_MEASURE_MOTOR_INPUTS_T pMotorInputs)

§ measureCurrentOffset()

void measureCurrentOffset ( HAL_MEASURE_MOTOR_INPUTS_T pMotorInputs)

§ getMeasureOffsetStatus()

_Bool getMeasureOffsetStatus ( HAL_MEASURE_MOTOR_INPUTS_T pMotorInputs)
inline

Status of offset measurement.

Parameters
[in]pMotorInputsPointer to motor input
Returns
Returns the status of offset measurement
Return values
trueOffset measurement completed
falseOffset measurement not completed

References MEASURE_CURRENT_FLAGS_T::b, HAL_MEASURE_MOTOR_INPUTS_T::current, HAL_MEASURE_CURRENT_T::flags, and measureCurrentFlags::offsetStatus.

Referenced by HAL_ReadCurrents().

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