2022-01-14 12:49 AM
Hi,
I use 16-bit ADC to collect small-value ac signals, and then use USART to transmit them to the computer for reading. The following figures are the result I read. The amplitudes of the two signals are respectively 20mVpp and 100mVpp, and we can clearly see that there will be a certain clipping (i.e. several points keep the same reading) at the base of the signal and at the minimum and maximum values. Remember, I'm using a 16-bit ADC with a resolution of up to 50uV, so it's theoretically difficult to have the same value for multiple points in a row. May I ask what reason this is?
2022-01-14 06:09 AM
> Remember, I'm using a 16-bit ADC with a resolution of up to 50uV, so it's theoretically difficult to have the same value for multiple points in a row. May I ask what reason this is?
ADCs are not perfect and will always contain some amount of error.
The datasheet suggests you lose at least 2-3 bits of precision. So your 16-bit ADC is really mroe like a 12-13 bit one. In any case, you should not expect 16 bits of noiseless precision.
General tips for improving accuracy are here:
2022-01-16 05:29 PM
Thanks for your answer. But I still have a few questions. Firstly, in a continuous sampling process, ADC can maintain the sampling rate of 16-bit for most of the time, but the sampling rate of ADC will be seriously reduced from 16-bit to 10-11-bit at some specific voltage points, including the maximum and minimum values of the signal and the reference voltage. What could be causing this disturbance? The second question is that I am using NUCLEO for sampling. If the performance of the ADC on the NUCLEO is not up to par, do I have to modify the program to improve the sampling accuracy according to the AN2834 reference manual?