黑色玻璃會改變照在環境光傳感器上的光線頻譜,這是環境光傳感器所面臨的設計挑戰。尤其是黑色玻璃增強了光譜中的紅外分量,而人眼看不到這部分光譜。本應用筆記介紹了幾種校準/補償方法,從而對光傳感器在不同光源條件下的流明讀數進行修正。本文探討了如何利用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 |
一次性預設置,上電設置
按照以下步驟進行一次性預設置,通常在上電時設置。
讀取4個寄存器中每個寄存器的內容:0x09–0x0C。
存儲變量:分別為Adv1、Adv2、VisibleGain和IRGain。
將這些變量1的補碼保存為新的變量:分別為Adv1C、Adv2C、VisibleGainC和IRGainC。例如,IRGainC = !IRGain;
如果IRGain = 1010 0110,則IRGainC = 0101 1001。
向寄存器0x0D寫入1000 0001,進入高級模式(將ADV置1)。
將Adv1C、Adv2C、VisibleGainC和IRGainC分別寫入寄存器0x09–0x0C。
例如,向寄存器0x0C寫入0101 1001,其原始值為1010 0110。
注:隨后讀取寄存器0x0C (上述寫操作之后),仍然讀回0101 1001,因為IC在數據保存到這些高級寄存器之前進行了內部自動位翻轉。
保留IRGainC值,供將來使用。
必要時,為門限定時寄存器0x07設置一個合適的延遲。
設置INTE = 1 (寄存器0x01),使能中斷。
進入正常工作模式
按以下步驟進入正常測量模式。
讀取寄存器0x03和0x04,獲得12位的流明讀數。
將數值保存為ComboLux。
向寄存器0x0C寫入0000 0000,進入臨時測量模式。
等待至少1.6s (2x 800ms)。
如果需要,可聯系Maxim縮短這一時間。
讀取寄存器0x03和0x04,獲得12位的流明讀數。
將數值保存為ApproxLux。
向寄存器0x0C寫入IRGainC,退出臨時測量模式。
計算:ActualLux = ApproxLux - IRFactor × (ApproxLux - ComboLux)
ActualLux為實際環境光讀數。
ApproxLux = ComboLux,近似熒光燈和WLED燈。
ApproxLux > ComboLux,通常為白熾燈和太陽光。
若需計算合適的IRFactor,請聯系Maxim應用支持,并提供玻璃樣本。可直接從實驗室測試獲得數據。
根據上面計算的ActualLux,設置相應的背光強度。
將ComboLux作為參考(器件的正常工作模式),設置相應的流明上限(寄存器0x05)和流明下限(寄存器0x06)。
執行INTS位(寄存器0x00)空讀操作,清除所有中斷(若之前已置位)。
等待硬件中斷。
此時程序占用時間最長。
發生硬件中斷后,讀取寄存器0x00,確認INTS = 1。
如果INTS = 1,則轉至上面的第7步。
否則,如果INTS = 0,在檢查其它硬件中斷源后,返回至第16步。
-
傳感器
+關注
關注
2548文章
50740瀏覽量
752147 -
智能手機
+關注
關注
66文章
18444瀏覽量
179893 -
平板電腦
+關注
關注
4文章
2007瀏覽量
77663
發布評論請先 登錄
相關推薦
評論