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.

[参考译文] OPT9221:OPT9221有时会返回255作为 LED 板的温度读数

Guru**** 2553450 points
Other Parts Discussed in Thread: TMP103

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/632046/opt9221-opt9221-sometimes-returns-255-as-a-temperature-reading-from-the-led-board

器件型号:OPT9221
主题中讨论的其他器件:TMP103

您好!

我们不断探测 LED 板的温度、以补偿温度漂移、并在器件过热时让我们恢复。

温度通过9221间接读取。 我们间歇性地看到温度值卡在255 (即使实际温度不接近于255)。 这是个问题、因为这是有效温度(=-1C)、而不是较高的温度、因此可能无法检测到 LED 板过热。

这是已知问题吗? 您会建议我如何处理此问题。

此外、是否同步读取 LED 温度? 即、当我读取照明温度寄存器时、它是由9221读取、还是仅在每个帧中读取它。 这将决定我们如何支持从多个 LED 热敏电阻读取数据。

谢谢

-奥利弗

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您使用的是 OPT8241-CDK-EVM、则外部照明具有温度传感器 TMP103C。 该器件默认运行、每250ms 采样一次、但在这两者之间断电。 每个样本为28ms。 我怀疑255回读是 TMP103在睡眠期间的响应、因为如果 I2C_SDA 线路未被驱动、您将得到255。 www.ti.com/.../tmp103.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Larry、

    感谢您的回答。 我们无法控制甚至无法直接连接到 tmp103s、tof 控制器会直接处理此问题。

    我们的 LED 电路板上有两个热敏电阻、这是从参考设计中获取的。 阅读这两者的最佳方式是什么? 或者、我如何判断其中一个是否损坏并切换?

    如果热敏电阻将进入睡眠状态、并在达到255时进行报告、那么以2为补码的形式、这是有效温度(-1)。 在这些情况下、可能会错过过热。 opt9221上是否有一个寄存器、用于指示通过 i2c 成功/失败读取(即您读取热敏电阻的 opt9221失败)?

    这不是 EVK、我们已经使用自己的摄像头(haddock 和 Tintin)工作了一段时间、尽管此问题仅随着 LED 电路板过热和 MOSFET 烧断而出现。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你提出了一个很好的观点。 TMP103确实由 OPT9221采样、255是有效值。 我们的参考设计只有一个外部 TMP103、您可以对其器件地址进行编程。 我在我们的 CDK 上没有遇到过这个问题、但我将详细了解 OPT9221如何在内部处理 I2C 主设备并返回给您。

    同时、您是否有 I2C 总线分析仪? 如果是、我建议尝试直接监听 I2C 总线、并查看监听器是否提供与 OPT9221相同的结果。

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

    读取255看起来像是在空总线上读取或错误的地址。 您能否确认是否已正确对 tillum_SLV_addr (数据表中的 i2c 主接口部分)寄存器进行了编程? 温度在每帧读取一次、并在启用时用于内部温度校准。

    此外、在单个上电至断电周期期间还是在多个下电周期内、此问题会间歇性发生?

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    啊、感谢您的回复。 我开始怀疑问题是热敏电阻之间的切换。 我可以从 LED 板上的两个热敏电阻读取数据、如果我在读取前不断切换 i2c 地址、我可能会遇到问题(因此、我先前的问题是温度是同步更新还是异步更新到我的寄存器读取)。

    我想、不进行切换和只使用一个热敏电阻是最安全的。 如果第一个有问题、可能会切换到备用的。

    明天我会介绍这个。
    谢谢
    -奥利弗
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的。 两个温度传感器之间的变化似乎会导致问题并导致竞态条件、ToF 控制器最终可能尝试读取无效的 I2C 地址。  

    现在、我将读取一个传感器、并假设值255表示热敏电阻存在缺陷或未连接。 如果是这种情况、那么我可以切换到板上的第二个热敏电阻。 我只需要希望摄像机永远不会在低于零的温度下使用-我认为这不会是现在的问题。 在未来的设计/固件中、可能需要重新考虑这一点、以添加 I2C 状态标志(例如温度寄存器读数的第9位)来表示温度传感器寻址失败。

    此致

    -奥利弗