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.

[参考译文] INA228:INA228读取错误并卡住

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1370300/ina228-ina228-bad-reads-and-getting-stuck

器件型号:INA228
主题中讨论的其他器件: ADS1115TCA9406PCF8575

工具与软件:

所以我的 PCB 有一些问题。

我在同一个 I2C 总线上并行运行13x INA228以及1个 ADS1115。 我只想读取来自 INA 的电流。

对于 INA228、一个读取(addr + reg pointer)+(addr、3个数据字节)的通信时间大约为60个时钟周期。

对于 ADS1115、我将读取2个通道、这是4个字节(地址、指针、2个数据字节)、因此每个通道大约需要40个时钟周期。

我以100kHz 的频率运行 I2C、因此使用13个 INA228和1个 ADS1115、我每秒应该能够运行100个以上的样本。 ((60*13)+(40*2))/100k

以每秒1个样本运行是可以接受的、但是将其增加到每秒2-3个样本、因此会出现问题。



我的示波器功能不是很好、因此无法从中获取任何快照、但可以在一定程度上看到 I2C 线上的曲线。 上升时间稍慢、但我的示波器却无法显示上升速度有多慢。 无论我运行400kHz 或100kHz I2C、以及使用1k 上拉或10k 上拉、我都可以看到完全相同的反应。 因此、我认为上升时间不是问题、因为我在400kHz 时遇到的问题比在100kHz 时遇到的问题更多。

我看到的问题如下:

如图所示、当分流电阻器上的电压较大时、电流中存在一些显著的尖峰、幅度会更频繁且更大。

此外、一些 INA 被随机卡住、我在恢复正常之前、读取同一电流一段时间。

INA 会给我带来不良读取以及卡住的读取结果、这在一定程度上是随机的。 因此、没有任何一种特定行为方式的模式。 还想指出的是、我有2个具有相同行为的 PCB。

在图中、您可以看到 INA 的输出。 这是我以每秒10个样本的速率运行的时候。

采样率增加(从每秒1次)也会在 ADS1115中引入误差、在这里、似乎发现基准电平为1.2V、即6400个原始电平。

这是在 INA 上进行一次读取操作时逻辑分析仪的屏幕截图。

以及一次读取 ADS1115获得的一张照片。

从这个图形可以很清楚地看出 I2C 总线已空闲了很长时间。

其中一个 INA 的读数卡住了。

有什么想法会导致我的问题、以及如何进一步解决此问题?

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

    尊敬的 Pelle:  

    要开始故障排除过程、您是否介意提供原理图? 在错误状态期间、我是否还可以从器件读取完整的寄存器?  

    此致!

    穆罕默德  

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



    这是原理图。 系统中的大脑是 Raspberry PI 4。

    当您说到完整的寄存器读数时、您能指定吗?

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

    尊敬的 Pelle:  

    我正在研究这个原理图、明天就给您回过来。 完整的寄存器读数将是来自 INA228的所有结果和配置值。  

    此致!

    穆罕默德  

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

    尊敬的 Pelle:

    如果 INA 动态更改其自身的 ADC 配置、这很可能是 I2C 通信问题。 遗憾的是、您的示波器无法正常工作。 您可以执行的一项测试是在 I2C 通信上使用逻辑分析仪、并将 ADC 配置寄存器与写入内容进行比较。 另外、遗憾的是、原理图很难阅读。 你是否介意给我一个更清晰的图像? 我不能说出来、因为它像素化了。  

    此致!
    穆罕默德  

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

    e2e.ti.com/.../schematicina.pdf

    这一个更好吗?

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

    尊敬的 Pelle:  

    感谢您更新后的原理图。 上面的一切看起来都不错、但是我看不到 SDA、SCL 和 ALERT 上使用的上拉电阻器。 您要为这些应用使用哪些值? 另外、显示问题的设备的地址是什么? 此外、在您能够执行测试后、了解结果会很有帮助。  

    此致!

    穆罕默德  

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

    之所以使用电平转换器 TCA9406、是因为电源是5V、Raspberry PI 上的 I2C 电平是我们要使用的、因为大脑具有3V I2C。 这个有10k 个内部上拉电阻器。 我们将并联运行2个相同的灯串、因此基本上再使用一个原理图。 它们在不同的 I2C 通道上运行、为了进行比较、我试着改变一个灯串上的上拉电阻器、但几乎没有任何差异。 10k 或1k 会给出相同的结果和故障。

    警报上的上拉电阻为68k、并且信号进入 PCF8575、但我们此时不使用警报功能。

    没有导致问题的特定地址。 我们可以在所有 INA 上看到此问题、这些 INA 的地址为0x40、0x41、0x43-0x46、0x49-0x4F。 ADS 的地址为0x48、TPS62869x 0x42、ADG728位于0x47。

    我对它进行初始化时、它会一直正常、直到它随机发生改变。 因此在开始时、我已经验证所有 INA 均具有正确的 ADC 配置。

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

    尊敬的 Pelle:  

    我正在研究这个问题、并将在星期四之前与您联系。  

    此致!  

    穆罕默德  

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

    尊敬的 Pelle:  

    似乎输入低电压有一个0.15V 的最大限制、INA228可针对一个低值输出高达0.4V 的电压。  

    TCA9406规格:  

    INA228规格:  

    此致!

    穆罕默德  

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

    因此、这意味着 TCA9406不应与 INA228一起使用?

    当然、这可能会导致问题、但那会是一些随机错误? 现在、ADC 配置始终如一地更改为3个不同的位字符串。 即使 I2C 线路上的噪声可能会导致错误、这也应该是随机的、不是一致的故障? 您也会获得不同的地址、不同的寄存器指针、奇怪的电流值等。

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

    您好、Pelle:

    很抱歉在线程中出现延迟、我将接管支持。  

    关于您的问题:  

    因此、这意味着 TCA9406不应与 INA228配合使用?

    这很难说、因为 TCS9406的数据表指出、它需要输入低于0.15V、但我们并不总是...   该数据表还说明:

    因此、只要您的 MCU 在 V_OL 较高时正常工作、就可以正常工作。 同样、当设置为来自 V_OL 的输出时、MCU 输出需要具有足够低的逻辑电平、才能仍在 INA228的范围内

    您的挂起问题可能与时间有关。 观察逻辑分析仪、您可能需要增加 通信中的数据保持时间。 下面是另一个 e2e 主题、有人在计时和调整方面遇到问题、因此能够解决他们的问题:

    https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1375083/ina237-i2c-error-with-early-ack-on-read-commands

    此致、

    Mitch