I am getting a weird behavior from reading the ADS 7823. Instead of returning the value on a a read it gives back its own address in the first byte and 11111111 for the remaining 7 bytes.
The circuit is on a fab'd PCB that I designed. The supply is +5V for the whole circuit. I connect to the board with a PIC and trying to read in 4 samples as the ADS 7823 supplies over I2C. I have 2k ohm pull-up resistors on each SDA and SLC lines. It takes a 3 wire RTD, converts it to voltage, amplifies it to a 0-2.5V scale and hands that to the ADS 7823 analog input. The reference voltage is supplied by a tuned lm336-2.5. I have two boards constructed so far and tested. I incorporated test points and all my analog signals are fine: steady and accurate.
On the first board I have never seen a good value come through. All I get is address back as mentioned before. I tried changing the address from both to ground to both to supply and it didn't report anything back. I haven't tried that board since. I had solder bridging the ADC's pins 5-8 when I first reflowed it, so I used an iron and wicked it away. I tried a second PIC and had the same issue. I thought I may have overheated it and tried the second board I built.
The second board had one bridge between v-ref and v-in that I quickly wicked away. This board actually reported back values on all 4 sample per read at first for at least 40 reads. I tried it again later and it didn't work. It started doing the same thing as the other: giving back its address and 7 maxed bytes.
I don't have a scope which makes this a pain. I checked continuity before and after soldering. All the voltages are right. The program is simple, writes the address, writes the command, reads in 8 bytes, serial out to my PC and loops. I am at a loss for what is wrong.