I am having issues detecting my LTC2309 ADC with the "i2cdetect" command (over PuTTY). Well, most of the time... I am able to detect it in a very specific situation: So, I have 2 LTC2309s. I have 2 power sources, a 3.6V powering a whole bunch of devices along with a BeagleboneBlack; and a 5V powering the LTC2309. If I power on both power sources with one of the ADCs hooked up (as shown in the image provided, which I will explain more later), remove the hooked up LTC2309 (with power still on) and replace it with the not-hooked-up one, I will be able to detect the device over i2c once... any subsequent i2cdetects will do the slow read where it takes about a second to read each potential i2c address and inevitably will detect nothing. Why such specific conditions lend the device to be detected, I don't know. It is just what I have observed.
Anyway, besides that weird situation, I just cannot get the ADC to be detected over the i2c. When I try to detect it, it will read all potential addresses very quickly as it normally would up until whatever I have the ADC's address set to and from there it will slow down to an address per second and not detect anything. For example, if I have the ADC's address pins set to low-low (0x08), the i2cdetect will read normally up until 0x08 and all subsequent addresses are slow and not detected.
I have read through the datasheet and have gotten an advisor of mine to do so as well and neither of us see any issues with my setup. I will now describe my setup, shown in the attached image. The LTC2309 is the device at the bottom center. I have the Vdd inputs (green) set to 5V; address pins, COM, and GND pins set to ground (white); and SCL (orange) and SDA (blue) connected to a TCA9548A multiplexer (blue device at top center) which is then connected to a Beaglebone Black (right). The multiplexer and BBB are powered by 3.6V. I have also tested using pull-up resistors on the SCL/SDA lines. In the image, I have 1.8K ohm resistors connected to the 3.6V power (red). However, I have tried them connected to the 5V power line, I have tried only using a pull-up on the SDA line (as the datasheet states), I have tried various resistor values ranging up to 10K. I have also tried connecting every channel input of the LTC2309 to GND as another post on this forum suggested. I have tried isolating the device - connecting the i2c lines straight tho the BBB, and supplying power only to the ADC and BBB. I have tried powering the ADC with 3.6V, as that is what the BBB accepts, so they have the same voltage input. I've tried all these things, the image is just showing the current state of my setup to give a general idea of how I have things connected.
As you can probably guess, nothing has worked. I'm out of ideas. Both of the LTC2309s I have act identically, so I have a hard time believing something is actually wrong with the device, or that they are both soldered wrong. These are brand new btw.
Another interesting thing I have observed is that when I do have the ADC connected to the multiplexer, before trying to i2cdetect whatever is on channel 7 (where I have the ADC connected to), the multiplexer works fine - I can change channels easily, i2cdetect works fine. However, once I change to channel 7 and i2cdetect, which will do the slow thing I mentioned, I will then not be able to send commands to the multiplexer. It wont be able to change channels anymore. I have to cycle power to get the multiplexer working again. That is probably more of an issue with the multiplexer, but I just thought I would mention it.
If there is anymore information I can provide, let me know because i'm sure i'm forgetting something...
My setup is as follows:
The data sheet contains the below paragraph which you are completely ignoring.
To obtain the best performance, a printed circuit board with a solid ground plane is required. Layout for the printed board should ensure digital and
analog signal lines are separated as much as possible. Care should be taken not to run any digital signals alongside an analog signal. All analog
inputs should be shielded by GND. VREF , REFCOMP and VDD should be bypassed to the ground plane as close to the pin as possible.
Maintaining a low impedance path for the common return of these bypass capacitors is essential to the low noise operation of the ADC.
I do not see any bypass capacitors. There is no ground plane. The long wires allow signals to be cross coupled. I would suggest acquiring the DC1337A demo board if you do not have the resources to build you own PCB.