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.

[参考译文] 从总线 i2c 读取错误

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/934045/wrong-reading-from-bus-i2c

器件型号:INA219

您好!

我们将 INA219用于 总线电压测量。

I2C 总线连接到编程器组件(FPGA)。

我们尝试从 INA219读取和写入、但没有成功。

当我们从寄存器00 (配置)读取数据时、我们不会看到默认值(399F)。

当我们从寄存器01 (分流电压)读取数据时、我们接受 的值是不合理的。

我们在打开系统时是否需要执行任何操作?

您是否有 C/C++示例代码?

非常感谢您的参与

Orit

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

    每个微控制器的代码会有所不同、因此有关 INA219EVM 的信息可能不会对您有所帮助。

    您实际读取了什么内容? 您能否显示两条 I²C 线的示波器迹线?

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

    您好 Orit、

    I2C 命令的波形会有所帮助。 您的时钟速度是多少? 您为此 INA219选择了什么串行总线地址?

    在读取配置寄存器时、您获得的读数是多少?

    您是否会提供原理图、分流电阻器值以及当您读取到错误的 Vshunt 值时分流电阻器测量的负载电流?

    此致、

    Peter

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

    尊敬的 Peter:

    感谢您的回答。

    我们的工作速度为115、200

    我在同一总线上有2个组件。 一个位于地址1000001 (A1=GND、A2=Vs)、另一个位于地址1000100 (A1=Vs、A2=GND)

    关于读取配置寄存器、我目前无法检查。 我很快就会得到答案

    我的原理图是:

    谢谢你

    Orit

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

    大家好 、Clemens、

    感谢您的回答。

    在两个组件中、即使一个连接到5.5V、另一个连接到12V、我也会读取相同的值。

    我读取的值为:

     -配置0A81

     -分流电压8144

     -总线电压8D03

     -电源2452

     -电流0A09

     -校准2268

    我一开始不会写入任何寄存器。 因此、我希望从 配置寄存器中读取默认值 :399F。

    除了写入之外、该寄存器是否可以通过任何其他方式更改?

    谢谢你

    Orit

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

    请显示两条 I²C 线的示波器迹线。

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

    你好、Orit、

    您需要将 R623和 R622替换为0 Ω 电阻器。 地址引脚上不应加载电阻、否则会影响器件检测主机写入从地址的方式。 这可能是这里的根本原因。

    最棒的

    Peter