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.

[参考译文] INA231EVM:I2C 高速模式

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/983578/ina231evm-i2c-high-speed-mode

器件型号:INA231EVM
主题中讨论的其他器件:INA231

我使用8个 INA231开发了一个由 DSP 管理的电路板。 所有器件均采用 I2C 标称值、速度高达1.1Mhz (即使标称值为400kHz)。 为了进一步使用、我仍然不使用停止相位、而是使用重新启动相位、而不是开始相位。然后、我已经尝试使用数据表描述的操作将 INA231置于高速模式:

-在400kHz 时,发送 Start,然后发送0001xxx 字节。

在这一阶段,如果我们发送正常地址后紧跟字节寄存器字节0001xxx,或者直接发送字节(看起来像一个“brodcast”字节),这对我来说是不清楚的。 正如有人说字节未被确认的那样、我本以为我们使用正常的寻址模式。 无论如何、我已经尝试了这两种方法、以获得成功。 令人惊讶的是,对于正常值:start - adresse 字节- register byte=00001xxx,即使该寄存器不是标称值,器件也会确认该字节,并且数据表显示该字节未被确认。

我从未成功使用过>1.1Mhz 的 I2C 时钟、因此 INA231使用的滤波器不会发生变化。

谢谢、

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

    您好 Frederic、

    感谢您使用 TI 论坛。  我将回顾下面用于设置高速(HS)模式的 I2C 通信步骤、并希望这能回答您的问题。 请注意、HS 命令不会发送到已寻址的单个器件、而是发送到总线上的所有器件以代替地址。   

    1. 将 I2C 配置为在100kHz 或400kHz 下运行后:
      1. 发送一个开始条件、后跟 HS 代码0b00001XXX (例如、 您可以 使用0x0F 作为 HS 代码)
        1. 请注意、这基本上与在不发送任何数据字节的情况下设置目标器件地址和 HS 代码(例如0x0F)一样。
      2. 请注意、由于发送该信号而不是器件地址、因此它将为总线上的所有器件设置 HS 模式。
      3. 这只需要执行一次、除非总线上发送了一个停止条件。
    2. 与正常情况类似的写入/读取器件:
      1. 发送一个起始条件、后跟目标器件地址和一个读取/写入位。
        1. 请注意、由于所有地址都遵循0b100XXXX 格式、因此不会与 HS 命令混淆、该命令必须具有0位、其中1位位于所有地址中。  
      2. 在没有停止位的情况下发送/接收数据的每个字节、以便器件保持在 HS 模式。
    3. 对任何后续数据传输重复步骤2。  

    我希望这对您有所帮助、如果您有任何疑问、请告诉我。