Files
kunlun/dtest/ate_test/sadc_t.h
2024-09-28 14:24:04 +08:00

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