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.

[参考译文] INA226:SMBus 警报响应地址行为

Guru**** 2535780 points
Other Parts Discussed in Thread: INA226, INA233

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1321379/ina226-smbus-alert-response-address-behavior

器件型号:INA226
主题中讨论的其他器件: INA233

您好、TI 团队、

在我们于2016年创建的一个设计中、我们使用了 INA226来监控电流、还使用了警报功能来触发过流(锁存模式)。

当时、我们需要在未清除警报的情况下检查警报是否被触发、因此我们轮询了 SMBus 警报响应地址(0x0C)、而不是读取0x06寄存器(该寄存器会立即清除警报)。 一切都按预期工作。

2023年、我们换了 MCU、新买了一批 INA226、表现好像不一样。

基本上、当在0x0C 上发送广播时、INA226仍会进行应答(如果警报被锁存)、但现在它也会清除它

预期的行为是什么(我在数据表中找不到任何相关的信息)?

在发生警报后轮询 SMBus 警报响应地址是否应该将其清除?

如果这是预期行为、是否有办法可以在不立即清除警报的情况下检查警报是否已锁存?

谢谢!

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

    您好!

    我正在研究这个问题、将在周三之前与您联系。  

    此致!

    穆罕默 

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

    您好!

    这是对 SMBus 警报响应进行说明的数据表的提示:

    因此、在 SMBus 警报调用之后、如果 INA226首先响应、那么警报将被清除。 如果 INA226没有首先响应、那么 ALERT 不会被清除、您需要直接从 INA226中读取来清除 ALERT。

    如果您需要在不清除警报的情况下监控 INA226警报的替代方法、则可以使用硬件警报引脚。 只要不需要 ALERT 引脚上的转换就绪标志、就可以知道何时从硬件引脚触发了器件警报、而无需读取器件寄存器。 为此、您需要从 INA226单独监控 ALERT 引脚。

    此致!

    穆罕默 

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

    您好!

    以黄色表示的指定线路说明了如果器件丢失总线仲裁(即: 无警报清除)、但不要说明如果它胜出会发生什么情况(前一行告诉它将"确认警报响应并在总线上发送其地址"、而在清除警报时不做任何注释)。

    我仍然不明白为什么不同批次的行为不同。 请不要立即关闭该主题、我将连接一个逻辑分析仪并抓取一些帧。

    遗憾的是、检查 ALERT 线路对我们来说不是一种解决方案、因为有3种不同的器件可以将此信号驱动为低电平。 我们需要在软件中执行它。 或许用引脚兼容的 INA233替换 INA226是一个解决方案吗?

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

    您好!  

    SMBus 警报响应地址的预期行为是 ALERT 引脚保持有效、直到器件成功地对广播做出响应。 这意味着轮询警报响应会自动将其清除。 我不知道 INA233在这方面会怎么好。 所有3个器件都清除了警报、还是仅第一个器件清除了警报?  

    此致!

    穆罕默