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.

[参考译文] OPT3004:始终设置上限标志

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1230563/opt3004-high-limit-flag-is-always-set

器件型号:OPT3004

我已经为传感器配置了以下选项-:

  1. FAULT_COUNT -两个故障  
  2. MASK_Exponent -无指数掩码
  3. LATCH_FIELD -锁存窗口式比较操作
  4. 转换_MODE -连续  
  5. 转换时间 100ms  
  6. 手动选择以指数 ENT_LEVEL_4 (lsb 值0.16)的 LUX_RANGE。

我将通过保持不同的上限和下限值来测试传感器。 以及读取高标志和低标志。

我面临的问题是、每次 设置 High Flag 并不影响结果寄存器的值是什么。

示例1 -

我将高限设置为20 lux、将低限设置为5 lux。

当转换 完成标志为高电平时、读取结果寄存器的值为17 lux。

读取 高电平标志和低电平标志、 高电平标志被置位 。 (在我看来、它不应该是)

示例2 -

我将高限设置为15 lux、将低限设置为5 lux。

 转换 完成标志为高电平时、读取结果寄存器的值为17 lux。

读取 高电平标志和低电平标志、 高电平标志被置位 。 (这 对我来说是可以的)

示例3 -

我将高限设置为40勒克斯、将下限设置为20勒克斯。

 转换 完成标志为高电平时、读取结果寄存器的值为17 lux。

读取 高电平标志和低电平标志、 高电平标志被置位 (在我的理解中、应该已设置低标志)

如果我的理解不正确、请告诉我。

此致、

Srishti Verma,

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

    尊敬的 Srishti:

    对于上面列出的设置、下表适用。

    从该表中可以看出、在读取配置寄存器之前、HIGH 标志不会复位。  在您正在读取的照度值之前、可能已进行了转换、其中该值超过20勒克斯、随后设置了高电平标志。 如果情况并非如此、请告诉我、但请记住、HIGH 标志将保持置位状态、直到您读取配置寄存器。

    谢谢!

    B·埃利奥特

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

    感谢您的回复!

    我需要说明的是、我将在一个无限循环中读取结果寄存器和配置寄存器。

    每次读取结果寄存器时、值都低于上限、而当我读取配置寄存器时、它会清除上限标志。 但是、每次第三次读取 配置寄存器 都会 设置上限标志(这是因为我想故障计数设置为2)。  

    不知何故、 上限标志和下限标志的行为 不符合预期。

    此致、

    Srishti Verma,

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

    其他信息、我仅在转换完成标志就绪时读取结果寄存器。

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

    尊敬的 Srishti:

    感谢您提供更多信息。 您能否共享放置在 TL 和 TH 寄存器中的确切值?

    谢谢!

    B·埃利奥特

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

    您好、Brent:

    以下是值-

    1) 1)配置寄存器-  0x4411

    2) 2)上限寄存器-     0x00BB

    3) 3)下限寄存器-      0xC006  

    4)结果寄存器正在读取- 0x4098。

    有时、我在读取配置寄存器时观察到上限和下限位同时变为高电平和低电平。

    如果需要其他信息、请告诉我。 谢谢!

    此致、

    Srishti Verma,

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

    尊敬的 Srishti:

    根据上限寄存器的当前设置、H 标志的照度限值为1.87 lux。 我认为您可能已经在其中包含了系数8、因为转换时间设置为100ms、但这不会影响照度方程、它只会限制结果寄存器中的分辨率。 尝试修复这些值、然后告诉我它是否起作用。

    谢谢!

    B·埃利奥特

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

    谢谢! Brent. 这可以解决我的问题。 我已经了解、在配置寄存器中选择的范围将适用于所有寄存器(结果、高电平和低电平)。 但事实并非如此。  

    您能帮助我了解另一个配置吗?

    是否可以通过手动范围选择作为指数4和单次读取来设置下限?  或者使用单次读取配置、如何设置下限?

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

    尊敬的 Srishti:

    对于单次读取、您是指转换结束模式吗? 我查看了数据表、试图自行找到该问题的答案。 由于需要设置指数的前两位才能启用转换结束模式、因此我不确定在此模式下寄存器是如何处理指数的。 可以设置指数的最后两位、以便从指数0变为3、但这需要经过测试。

    谢谢!

    B·埃利奥特