This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DAC101C085引脚断开I2C总线

Guru**** 1118110 points
Other Parts Discussed in Thread: ADS1115, DAC101C085
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/617188/dac101c085-pinchs-off-i2c-bus

主题中讨论的其他部件:ADS1115,DAC101C085

我们现在正在将开发板帮助编写的软件迁移到实际的硬件。 在读取另一个TI产品ADS1115 ADC时,我们遇到了DAC101C085CIMM/NOPB的问题。 DAC似乎将总线连接至GND。 所以我们实际上看到,ADC正在尝试在SDA上驱动数据,因为在我们预期为1的地方,小波形是可见的。 我们不理解这种行为的原因。 但是有一点我们很清楚:从总线中移除DAC有助于与ADC正常通信。 这一点已经得到观察。

基本上,我们发送一个字节(在地址字节之后),然后读取两个字节(在地址字节之后)。 应该读取的两个字节无法正确传输。

这是读取ADC (未安装在PCB上的DAC)的预期行为:

启动|1001 0000 (W)|ACK|0000 0001|ACK|STOP ... 启动|1001
0001 (R)|ACK|1000 0101|ACK|1000 0011|nack|stop1000 0011|nack|stop</s>0011

这是总线(安装在PCB上的DAC)的实际行为:

启动|1001 0000 (W)|ACK|0000 0001|ACK|STOP ... 启动|1001
0001 (R)|0万|ACK|0000 0000|nack|stop0000 0000|nack|stop</s>0000

在SW发生故障后,由于数据是胡说八道,使用示波器"手动"观察到这两种模式。 AC。根据I2C标准,一切都很好,但接收到的数据是错误的。 DAC的ADC I s0x48的地址为0x0C。

我只是问自己,TI是否已经知道这个问题,以及除了将DAC连接到单独的总线或切换至其他产品(例如Microchip的MCP4725)之外,是否有其他措施可以解决这个问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Maximilian:
    欢迎参加e2e论坛!

    我认为此问题是因为您正在使用DAC的广播地址来寻址ADC (0x4810.01万1001000)。100.1万。 无论ADR1和ADR0设置如何,DAC101C085都对广播作出响应。 当您尝试从ADC轮询数据时,DAC正在通过将数据线拉低来进行数据处理。 这将中断来自ADC的通信。 尝试更改ADC的地址,查看问题是否仍然存在。

    此致,
    Garrett