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.

[参考译文] ADS112C04:I2C 错误。

Guru**** 2582405 points
Other Parts Discussed in Thread: ADS112C04

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1002516/ads112c04-i2c-error

器件型号:ADS112C04

大家好、

如下面的波形所示、即使在 NG 处为8位高电平、SDA 也是高电平。


当输入为0时、通常会发生这种现象。
该波形会发生什么情况?
请告诉我您的建议。

此致。
Kengo。

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

    您好 Kengo、

    在 NG 图片中、主机器件发出 STOP 条件、因此通信未完成。  此操作不是由 ADS112C04发起的、而是由发起通信的主机(微)发起的。  由于某种原因、主机在通信完成之前停止通信。  您需要查看通信代码、以确保状态机适用于正在进行的通信。

    此致、

    Bob B

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

    尊敬的 Bob:

    非常感谢您的回复。
    我将与我的客户核实您的意见。

    如果我有其他问题、我将在这个主题中发帖。


    此致。
    Kengo。

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

    尊敬的 Bob:

    主机侧没有通信。
    因为主机和 ADC 之间有一个隔离器,GND 电平也不同。
    因此、在下面的 NG 波形中、可以确认 GND 电平已下降、因此它已从 ADC 降至低电平。



    这种现象偶尔发生。
    它每1ms 读取一次、每两天显示一次。
    两个中有两个发生了。

    请告诉我您的建议。

    此致。
    Kengo。

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

    您好 Kengo、

    我真的不知道该告诉你什么。  我没有看到原理图、因此很难帮助解决与 ADS112C04无关的问题。  问题是缺少第8个和第9个 SCL 时钟。  时钟来自主机器件、而不是目标。  因此、微控制器或隔离器似乎存在问题。

    使用的隔离器是什么?  对于示波器快照、正在探测隔离器的哪一侧?  至于电平的差异、这会出现在两个示波器图中。  您需要确保在 I2C 总线上使用了正确的上拉电阻器、并向隔离器施加了正确的电压。  由于图中显示正在发送地址、这意味着通信通过隔离器来自微控制器、并且未充分将输出拉低。

    此致、

    Bob B   

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

    尊敬的 Bob:

    非常感谢您的一贯支持。
    我对您的评论非常有帮助。

    根据您的注释、第8位是否不是 ADC 的输出数据?
    原来、第8个数据是从主机端发送的?
    我对 i2c 不是很熟悉、请告诉我。

    此致。
    Kengo。

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

    您好 Kengo、

    可在以下 TIPL 培训 中查看有关 I2C 协议的概述:https://training.ti.com/ti-precision-labs-i2c-protocol-overview?context=1139747-1138099-1139709-1137849

    我无法完全确定、但您显示的2个图似乎发出了一个 I2C 启动条件、后跟7位地址。  第8位将确定通信是读取(位高)还是写入(位低)。   

    标有 OK 的图看起来是从目标器件读取的、而 NG 图看起来是对目标器件的写入。  但是、NG 图从不显示第8个 SCL 完成。

    当器件被寻址时、SDA 上的 ACK 将来自目标方、以表示器件能够与主机通信。  通信序列中的任何后续 ACK 将取决于通信方向。  对于任何写入序列、目标都会 ACK。  对于任何读取、主机都会 ACK。  但在任何情况下、SCL 始终来自主机。

    此致、

    Bob B

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

    尊敬的 Bob:

    非常感谢您的回复。

    在这种情况下、我的客户每隔1毫秒只读取一次命令。


    好的、NG 会观察到相同的位置。



    如果您有任何意见、请告诉我。

    此致。
    Kengo。

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

    您好 Kengo、

    我唯一能给出的评论是我在线程早期所说的同一条评论。  序列的剩余部分没有显示时钟。  SCL 变为高电平并保持该状态、ADS112C04正在等待所需的时钟数进行传输。  SCL 来自主机器件。  可能有东西不会通过隔离器、因此应检查隔离器的两侧、以验证主机发送的任何内容是否显示在隔离器的两侧。

    我不确定是否可以提供进一步的帮助或指导、因为这显然不是 ADS112C04的问题。

    此致、

    Bob B

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

    尊敬的 Bob:

    非常感谢您的评论。
    我明白了。
    我将与我的客户讨论您的评论。

    此致。
    Kengo。