Hello,
We have been seeing intermittent failures of ADC calibration (called in our ADC initialization) upon a software reset. It happens 1 in 5 or so times we do the software reset.
In the ADC init we are calling the ADC_DRV_DoCalibration() function, provided by the SDK, which returns with a failure.
Also, before calling the calibration function, in init, we are calling ADC_DRV_GetDefaultConfigConverter() and ADC_DRV_ConfigConverter() to configure with the default config, with one modification of setting the conversion mode to one shot mode.
I looked at the reference manual for possible causes of calibration failure, and found that a normal conversion triggered could cause calibration to fail, but I checked the ADCSTATUS and confirmed that it was in idle before calling the calibration function.
What are the other causes of ADC calibration failure? Where can I look (documents or register values) to find more information?
Thanks,
Saurabh
Solved! Go to Solution.
Hi Saurabh,
I saw that there are only two reasons. As you mentioned, either a normal conversion is triggered during the calibration or the ADC is simply not able to calibrate itself. Usual action is to do more attempts. That's, in fact, the only solution. Unfortunately it is not possible to get more details from register values.
Regards,
Lukas
Hi Lukas,
Thanks for the help. I was able to complete successful calibration in the 2nd or 3rd attempt. So I put it in a while with max of 3 attempts.
Accepting your solution, but I am curious if you have had any other such reports? Just want to make sure I am not masking a real issue here.
Thanks,
Saurabh
Hi Saurabh,
I saw that there are only two reasons. As you mentioned, either a normal conversion is triggered during the calibration or the ADC is simply not able to calibrate itself. Usual action is to do more attempts. That's, in fact, the only solution. Unfortunately it is not possible to get more details from register values.
Regards,
Lukas
Hi expert! For this issue, is there any explanation on "ADC is simply not able to calibrate itself"? What is the mechanism of ADC calibration?