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.

[参考译文] INA229-Q1:锁存警报读取0、即使 CNVRF = 1且存在故障条件

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1107584/ina229-q1-latched-alerts-read-0-even-thought-cnvrf-1-and-fault-condition-is-present

器件型号:INA229-Q1
主题中讨论的其他器件:INA229

我们在连续转换模式(MODE = 0xF)下使用 INA229。
警报被锁存(ALATCH = 1)以确保 MCU 不会错过故障条件。
我们还将使用警报的平均值(SLOWALERT = 1)、尽管问题在没有的情况下是可重现的。

当 ALERT 引脚被拉低时、MCU 进入一个环路、在这个环路中、它读取 DIAG_ALRT 寄存器、直到 BUSUL 位被清除。 由于我们使用锁存警报、读取 DIAG_ALRT 会清除 BUSUL 位、这是预期的、因此我们还必须检查 CNVRF 位是否已设置、否则我们可能只是从之前的读取中读取已清除位。

但是、经过几次迭代或读取 DIAG_ALRT 寄存器后、尽管 VBUS 仍处于下限状态、但我们读取 CNVRF = 1和 BUSUL = 0。

我的假设是在每次转换完成后设置锁存警报、实际上是这样吗?
2.如果1.正确,是否有一个 CNVRF 被置位但尚未计算 BUSUL 的周期,此时读取寄存器将返回不一致的数据?

请注意、禁用锁存警报可解决此问题、但这在我们的应用中不是一个好的解决方案、因为 MCU 没有针对 ALERT 引脚的中断、并且可能会错过短时间的故障条件。

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

    Nout、您好!

    感谢您使用 TI 论坛。  以下是对您的问题的回答:

    下面是对警报时序进行描述的数据表摘录。 通常、根据超过阈值的高水平、在转换完成之前或之后会发生警报响应。

    2.我将与设计团队联系、看看是否有可能在重新触发警报之前触发转换准备就绪标志。  

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

    虽然我的问题更侧重于 BUSUL 标志和公司、但我猜测警报引脚信号与转换周期不同步也适用于 DIAG_ALRT 中的警报位、在这种情况下、这回答了我的问题。

    无论如何、除了禁用警报锁存并切换到基于中断的警报检测之外、我实际上看不到其他解决方案、因此这就是我们要做的事情。

    谢谢!

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

    好的、听起来不错!