I am trying to use two of your products together, but it seems that they are incompatible, since I cannot get a correct value from the register that is supposed to be "reliable" (register 0x3c from the LTC1760).
I performed these readings with an Arduino and with an ATMega328P, which is the microprocessor that I want to use in the final configuration.
The circuits that I am using are the ones from both datasheets, but I'm going to describe the connections in the LTC4316 anyway:
-> Connection between pins 18 and 22 from the 1760 to pins 9 and 8 from the 4316;
-> Pullup resistors in both input and output of the 4316 of 10k ohm;
-> Supply voltage of 3.3V and 5V (don't make a difference);
-> Enable pin (4316) connected to the power supply;
-> 4 resistors connected to XORL and XORH pins of the 4316;
Tests already performed:
-> Using pull up resistors with lower values (2k2, 4k7);
-> Using pull up resistors only in the SCLOUT and SDAOUT of the 4316, and connect pull up resistors to the microprocessor;
I have already check the SDA and SCL signals on the oscilloscope and the original signals are correct (LTC1760 only), but when they are passed through the LTC4316, there are spikes in the SDA signal as well as SCL drops sometimes, to a lower voltage.
Also, these tests are being performed to parallel several of these sets (LTC4316+LTC1760). When I connect more than one, the addresses start to be recognized only intermittently and sometimes the I2C bus even crashes, failing to recognize any address.
Do you know what can be causing this?
Thank you very much.
It is possible for a glitch on the SDAOUT to occur. There is an explanation in the "Extra Transitions on SDAOUT" section and depiction in Figure 7 in the datasheet. This should not cause a problem with communication though.
Pull-ups on both bus segments are required. Lets keep those in place.
Could you attach a scope shop of communication and a schematic for the LTC4316 supporting circuit?
First of all thank you very much for your quick response.
Now, I have started by mounting the following circuit, as described in the Datasheet:
Since this morning, I performed other tests and I could perform a couple of good readings with this circuit:
However, I am performing a verification through the i2c bus addresses (from address 8 to the 120th) and I have obtained these results on the oscilloscope:
So, after a couple of these readings, the bus shuts down and the micro processor crashes. As you can see, the signals in the bus are a little strange ...
Do you know what can cause this?
On the schematics, the LTC4316 SDAIN and SCLIN are tied to the VCC side of the pull up resistors. They need to go to the other side of the pull-ups. The LTC4316 won't be able to see the logic lows or pull the bus low if it is setup like in the schematic. The LTC1760 has the same issue.
Try making those changes.
I'm very sorry for that error, but as you can see in the picture, the wires are connected to the pins from the LTC, not in the Vcc side. You can see that in the oscilloscope pictures too, since if it connected otherwise the voltages would always be 3.3V.
So, that problem is "fixed" already.
Apologies for the slow response. I somehow missed the notification there was a new post on the forum.
So if you haven't got this circuit going yet, could you try setting the LTC4316 to pass-trough mode and see what happens. (Pull XORH high)
Are you using the an Arduino sketch to communicate?