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:读取循环中的寄存器时发生错误

Guru**** 2756835 points

Other Parts Discussed in Thread: INA226

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1203752/ina226-an-error-occurred-while-reading-the-registers-in-loop

器件型号:INA226

 在循环中读取总线电压寄存器(0x02)和功率寄存器(03)、校准寄存器设置为2048十进制、其他寄存器为默认值。

步骤为:SET (02) READ、SET (03) READ;SET (02) READ、SET (03)、READ;SET (02) READ、 将(03)读

我想 循环1000次,但在随机循环之后通常会出现一个 arror。

  这是总循环,循环间隙为7ms  

 这是一个很好的步骤

 发生错误。 SDA 为高电平、但 SCL 为低电平时、程序无法启动。

总线上没有其他 I2C 器件。 MCU 为 C8051F340。

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

    您好!

    在 I2C 通信中、主器件控制 SCL 线路。INA226只能将 SDA 拉低。 进一步了解如果故障发生方式与上述情况相同、如果确认周期小于~30us、则故障将发生? 在第九个 SCL、INA226确实确认并且将撤回 SDA。 可能需要调整启动条件、以将其保持在大约30us 的延迟。 您能否确认其他故障计时?

    此致、

    CAS

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

    Ack 周期是否需要任何规格? 这是另一个错误,只有30us

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

    您好!

    停止的等待时间最小为100ns、没有最大为 我所说的是 INA 似乎不是问题所在。 在这个故障中、你还没有发送一个停止条件、主器件没有将 sda 拉低。

    这是 INA 在这些事务中所预期的操作的主器件的问题。 它在确认后松开 SDA 线。

    INA 不会驱动 SCL 线路。 那么、可能有一个情况 您的 MCU 不喜欢并终止通信。

    您是否在同一器件中循环1000次? 如果是、您可以尝试发送重启、而不是停止和启动吗?  

    此致、

    CAS

     

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

    我曾尝试 发送一个重新启动而不是停止和启动,但有同样的问题。

    现在我延迟2ms、在停止后、就没有问题了。  绿色的"停止"时间为2.7us。

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

    您好!

    这是否是等待您的应用可接受的时间?

    此致、

    CAS

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

    您好!  

    您尚未回复、我将关闭此主题。

    此致、

    CAS