105 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef ADC_CFG_H_
 | ||
| #define ADC_CFG_H_
 | ||
| #include "base/define.h"
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| #define AN_UA_CH					ADC_Channel_12	//AD2
 | ||
| #define AN_MAL_CH					ADC_Channel_13 //AD2
 | ||
| #define RAD_01_CH					ADC_Channel_2   //AD2
 | ||
| #define AN_CAP_AD_CH      ADC_Channel_15  //AD2
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| #define VCC_2V5_CH				ADC_Channel_1 //AD1
 | ||
| #define VCC_1V25_CH				ADC_Channel_3 //AD1
 | ||
| #define V_LA_M_CH					ADC_Channel_6 //AD1 
 | ||
| #define V_LA_H_CH					ADC_Channel_7 //AD1
 | ||
| #define AD_OUTA_CH				ADC_Channel_10 //AD1
 | ||
| #define AD_OUTB_CH				ADC_Channel_11 //AD1
 | ||
| 
 | ||
| 
 | ||
| #define ADC_CURR_DE   ADC2
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| #define AD_SCAN_COUNT 16
 | ||
| #define AD_SCAN_SAMPLE 8
 | ||
| 
 | ||
| #define FIREBUS_ADC_BUF_LEN 160
 | ||
| extern volatile uint16_t FireBus_ADC_Buf[FIREBUS_ADC_BUF_LEN];
 | ||
| 
 | ||
| #define ADC_SPEED_SLOW			ADC_SampleTime_239Cycles5
 | ||
| #define ADC_SPEED_MIDLE			ADC_SampleTime_71Cycles5
 | ||
| #define ADC_SPEED_HIGH			ADC_SampleTime_13Cycles5  
 | ||
| #define ADC_SPEED_HFAST			ADC_SampleTime_7Cycles5 
 | ||
| void AdcDef_Init(void);
 | ||
| void StartADC2Channel(uint32_t  channel, uint32_t speed);
 | ||
| #define ADC_CurChnnelSet(channel,speed) StartADC2Channel(channel,speed)
 | ||
| //桥丝电阻测量通道
 | ||
| #define ADC_ResistorChannelSet(speed)  StartADC2Channel(RAD_01_CH,speed);
 | ||
| //电容电压测量
 | ||
| #define ADC_CAPVolChannelSet(speed)    StartADC2Channel(AN_CAP_AD_CH,speed);
 | ||
| 
 | ||
| void StartADC1Channel(uint32_t  channel);
 | ||
| void StartADC2ChannelV2(uint32_t  channel);
 | ||
| uint32_t GetADC2_Fast(void);
 | ||
| //电流采集通道
 | ||
| #define ADC_GetCurADCFast()  GetADC2_Fast()
 | ||
| //桥丝电阻采集通道
 | ||
| #define ADC_GetResistorADCFast() GetADC2_Fast()
 | ||
| //电容电压采集通道
 | ||
| #define ADC_GetCAPVolADCFast()  GetADC2_Fast()
 | ||
| 
 | ||
| uint32_t GetADC1_Fast(void);
 | ||
| 
 | ||
| uint32_t GetADC2_Value(uint32_t channel);
 | ||
| #define ADC_GetCurADC(channel) GetADC2_Value(channel)
 | ||
| 
 | ||
| void GetADC1_Value(uint32_t channel,uint16_t* buf,uint16_t len);
 | ||
| float Get_Temperature(void);
 | ||
| /*
 | ||
| @brief 稳定获取总线电流
 | ||
| @rtv 返回电流值 0.1uA
 | ||
| */
 | ||
| uint16_t ADC_Comm1p6mA_EndCur(void);
 | ||
| /*
 | ||
| @brief 稳定获取总线电流
 | ||
| */
 | ||
| uint16_t ADC_GetBaseStableCur(void);
 | ||
| /*
 | ||
| @brief 电流降到指定电流下的时间
 | ||
| @param 采样超时
 | ||
| @param end_adv 检测启动和结束判线
 | ||
| @param 最大电流ad
 | ||
| @param 电流下降过程中最大向上波动
 | ||
| @rtv 时间采集值0.1ms
 | ||
| */
 | ||
| uint16_t AD_GetChgEnergy(uint16_t sample_timeout, uint16_t end_adv,uint16_t* max_cul,uint16_t *shake_adv);
 | ||
| /*
 | ||
| @brief 电流降到指定电流下的时间
 | ||
| @param  执行时间 单位0.1ms
 | ||
| @rtv 最大波动AD值
 | ||
| */
 | ||
| uint16_t AD_CurMonitor(uint32_t us_times);
 | ||
| /*
 | ||
| 使用该函数,对ADC触发一次采样,到用该函数前,应调用一次StartADC0Channel(ch)
 | ||
| */
 | ||
| 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
 | 
