It functions, but there is a noise problem that I don't understand. The signal I am trying to digitize is very clean (for what I need.) When I connect it to the LTC2440, however, I get a very large amount of noise. It seems to come from the LTC2440 itself, although the noise on the input is larger than the noise on the 5V supply to the LTC2440.
What I am trying to measure is a slowly changing DC from the MAX2015. I need the DC voltage accurate to 0.00001 or better. The voltage represents the level of 13GHz RF received by a satellite dish LNB. Right now, the circuit far outperforms the original solution I had that used a SatFinder to provide the level reading voltage.
I expect to have to improve the circuit and layout in order to get the performance that the LTC2440 is capable of. This question is NOT about that, though. Here I am only trying to find the cause of the enormous peaks that you can see below in the picture labeled "Noise on LTC2440 Input."
Noise on LTC2440 Input (pin 5):
Signal (Output from U5 MCP6231 pin 6, when disconnected from LTC2440 pin 5): This picture doesn't do the real signal justice. The camera has a problem capturing the trace. If it is bright enough to be sharp, the camera captures the glare around it. If the trace is dim enough that the camera doesn't capture the glare, then it also doesn't capture the trace. In reality, the trace is a razor thin line with small, slow, excursions. If you look closely, there is a thin, almost white line down the middle of the fuzz. That's the signal. The rest fuzzy from the glare. Even so, that is a small fraction of 1mVolt as compared to the approx. 10mV peaks in the noise picture above.
The MCP6231 was added during testing because I found that the MAX2015 puts out a lot more noise than I expected. The simple RC filter clears that up, but doesn't make the glitches go away.
5Volt to LTC2440:
3.3Volt to MCP6231:
I see two things. One is noise where there should not be, and two is an absence of bypass/decoupling capacitors at your LT1019 voltage regulator, and pins 3 and 4 of your ADC ref inputs, and minimal filtering at your op-amp.
Your op-amp only has minimal filtering with a 100nF capacitor. I would add a 4.7uF across its power pins. Add a 100nF and 4.7uF capacitors to pins 3 and 4 of your ADC. Also your main power feed could use a 470uF capacitor at pin 2 of the voltage regulator.
Make sure the grounds leads from the RF receiver to the op-amp and ADC are as short as possible. Get the power feeds clean first, then check for signal clarity again.
The main problem is that the voltage reference (LT1019) is not suited for that ADC. The ADC requires substantial decoupling on the REF inputs because it is an unbuffered input and will glitch merrily at whatever sampling frequency you are running at. However, the LT1019 likes to run without output decouplers. It's a very old device and the data sheet is poor and just does not tell you how good the LT1019 is at dealing with high frequency switching noise caused by the DAC. More modern devices show a graph of output impedance versus frequency to give you better facts to work with.
This is also true of the inputs but at least you are using a buffer amp (MCP6231). However, that buffer amp has a very poor equivalent input noise (50 nV per root(hertz)) and, now that I've checked does not specify what uoutput impedance it has versus frequency either. Poor choice of op-amp and poor voltage reference.
There may be other things wrong too but these stick to me.
I think I know where the problem is coming from, and why it isn't affecting my measurements as badly as I would expect from the size of the peaks.
While putting things together to post this question, I had to dig out the LTC2440 datasheet again. I also had good look at the pictures of the scope traces while cropping them.
The peaks occur at the sampling rate of the LTC2440. That is 880Hz the way I am operating it.
Pages 23 and 24 of the LTC2440 datasheet, explain what happens when the LTC2440 samples, and it also explains the peaks. The LTC2440 appears to need a very low impedance source to sample from. The datasheet also explains how to drive the LTC2440 so as to keep the peaks from being a problem.
Basically, driving directly from a simple non-inverting buffer won't cut it.
You need a hefty capacitor on the input (1µF) and an op-amp configured to drive that capacitor. The capacitor supplies the current needed by the LTC2440 input, and gets recharged to the correct voltage by the op-amp between samples.
So, my low power MCP6231 isn't up to the job of driving the LTC2440.
The interesting thing for me is that this explains why I'm not getting completely crap results. I tested the circuit with a small program that just reads a bunch of values and calculates the peak-to peak AC. The peak-to-peak values were in the range of 1mVolt, which wouldn't be possible if it were simply noise - the spikes are 15mV high.
I think what is happening is that my little MCP6231 manages to pull things within 1mV of the real signal before the sampling takes place in the flat spot between peaks.