2025-01-20 10:45:47 +03:00
|
|
|
|
#include "mcu_wrapper_conf.h"
|
|
|
|
|
|
|
|
|
|
#ifndef ADC_SIM
|
|
|
|
|
#define ADC_SIM
|
2025-01-15 11:49:27 +03:00
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADC
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int tAdc;
|
|
|
|
|
int Tadc;
|
|
|
|
|
int nAdc;
|
2025-01-20 10:45:47 +03:00
|
|
|
|
|
|
|
|
|
int norma_adc;
|
|
|
|
|
double adc_amplitude;
|
|
|
|
|
int adc_bit_depth;
|
|
|
|
|
}AdcConvertionHandle;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
double udc1;
|
|
|
|
|
double udc2;
|
|
|
|
|
double ia1;
|
|
|
|
|
double ib1;
|
|
|
|
|
double ic1;
|
|
|
|
|
double ia2;
|
|
|
|
|
double ib2;
|
|
|
|
|
double ic2;
|
|
|
|
|
double wm;
|
|
|
|
|
}AdcRealMeasureHandle;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int adc_val;
|
2025-01-23 15:34:55 +03:00
|
|
|
|
double adc_norm;
|
2025-01-20 10:45:47 +03:00
|
|
|
|
|
2025-01-20 11:41:55 +03:00
|
|
|
|
double real_satur;
|
2025-01-20 10:45:47 +03:00
|
|
|
|
int r_adc;
|
|
|
|
|
int k_lem_adc;
|
|
|
|
|
int offset;
|
|
|
|
|
|
|
|
|
|
}AdcMeasureHandle;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
AdcConvertionHandle convertion;
|
|
|
|
|
AdcRealMeasureHandle Measure;
|
|
|
|
|
AdcMeasureHandle udc1;
|
|
|
|
|
AdcMeasureHandle udc2;
|
|
|
|
|
AdcMeasureHandle ia1;
|
|
|
|
|
AdcMeasureHandle ib1;
|
|
|
|
|
AdcMeasureHandle ic1;
|
|
|
|
|
AdcMeasureHandle ia2;
|
|
|
|
|
AdcMeasureHandle ib2;
|
|
|
|
|
AdcMeasureHandle ic2;
|
|
|
|
|
AdcMeasureHandle wm;
|
2025-01-15 11:49:27 +03:00
|
|
|
|
}AdcSimHandle;
|
2025-01-20 10:45:47 +03:00
|
|
|
|
AdcSimHandle AdcSim;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Simulate_ADC(SimStruct* S);
|
|
|
|
|
void Init_ADC_Simulation();
|
|
|
|
|
|
2025-01-20 11:41:55 +03:00
|
|
|
|
void adcInitConvertion(AdcConvertionHandle* hconv, int norma_adc, double adc_amplitude, int adc_bit_depth);
|
|
|
|
|
void adcInitMeasure(AdcMeasureHandle* hmeasure, int k_lem_adc, int r_adc, int offset, double real_satur);
|
2025-01-20 10:45:47 +03:00
|
|
|
|
|
|
|
|
|
void adcMeasure(AdcRealMeasureHandle* hrmeasure, const real_T* u, int startind);
|
2025-01-20 11:41:55 +03:00
|
|
|
|
void adcConvert(AdcConvertionHandle* hconv, AdcMeasureHandle* hmeasure, double realMeasure);
|
2025-01-15 11:49:27 +03:00
|
|
|
|
|
|
|
|
|
#endif //PWM_SIM
|