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.

[参考译文] INA3221:当 A0连接到 SDA 时、无法读取器件寄存器

Guru**** 2560390 points
Other Parts Discussed in Thread: INA3221, TCA9406, INA226, MSP430F5500

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/803827/ina3221-unable-to-read-device-registers-when-a0-is-connected-to-sda

器件型号:INA3221
主题中讨论的其他器件: TCA9406INA226MSP430F5500

您好!

我们在平台上使用3个 INA3221进行总线/分流电压测量。 在3个器件中、2个器件正常工作并提供正确的测量值(一个器件 A0连接到 VDD 3.3V、另一个器件 A0连接到 GND)这两个器件都连接到电源(0.7V 至2V)之间。 在第三个通道上、仅使用2个通道(通道1 1.8V 和通道2 3.3V)、我们无法从第三个器件读取任何数据。  

I2C 线路上的上拉电阻为4.7K。 下面是原理图  

我们还观察到、当我们尝试在示波器和探头(10Mohm 10pF)上观察 SDA 信号时、电阻器 R875 (位于 IC 的末尾)能够读取寄存器并进行电压测量。 推测该探针会增加电容(10pF)、该电容会以某种方式影响总线。 但我们看不到器件文档中提到的有关 A0连接到 SDA 时电容要求的任何内容。

注意:我们还在使用4个 INA 的其他平台上观察到此问题、其中问题在于 A0连接到 SDA/SCL 的器件。   

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

    感谢您考虑使用德州仪器。 我需要澄清一些问题、以确定您的器件或设置可能有什么问题。 您说设备无法通信。 那么、从器件 INA3221在每次从主器件传输后都发送一个 NACK 信号吗? 如果是、您说器件在连接示波器探头时发出确认和正确的响应? 连接探头时传输到主设备的读数是否正确? 您是否有分离的接地平面? 如果您的从器件处于一个接地电位、而您的主器件处于另一个接地电位、则可能会导致问题。 同时、我将与我的团队一起查看电容或其他因素是否会对您的问题产生影响。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Patrick:

    我们在 通道1和无源探头通道2上使用了有源探头(R:100K C:700 FF)(R:10m C:11pF)、并捕获了一些波形。 当 A0被连接至 SDA 时、INA 看起来不能下拉 SDA 线路。 对于所有捕获、我们将寄存器指针设置为0x0。

    低于捕捉当 CH1连接到 SDA、而 CH2连接到 SCL 时、INA 发生故障(A0连接到 SDA)。

     以下捕捉当 CH1连接到 SDA、而 CH2连接到 SCL 以使 INA 工作(A0连接到 GND)时。

    低于捕捉当 CH1连接到 SCL 且 CH2连接到 SDA 时、因为 INA 发生故障(A0连接到 SDA)。

    如您所见、当我们将 SDA 连接到通道2时、INA 能够下拉 SDA 线路、数据是正确的。

    我们电路板上没有分离的 GND 平面、主从平面位于同一平面上。

    此外、总线上还有一个 TCA9406电压转换器、它在线路进入 INAS 之前将1.8V 转换为3.3V。 该转换器在 SDA 和 SCL 线路上都有内置的10K 上拉电阻器。

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

    我需要由我们的一些设计工程师来解决这个问题、以确定发生这种情况的原因。 不过、在此期间、我查看了我们的 EVM 原理图/布局文件、并注意到我们没有在 A0和用于设置地址的任何引脚之间使用上拉电阻器。 实际上、使用了跳线短路。 因此、我认为您可能需要用短整型替换 A0和 SDA 之间的10k。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Teja、

    刚刚与我们的一位设计工程师交谈过。 他也认为,A0和 SDA 之间不应有10k。 他说、通过将电阻器放置在这里、您会为 A0处的内部检测电路创建一个不良条件。 在用短时间交换这个10k 后、如果您仍然遇到通信问题、请在下面通知我。 否则、现在我认为这应该可以解决您的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Patrick:

    我们已用短路的方法更换了10K 电阻器、但问题仍然存在。 但现在、即使我们连接探针、数据也无法正确传输。

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

    很遗憾听到这种情况不起作用。 我将进一步研究此问题、并在实验中进行探讨、以查看是否可以重复您的问题。 因此,我可能需要一整天左右的时间才会为你作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Teja、

    我在实验室中对 EVM 进行了一些测试、但在复制结果时遇到了一些困难。 但是、我和同事讨论了这一点、我们认为您对电容帮助的猜测可能是有效的。 通过查看您提供的示波器截图、我们注意到当 SDA 线下降得更快时、器件无法确认。 在与我们的一位设计工程师交谈时、他提到数据表中的数据保持时间规格可能不正确、并且应该与 INA226数据表中的数据保持规格相似(10-900ns)。 考虑到这一点、探头的 RC 常数(100k、700fF)为70ns、在几个 RC 周期内、信号应降至低于 VIL 阈值。 因此、我们认为更多的电容可能会满足很长的数据保持时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Patrick:

    如果我正确理解这一点、您会说、当 A0连接到 SDA 时、由于在 SDA 路径中添加了逻辑、我们会得到保持时间违反。 我们需要延迟 SDA 的边沿以增加保持时间、添加探针会增加 SDA 下降时间、从而延迟边沿并满足保持时间要求。 是这样吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Teja、

    是的、当 A0连接到 SDA 时、您的主器件可能无法为 INA3221提供足够的保持时间。 通过从无源探头添加一个 pF 大小的电容器、看起来 SDA 的下降沿被延迟、INA3221能够捕捉地址值高位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Patrick:

    我测量了 SCL 下降沿和 SDA 下降沿之间的时间、为125ns、我检查了不同的频率。 当我在 A0上放置10k 电阻器并在电阻器上进行探测时、这会形成 RC 电路(10k、11pf)、现在 SDA 和 SCL 负边沿之间的延迟为235ns、INA 正在响应。 您能否在设置中测量 SCL 和 SDA 负边沿之间的延迟? 您的设置可能会有更多延迟、这就是您无法重现此问题的原因。 我们使用的主器件是 TI MSP430F5500 @ I2C 频率71kHz。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Teja、

    我们的 EVM 似乎使用的时钟频率约为13kHz。  下图中两个高地址位的 SCL 下降沿和 SDA 下降沿之间的时间分别为26us 和21us。  因此、这可能是我们从未遇到过任何问题的原因。

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

    因此、我也尝试使用10kHz 时钟、但 MSP430F5500提供125ns 延迟、而与时钟速度无关。 您是否可以通过 MSP430F5500增加此延迟? 。 此外、125ns 也在您提到的规格范围内(10-900ns)、因此 INA 为什么无法正确捕获数据? 现在、我不确定这是主 MSP430不满足保持时间要求的问题、还是从器件无法捕获数据、即使保持时间在规格范围内。 如果这是 MSP430F5500的问题、我将发布另一个与此相关的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Teja、

    除了一个电容器、我没有一种增加延迟的好方法。  关于这个问题、我做了更多的挖掘、并与另一位设计工程师讨论了这个问题。  他有一个不同的理论、你可能会检查。  他认为您的 A0引脚可能会看到大量噪声、这可能会使内部检测电路断开。  关于这一点、通信是否总是失败或是否间歇性工作?  他建议用于确定 A0是否有噪声的一项测试是使用您的设置、该设置通常在 A0连接到 SDA 时失败、并发送 A0连接到 SCL 的地址。  如果器件在此测试中做出响应、则可能会有大量噪声耦合到 A0引脚。  如果您可以确认这一点、那么我们可以研究一种降低该噪声的解决方案。

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

    尊敬的 Patrick:

    我们是否需要像将 A0连接到 SCL 那样直接将地址发送到器件、或者我们实际上是否需要将 A0连接到 SCL 而不是 SDA?

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

    您好、Teja、

    对于该测试、我们希望将 A0连接到 SDA。  检测电路循环比较电压电势、检查三个电势、并将 SCL 电势视为其他条件。

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

    尊敬的 Patrick:

    当 A0连接到 SDA 时、通信总是失败。 我已经在其他具有4个 INA 的电路板上进行了检查、其中一个 A0连接到 SCL 在这些类型的电路板上、A0连接到 SCL 的 INA 间歇性故障。 A0连接到 SDA 的 INA 也总是在这些电路板上发生故障。

    我们还在具有较短 I2C 线路的不同板上使用4个 INA、在该板上所有 INA 均正常工作。 因此、这可能是信号质量问题。

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

    您好、Teja、

    根据您刚才所说的、嘈杂 A0假设可能是对正在发生的情况的更详细解释。   我接下来要做的是取消配置连接到 SCL 的器件、并查看 A0=SDA 连接的器件是否从 A1=SCL 地址消息打开。  由于 A0=SCL 器件间歇性故障的原因、这可能是两个器件都认为它们是 A0=SCL 的仲裁问题。  对于具有较长 I2C 线路的电路板、这些线路是通过开关模式电源的任何开关节点还是靠近这些开关节点?

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

    您好、Teja、

    自您上次发布以来已经有一段时间了、因此希望您的问题得到解决。 如果您需要进一步帮助、请回复 Patrick 的最新回复、以便我们继续为您提供帮助。

    此致、

    Ian Williams
    应用经理
    电流和磁感应