43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef __SDAC_T_H
							 | 
						||
| 
								 | 
							
								#define __SADC_T_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define SADC_DEBUG
							 | 
						||
| 
								 | 
							
								#define SADC_TEMPERATURE
							 | 
						||
| 
								 | 
							
								// #define SADC_TIME_CAL
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//sleep time = cnt*1us, the max delay is 171 s
							 | 
						||
| 
								 | 
							
								void usleep(uint32_t cnt);
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								* * if return -1, discard the part;
							 | 
						||
| 
								 | 
							
								* if return 0, return the dc calibration code(1024 times)
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								int32_t sadc_dc_calibration_task(int32_t *dc_calib);
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								* if return -1, discard the part;
							 | 
						||
| 
								 | 
							
								* if return 0, sadc_arvg return the sadc voltage code(1024 times)
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								int32_t sadc_ref_voltg_task(int32_t* sadc_arvg, int32_t* input_dc, int32_t* input_voltg);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								* dc_calib is the dc calibration when gain is 1/5
							 | 
						||
| 
								 | 
							
								* ref_voltg is the input voltg(1.2v) when gain is 1/5
							 | 
						||
| 
								 | 
							
								* ref_sadc is the sadc output when gain is 1/5 and input voltg is 1.2v
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								int8_t atb_for_ical(uint8_t *bias_cal, int32_t dc_calib, int32_t ref_voltg, int32_t ref_sadc);
							 | 
						||
| 
								 | 
							
								int32_t atb_for_adcref(uint8_t *trim_adcref, int32_t dc_calib, int32_t ref_voltg, int32_t ref_sadc);
							 | 
						||
| 
								 | 
							
								int8_t dcdc_1p2v_test(uint8_t *trim_dcdc, int32_t dc_calib, int32_t ref_voltg, int32_t ref_sadc);
							 | 
						||
| 
								 | 
							
								int32_t at_vbg_test(int32_t dc_calib, int32_t ref_voltg, int32_t ref_sadc);
							 | 
						||
| 
								 | 
							
								int32_t vtemp_test(int16_t *vtemp, int32_t dc_calib, int32_t ref_voltg, int32_t ref_sadc);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								* if return -1, discard the part;
							 | 
						||
| 
								 | 
							
								* if return 0, reset the cfg_dly and f_h.
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								int32_t rx_adc_eoc_meta_task(uint8_t *cfg_dly, uint8_t *f_h);
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								* used for sadc ftm test
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								void sadc_ftm(void);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |