We are right now migrating software which was written with the help of dev boards to the actual HW. While reading from another TI product, the ADS1115 an ADC, we experienced problems with the DAC101C085CIMM/NOPB. The DAC seems to wire the bus to GND. So we actually see, that the ADC is trying to drive data on SDA since small ripples are visible where we expect 1s. The reason for this behavior we do not understand. However one thing is clear to us: Removing the DAC from the bus helps to be able to communicate properly to the ADC. This has been observed.
Basically we are sending one byte (after the address byte) and then we are reading two bytes (after the address byte). The two bytes which are supposed to be read out fail to be transmit properly.
This is the expected behavior reading out the ADC (DAC not mounted on the PCB):
START|1001 0000(W)|ACK|0000 0001|ACK|STOP ... START|1001
0001(R)|ACK|1000 0101|ACK|1000 0011|NACK|STOP
This is the actual behavior of the bus (DAC mounted on the PCB):
START|1001 0000(W)|ACK|0000 0001|ACK|STOP ... START|1001
0001(R)|00000000|ACK|0000 0000|NACK|STOP
Both patterns were observed "by hand" with an oscilloscope after the SW failed as the data was nonsense. Ac. to the I2C standard everything is fine but the received data is false. The address of the ADC i s0x48 of the DAC it is 0x0C.
I was just asking myself if this issue is already known by TI and if there is anything to do about it except of conducting the DAC connected to a separate bus or switching to another product e.g. the MCP4725 from Microchip.