I'm having a particularly weird issue where I'm not receiving half of the converted values. When streaming conversions, I will receive three (seemingly) consecutive conversions, and then three or four conversions disappear, and then I'll get another three seemingly consecutive conversions.
I know I'm getting 3 and missing 3 (or 4) because I'm feeding a sine wave in the ADC ch0 input and plotting the converted values on my computer. Every 3 points, there's a jump.
Does this seem like a familiar issue? Am I somehow not accounting for some cooldown period?
I'm currently operating the chip in:
Ch0 on (Ch1,2,3 are all off)
Continuous Conversion mode (Sync_en off, Err_en = 11)
Default Setup0, Gain0, Offset0
IOCLK = 500Khz
I'm just testing the part with a 30 Hz, 1V pkp sine wave and I've set the output data rate to 10Ksps.
Right now I'm only using one channel in continuous conversion mode and I'm framing each read with a CS pulse. Below are the following register values:
My IO frequency is 625Khz.
My interface works as such:
My SPI reads the status register and checks that there is a ready conversion. If there is a ready conversion, it reads the data register.
What's really really odd is that I have to read the status register an irregular number of times before a conversion is ready. Sometimes I need to read the status register 4 times, sometimes just once.