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.

[参考译文] OPT3001:读取错误时的错误状态

Guru**** 2601915 points
Other Parts Discussed in Thread: OPT3001

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/651468/opt3001-error-state-on-read-error

器件型号:OPT3001

我们以1MHz 的频率在 OPT3001上运行、这是 STM32F767 MCU 的 I2C2总线上唯一的器件。  在转换结束模式下、我们每2秒对 OPT3001采样一次、方法是将0xCA00写入配置寄存器、然后等待中断、然后再读取结果值。  这可能在12小时或更长时间内完全正常工作、但最终会出现读取错误(如 CubeMX 函数 HAL_I2C_Master_Receive 所报告)。  出现此错误后、OPT3001会进行正确的插槽和通信、但似乎我们对配置寄存器(0xCA00)的写入会发生移位、因为该值读回 xxCA 而不是 CAxx (在下面的括号中记录)。  当我们检测到这种状态时、通过将数据表7.5.1.2中所述的0x06写入 I2C 地址0x00来发出常规调用复位命令、但这对 OPT3001的行为没有影响、因为寄存器继续移位。  只有一个循环通电似乎可以恢复正常运行。  我们如何在循环通电后恢复此部件的正常运行。

ALS 开始(0xCA00) ALS cLux:4168
ALS 开始(0xCA00) ALS cLux:4160
ALS 开始(0xCA00) ALS cLux:4220
ALS 开始(0xCA00) ALS cLux:4248
ALS 开始(0xCA00) ALS cLux:4232
ALS 开始(0xCA00) ALS cLux:4232

ALS 开始(0xCA00)

错误:READ_ALS_Register 失败

重置环境光传感器

ALS 开始(0x24CA) ALS cLux:127008768

ALS 开始(0xFFCA) ALS cLux:126976000

ALS 开始(0xFFCA) ALS cLux:127008768

ALS 开始(0xFFCA) ALS cLux:127008768

ALS 开始(0xFFCA) ALS cLux:126976000

ALS 开始(0xFFCA) ALS cLux:127008768

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

    感谢您的提问。 我只是想指出,由于假期,反应可能会推迟。 明天我会来看看、如果我有任何发现、请告诉您。 如果我最后不得不在实验室中进行测试、那么可能需要等待中断后再执行。

    最棒的

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

    这一个在我从断裂中返回后从裂缝中滑过。 很抱歉、返回此消息的时间太长。

    这一问题似乎是随机发生的。 它是否仅在您提到的特定设置下发生? 我想知道这是不是我可以在这里的 EVM 上复制的东西。

    当您进行复位时、寄存器是否正确地复位为默认值? 发出复位命令时、配置寄存器应复位为0xC810。 只需再次检查、在发出复位命令后、您向 config reg 写入0xCA00以重新配置器件、对吧?

    此外、您如何记录括号中显示的值? MCU 是否每2秒读取一次配置和结果寄存器?

    最棒的

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

    您的问题是否已解决。 我将关闭该主题、但如果您仍然需要 Alex 的帮助、您可以随意回复该主题
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此问题尚未解决、但我还无法回圈以捕获更多数据。  如果您愿意、您可以关闭它、当我有更多时间来解决问题时、我将打开一个新的线程。

    此致、

    -Mike

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

    听起来不错! 请在您准备好继续调试时通知我们。