应用笔记 4871

优化MAX44007环境光传感器,改善黑色玻璃的设计性能

By: Prashanth Holenarsipur

摘要 : 黑色玻璃会改变照在环境光传感器上的光线频谱,这是环境光传感器所面临的设计挑战。尤其是黑色玻璃增强了光谱中的红外分量,而人眼看不到这部分光谱。本应用笔记介绍了几种校准/补偿方法,从而对光传感器在不同光源条件下的流明读数进行修正。本文探讨了如何利用MAX44007光传感器的高级模式调节其对可见光、IR通道的响应。利用MAX44007的寄存器可以优化传感器在黑色玻璃下的性能。

引言

MAX44007环境光传感器提供高级工作模式,用于优化传感器在黑色玻璃下的性能。

目前,大多数智能手机、平板电脑、笔记本电脑和TV都有采用黑色玻璃作为LCD屏的框架,这种框架使得终端产品看起来精致、美观。传统设计中,在环境光传感器的位置提供一个清晰的圆形窗口或缝隙。而新型产品中,光传感器的窗口或缝隙被几乎不透明的黑色油墨覆盖,与其周边的颜色浑然一体。制造商的原因很简单:颜色越深,越不容易分散用户注意力,看起来会更加专业,外观更精致!

不幸的是,深色油墨覆盖环境光传感器后,会在两个方面造成设计复杂。首先,深色油墨将衰减环境光,从而降低传感器接收到的光量。第二,油墨还改变了光线的光谱。从油墨的光谱特性看,几乎全部通过红外入射光,而可见光却衰减到其原来光强的3%至5%。所以,环境光的红外含量被大幅放大。由于深色油墨的实际化学特性会随供应商的不同而有所不同,从而使光信号传输(红外光或环境光)特性进一步复杂化。

针对黑色玻璃进行校准和补偿

准确匹配人眼的CIE曲线非常困难。正因如此,大多数高性能环境光传感器(例如 MAX44009)具有校准/补偿机制,用于修正不同光源下的流明数。这种修正通过组合两种片上光敏二极管实现,组合后可有效提供准确的光强读数,以消除不同光源条件的影响。由于照射在黑玻璃下方传感器上的光谱发生明显变化,需要进一步调整校准参数。

需要特别注意光源对黑色玻璃下方传感器的影响,对其进行校准修正。如果光源中红外成分较高,例如太阳光和白炽灯,尤其需要进行校正。白光LED (WLED)和荧光灯照射下,所需调整较小。

MAX44007具有高级模式,可用于调节对可见光和IR信号的响应。

用于优化玻璃下方传感器性能的寄存器

以下为MAX44007的寄存器,器件数据资料也提供了该寄存器表。

REGISTER BIT REGISTER ADDRESS POWER-ON RESET STATE R/W
7 6 5 4 3 2 1 0
STATUS
Interrupt Status               INTS 0x00 0x00 R
Interrupt Enable               INTE 0x01 0x00 R/W
CONFIGURATION
Configuration CONT MANUAL     CDR TIM[2:0] 0x02 0x03 R/W
LUX READING
LUX high byte E3 E2 E1 E0 M7 M6 M5 M4 0x03 0x00 R
LUX low byte         M3 M2 M1 M0 0x04 0x00 R
THRESHOLD SET
Upper Threshold—High Byte UE3 UE2 UE1 UE0 UM7 UM6 UM5 UM4 0x05 0xFF R/W
Lower Threshold—High Byte LE3 LE2 LE1 LE0 LM7 LM6 LM5 LM4 0x06 0x00 R/W
Threshold Timer T7 T6 T5 T4 T3 T2 T1 T0 0x07 0xFF R/W
ADVANCED MODE REGISTERS
Adv1 Register                 0x09 0x00 R/SW
Adv2 Register                 0xA 0x00 R/SW
Visible Gain Register                 0xB 0x00 R/SW
IR Gain Register                 0xC 0x00 R/SW
Trim Enable Register 1             ADV 0xD 0x80 R/W

一次性预设置,上电设置

按照以下步骤进行一次性预设置,通常在上电时设置。
  1. 读取4个寄存器中每个寄存器的内容:0x09–0x0C。
    • 存储变量:分别为Adv1、Adv2、VisibleGain和IRGain。
  2. 将这些变量1的补码保存为新的变量:分别为Adv1C、Adv2C、VisibleGainC和IRGainC。例如,IRGainC = !IRGain;
    • 如果IRGain = 1010 0110,则IRGainC = 0101 1001。
  3. 向寄存器0x0D写入1000 0001,进入高级模式(将ADV置1)。
  4. 将Adv1C、Adv2C、VisibleGainC和IRGainC分别写入寄存器0x09–0x0C。
    • 例如,向寄存器0x0C写入0101 1001,其原始值为1010 0110。
    • 注:随后读取寄存器0x0C (上述写操作之后),仍然读回0101 1001,因为IC在数据保存到这些高级寄存器之前进行了内部自动位翻转。
    • 保留IRGainC值,供将来使用。
  5. 必要时,为门限定时寄存器0x07设置一个合适的延迟。
  6. 设置INTE = 1 (寄存器0x01),使能中断。

进入正常工作模式

按以下步骤进入正常测量模式。
  1. 读取寄存器0x03和0x04,获得12位的流明读数。
    • 将数值保存为ComboLux。
  2. 向寄存器0x0C写入0000 0000,进入临时测量模式。
  3. 等待至少1.6s (2x 800ms)。
    • 如果需要,可联系Maxim缩短这一时间。
  4. 读取寄存器0x03和0x04,获得12位的流明读数。
    • 将数值保存为ApproxLux。
  5. 向寄存器0x0C写入IRGainC,退出临时测量模式。
  6. 计算:ActualLux = ApproxLux - IRFactor × (ApproxLux - ComboLux)
    • ActualLux为实际环境光读数。
    • ApproxLux = ComboLux,近似荧光灯和WLED灯。
    • ApproxLux > ComboLux,通常为白炽灯和太阳光。
    • 若需计算合适的IRFactor,请联系Maxim应用支持,并提供玻璃样本。可直接从实验室测试获得数据。
  7. 根据上面计算的ActualLux,设置相应的背光强度。
  8. 将ComboLux作为参考(器件的正常工作模式),设置相应的流明上限(寄存器0x05)和流明下限(寄存器0x06)。
  9. 执行INTS位(寄存器0x00)空读操作,清除所有中断(若之前已置位)。
  10. 等待硬件中断。
    • 此时程序占用时间最长。
  11. 发生硬件中断后,读取寄存器0x00,确认INTS = 1。
    • 如果INTS = 1,则转至上面的第7步。
    • 否则,如果INTS = 0,在检查其它硬件中断源后,返回至第16步。
下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 4871:
应用笔记 4871,AN4871, AN 4871, APP4871, Appnote4871, Appnote 4871