AnsweredAssumed Answered

AD7608 Design Difficulties

Question asked by neltnerb on Oct 3, 2011
Latest reply on Oct 16, 2011 by neltnerb

Dear Forum,

 

I am attempting to design a new system around the AD7608 8-channel 18-bit ADC. However, I am running into some confusing behavior and I was hoping that someone here might have some guidance.

 

First, I think I have working communication, but the data I am getting from the system is very strange. It will sit at what seems to be potentially valid data (i.e. stable high bits, fluctuating LSBs), and then seem to get locked into a nonsensical state.

 

For instance, after parsing into 18-bit packets, I see this for each channel (in 2s complement, so the first value is negative for some reason).

 

3EFFC
653D
6535
654B
6579
6597
657F
7A26

 

followed by

 

3EFF0
653A
6531
6546
6574
6593
657A
7A26

 

So, maybe not valid, but definitely at least apparently reasonable.

 

However, two samples later, I'm getting this:

 

404
1010
4040
10101
404
1010
4040
10101

 

and these *exact* values repeat for hundreds of cycles. Then later on it gets locked here:

 

20606
1818
6060
18181
20606
1818
6060
18181

 

again with these *exact* values repeating for hundreds of cycles. Another popular locked state is this:

 

20202
808
2020
8080
20202
808
2020
8080

 

And at some point it's just printing out zeros.

 

As far as I can see the device never actually recovers, and instead just switches between different obviously wrong states for the remaining time that it is on. This happens within seconds of turning on the system.

 

When I work out the binary original packet sent from the AD7608, these three locked states look like basically a series of 10000000 sequenced over and over. I don't know how the communication could be working such that it would produce a 1 every eighth serial clock with an offset.

 

Other odd behavior includes the negative inputs to each differential input floating at 190mV (on all channels) despite a 100k pulldown to ground. There are no other electrical connections to the pin on my circuit, so it seems that there is a 2.6M impedance between the negative terminals and 5VDC in the circuit (or a 1.9uA bias current out of the pin). The pins themselves are surrounded by ground plane. This seems very odd, and is uniform across all of the inputs when not connected to anything else. The positive inputs are all floating at 1.956V when left unconnected (they are not pulled down to ground).

 

Could these two oddities be related?

 

As far as I can see on my oscilliscope the SPI lines are clean, so I don't think that is the problem.

 

I'm really at a loss here to explain this behavior. I seem to have valid communication going on, but the chip itself seems to be locking up for inexplicable reasons and then outputting not nothing, but instead something crazy. I've attached my arduino firmware; it should automatically output the received data as 2s complement after parsing to the serial monitor.

 

Best,
Brian Neltner

Outcomes