利用MAX44007光傳感器的高級(jí)模式調(diào)節(jié)其對(duì)可見(jiàn)光、IR通道的響應(yīng),利用MAX44007的寄存器可以優(yōu)化傳感器在黑色玻璃下的性能。
MAX44007環(huán)境光傳感器提供高級(jí)工作模式,用于優(yōu)化傳感器在黑色玻璃下的性能。目前,大多數(shù)智能手機(jī)、平板電腦、筆記本電腦和TV都有采用黑色玻璃作為L(zhǎng)CD屏的框架,這種框架使得終端產(chǎn)品看起來(lái)精致、美觀。傳統(tǒng)設(shè)計(jì)中,在環(huán)境光傳感器的位置提供一個(gè)清晰的圓形窗口或縫隙。而新型產(chǎn)品中,光傳感器的窗口或縫隙被幾乎不透明的黑色油墨覆蓋,與其周邊的顏色渾然一體。制造商的原因很簡(jiǎn)單:顏色越深,越不容易分散用戶注意力,看起來(lái)會(huì)更加專業(yè),外觀更精致!
不幸的是,深色油墨覆蓋環(huán)境光傳感器后,會(huì)在兩個(gè)方面造成設(shè)計(jì)復(fù)雜。首先,深色油墨將衰減環(huán)境光,從而降低傳感器接收到的光量。第二,油墨還改變了光線的光譜。從油墨的光譜特性看,幾乎全部通過(guò)紅外入射光,而可見(jiàn)光卻衰減到其原來(lái)光強(qiáng)的3%至5%。所以,環(huán)境光的紅外含量被大幅放大。由于深色油墨的實(shí)際化學(xué)特性會(huì)隨供應(yīng)商的不同而有所不同,從而使光信號(hào)傳輸(紅外光或環(huán)境光)特性進(jìn)一步復(fù)雜化。
針對(duì)黑色玻璃進(jìn)行校準(zhǔn)和補(bǔ)償
準(zhǔn)確匹配人眼的CIE曲線非常困難。正因如此,大多數(shù)高性能環(huán)境光傳感器(例如 MAX44009)具有校準(zhǔn)/補(bǔ)償機(jī)制,用于修正不同光源下的流明數(shù)。這種修正通過(guò)組合兩種片上光敏二極管實(shí)現(xiàn),組合后可有效提供準(zhǔn)確的光強(qiáng)讀數(shù),以消除不同光源條件的影響。由于照射在黑玻璃下方傳感器上的光譜發(fā)生明顯變化,需要進(jìn)一步調(diào)整校準(zhǔn)參數(shù)。
需要特別注意光源對(duì)黑色玻璃下方傳感器的影響,對(duì)其進(jìn)行校準(zhǔn)修正。如果光源中紅外成分較高,例如太陽(yáng)光和白熾燈,尤其需要進(jìn)行校正。白光LED(WLED)和熒光燈照射下,所需調(diào)整較小。MAX44007具有高級(jí)模式,可用于調(diào)節(jié)對(duì)可見(jiàn)光和IR信號(hào)的響應(yīng)。
用于優(yōu)化玻璃下方傳感器性能的寄存器
以下為MAX44007的寄存器,器件數(shù)據(jù)資料也提供了該寄存器表。
一次性預(yù)設(shè)置,上電設(shè)置
按照以下步驟進(jìn)行一次性預(yù)設(shè)置,通常在上電時(shí)設(shè)置。
1.讀取4個(gè)寄存器中每個(gè)寄存器的內(nèi)容:0x09–0x0C。
存儲(chǔ)變量:分別為Adv1、Adv2、VisibleGain和IRGain。
2.將這些變量1的補(bǔ)碼保存為新的變量:分別為Adv1C、Adv2C、VisibleGainC和IRGainC。例如,IRGainC = !IRGain;
如果IRGain = 1010 0110,則IRGainC = 0101 1001。
3.向寄存器0x0D寫入1000 0001,進(jìn)入高級(jí)模式(將ADV置1)。
4.將Adv1C、Adv2C、VisibleGainC和IRGainC分別寫入寄存器0x09–0x0C。
例如,向寄存器0x0C寫入0101 1001,其原始值為1010 0110。
注:隨后讀取寄存器0x0C (上述寫操作之后),仍然讀回0101 1001,因?yàn)镮C在數(shù)據(jù)保存到這些高級(jí)寄存器之前進(jìn)行了內(nèi)部自動(dòng)位翻轉(zhuǎn)。
保留IRGainC值,供將來(lái)使用
5.必要時(shí),為門限定時(shí)寄存器0x07設(shè)置一個(gè)合適的延遲。
6.設(shè)置INTE = 1 (寄存器0x01),使能中斷。
進(jìn)入正常工作模式
按以下步驟進(jìn)入正常測(cè)量模式。
7.讀取寄存器0x03和0x04,獲得12位的流明讀數(shù)。
將數(shù)值保存為ComboLux。
8.向寄存器0x0C寫入0000 0000,進(jìn)入臨時(shí)測(cè)量模式。
9.等待至少1.6s (2x 800ms)。
如果需要,可聯(lián)系Maxim縮短這一時(shí)間。
10.讀取寄存器0x03和0x04,獲得12位的流明讀數(shù)。
將數(shù)值保存為ApproxLux。
11.向寄存器0x0C寫入IRGainC,退出臨時(shí)測(cè)量模式。
12.計(jì)算:ActualLux = ApproxLux - IRFactor × (ApproxLux - ComboLux)
ActualLux為實(shí)際環(huán)境光讀數(shù)。
ApproxLux = ComboLux,近似熒光燈和WLED燈。
ApproxLux > ComboLux,通常為白熾燈和太陽(yáng)光。
若需計(jì)算合適的IRFactor,請(qǐng)聯(lián)系Maxim應(yīng)用支持,并提供玻璃樣本??芍苯訌膶?shí)驗(yàn)室測(cè)試獲得數(shù)據(jù)。
13.根據(jù)上面計(jì)算的ActualLux,設(shè)置相應(yīng)的背光強(qiáng)度。
14.將ComboLux作為參考(器件的正常工作模式),設(shè)置相應(yīng)的流明上限(寄存器0x05)和流明下限(寄存器0x06)。
15.執(zhí)行INTS位(寄存器0x00)空讀操作,清除所有中斷(若之前已置位)。
16.等待硬件中斷。
此時(shí)程序占用時(shí)間最長(zhǎng)。
17.發(fā)生硬件中斷后,讀取寄存器0x00,確認(rèn)INTS = 1。
如果INTS = 1,則轉(zhuǎn)至上面的第7步。
否則,如果INTS = 0,在檢查其它硬件中斷源后,返回至第16步。