更新EW模块驱动

This commit is contained in:
ranchuan
2023-10-31 18:12:21 +08:00
parent 873029149d
commit a83444b3c8
17 changed files with 3483 additions and 355 deletions

View File

@@ -633,3 +633,54 @@ uint16_t AD_SampleCap(uint16_t delay)
Gpio_CAPSwitch(0);
return ul_ad;
}
/*
@brief 获取总线电流上升时间
@param0 采样判线AD值
@param1 采样超时 单位0.01ms
@rtv 等待时间
*/
uint16_t AD_GetBusCurUp(uint16_t ad_line ,uint16_t time_out)
{
uint16_t aus_adc_v[5];
uint16_t us_count = 0;
uint16_t us_index = 0;
uint8_t uc_start = 0;
Get10usCount();
ADC_ClearFlag(ADC_CURR_DE,ADC_FLAG_EOC);//清除转换结束标志
ADC_SoftwareStartConvCmd(ADC_CURR_DE, ENABLE); //启动转换
while(GetCountTimerCnt() < time_out)
{
time_out = 2000;
while((time_out > 0) && ( ADC_GetFlagStatus(ADC_CURR_DE,ADC_FLAG_EOC) == RESET))
{
time_out--;
}
aus_adc_v[us_count] = ADC_GetConversionValue(ADC_CURR_DE) & 0x0FFF;
ADC_ClearFlag(ADC_CURR_DE,ADC_FLAG_EOC);//清除转换结束标志
ADC_SoftwareStartConvCmd(ADC_CURR_DE, ENABLE); //启动转换
if(us_count == 4)
{
uc_start = 1;
}
us_count++;
us_count %= 5;
if(uc_start == 0)
{
continue;
}
for(us_index = 0; us_index < 5; us_index++)
{
if(ad_line < aus_adc_v[us_index])
{
break;
}
}
if(us_index == 5)
{
return GetCountTimerCnt();
}
}
return 0;
}

View File

@@ -57,7 +57,7 @@ uint32_t GetADC2_Fast(void);
uint32_t GetADC1_Fast(void);
uint32_t GetADC2_Value(uint32_t channel);
#define ADC_GetCurADC(chnnel) GetADC2_Value(channel)
#define ADC_GetCurADC(channel) GetADC2_Value(channel)
void GetADC1_Value(uint32_t channel,uint16_t* buf,uint16_t len);
float Get_Temperature(void);
@@ -94,4 +94,11 @@ uint16_t GetADC_Fast(ADC_TypeDef* adc_periph);
void AD_SampleResistor(uint16_t* channels_re);
/*测量电容电压*/
uint16_t AD_SampleCap(uint16_t delay);
/*
@brief 获取总线电流上升时间
@param0 采样判线AD值
@param1 采样超时 单位0.01ms
@rtv 等待时间
*/
uint16_t AD_GetBusCurUp(uint16_t ad_line ,uint16_t time_out);
#endif

View File

@@ -279,6 +279,7 @@
#define EW_DIFF_MOD_H HMOS_SWITCH_W_1
#define EW_DIFF_MOD_L HMOS_SWITCH_W_0
#define EW_BUS_OFF HMOS_SWITCH_OFF
#define EW_BUS_ON HMOS_SWITCH_ON
void CtrlGpio_DefInit(void);

View File

@@ -73,9 +73,11 @@ CurrentSample_Range_eu Power_SetSampleRange_Seep(CurrentSample_Range_eu range ,
#define JQChecker_ChgEnger_Sample_R R100_0p2mA_3mA_MC
#define XTChecker_ChgEnger_Sample_R R10_2mA_30mA_MC
#define EWChecker_ChgEnger_Sample_R R100_0p2mA_3mA_MC
//模块通信采样电阻
#define XTDriver_Sample_R R10_2mA_30mA_MC
#define JQDriver_Sample_R R10_2mA_30mA_MC
#define EWDriver_Sample_R R10_2mA_30mA_MC
//电压调节的关系为线性函数