I am making a sensor sampling circuit with an AVR microcontroller sampling my AD7492BRUZ ADC at about 500 Hz (low frequency just for testing).
The problem I have is that the ADC doesn't output all digital values within its 12 bit range. Instead, it will stay at a certain value for a large input voltage interval (e.g. 0x031C) and if the value is noisy at some input voltage it will not affect only the LSBs but also the higher bits. Also, the value will in that case flicker back and forth from e.g. 0x0318 to 0x033C or 0x0310 but never any value in between.
At first I thought I might be reading the output too soon but since I am waiting for the BUSY signal from the AD7492 to go low before I read that shouldn't be an issue. I am running the ADC with the ~CS and ~RD signals tied low and in high speed sampling mode (i.e. no power saving mode in between samples).
I am pretty new in this area. What could be the reason why the output behaves like this?