本應(yīng)用筆記描述了在智能手機(jī)和平板電腦等便攜式設(shè)備中正確使用MAX9635環(huán)境光傳感器的中斷輸出功能進(jìn)行LCD背光管理。中斷功能允許調(diào)整多個(gè)照明區(qū)域的光閾值,而無(wú)需反復(fù)輪詢光傳感器。如果使用得當(dāng),此功能允許系統(tǒng)保持低功耗睡眠模式或?qū)⑵渌Y源專用于其他用戶定義的任務(wù)。中斷功能顯著提高了能源效率、系統(tǒng)性能和用戶在不同照明條件下的體驗(yàn)。本文還給出了一個(gè)用于對(duì)中斷進(jìn)行編程的I2C C偽代碼示例。
介紹
MAX9635環(huán)境光傳感器采用先進(jìn)的技術(shù)檢測(cè)環(huán)境光的亮度。該器件可用于多種應(yīng)用,包括但不限于便攜式和家用電子產(chǎn)品以及室內(nèi)照明中的顯示 LCD 背光調(diào)節(jié)。MAX9635具有極低的工作功耗(僅為0.65μA)和1.8V工作電壓(設(shè)計(jì)用于方便與微控制器I/O端互),使其非常適合用于許多傳感器和安全應(yīng)用。背光調(diào)節(jié)和低工作功耗可延長(zhǎng)電池壽命并提高照明應(yīng)用的能源效率。
MAX9635最有價(jià)值的特性之一是高度通用的中斷輸出引腳。此引腳允許系統(tǒng)保持低功耗休眠狀態(tài)或?qū)①Y源專用于其他用戶有價(jià)值的任務(wù)。
本應(yīng)用筆記解釋了如何對(duì)此中斷輸出功能進(jìn)行編碼,以確保最佳系統(tǒng)性能。給出了一些示例 C 風(fēng)格的偽代碼。
寄存器預(yù)設(shè)
下表顯示了MAX9635的寄存器圖,以及上電復(fù)位(POR)狀態(tài)。
注冊(cè) | 位 | 寄存器地址 | 上電復(fù)位狀態(tài) | R/W | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||
地位 | |||||||||||
中斷狀態(tài) | — | — | — | — | — | — | — | INTS | 0x00 | 0x00 | R |
中斷使能 | — | — | — | — | — | — | — |
INTE |
0x01 | 0x00 | R/W |
配置 | |||||||||||
配置 | CONT | MANUAL | — | — | CDR | T | 0x02 | 0x03 | R/W | ||
LUX reading | |||||||||||
LUX high byte | — | — | — | — | M3 | M2 | M1 | M0 | 0x04 | 0x00 | R |
閾值集 | |||||||||||
上限閾值高字節(jié) | UE3 | UE2 | UE1 | UE0 | UM7 | UM6 | UM5 | UM4 | 0x05 | 0xFF | R/W |
下限閾值高字節(jié) | LE3 | LE2 | LE1 | LE0 | LM7 | LM6 | LM5 | LM4 | 0x06 | 0x00 | R/W |
閾值計(jì)時(shí)器 | T7 | T6 | T5 | T4 | T3 | T2 | T1 | T0 | 0x07 | 0xFF | R/W |
預(yù)設(shè)寄存器包括配置、中斷使能和閾值定時(shí)器。
配置寄存器(地址 0x02)、CONT=0 和 MANUAL=0 的上電設(shè)置足以滿足大多數(shù)用戶應(yīng)用的需求。這些設(shè)置告訴MAX9635根據(jù)適當(dāng)?shù)沫h(huán)境光水平自動(dòng)調(diào)整其靈敏度。
為了啟用中斷功能,主機(jī)(即微控制器)首先向中斷啟用寄存器(地址 1x0)寫入 01。
然后,主機(jī)將適當(dāng)?shù)难舆t寫入閾值定時(shí)器寄存器(地址0x07)。通常,此設(shè)置不會(huì)更改。編寫此閾值延遲有兩個(gè)主要原因。首先,將非零值寫入此寄存器可防止由于光照條件的短暫或瞬時(shí)變化而導(dǎo)致的誤跳閘。當(dāng)用戶手勢(shì)或設(shè)備移動(dòng)后,陰影經(jīng)過(guò)光傳感器時(shí),可能會(huì)發(fā)生短暫的光線變化。其次,顯示器亮度響應(yīng)的有意延遲為定義的用戶界面算法留出了時(shí)間。這方面的一個(gè)例子是像iPad?設(shè)備這樣的移動(dòng)應(yīng)用程序。在這個(gè)例子中,人們不希望顯示器亮度在通過(guò)黑暗的走廊(如被周期性燈光打斷的地鐵)時(shí)快速波動(dòng)。
閾值寄存器設(shè)置
在正常操作期間,用戶重復(fù)編程上限閾值寄存器(地址0x05)和下限閾值寄存器(地址0x06)。當(dāng)環(huán)境光水平超過(guò)這些寄存器定義的窗口電平時(shí),將觸發(fā)中斷(寄存器0x00中的INTS位設(shè)置為1,/INT硬件引腳被拉低)。此中斷的持續(xù)時(shí)間將超過(guò)閾值計(jì)時(shí)器寄存器(地址 0x07)定義的延遲。
為了對(duì)閾值寄存器設(shè)置進(jìn)行編程,主機(jī)首先從數(shù)據(jù)寄存器中讀取勒克斯計(jì)數(shù),LUX高字節(jié)(地址0x03)和LUX低字節(jié)(地址0x04),以找到當(dāng)前工作區(qū)。然后,主站設(shè)置適當(dāng)?shù)纳舷揲撝导拇嫫骱拖孪揲撝导拇嫫饔?jì)數(shù)。
背光控制算法示例
人眼以對(duì)數(shù)方式感知亮度,其方式與人耳感知響度的方式大致相同。因此,背光強(qiáng)度通常經(jīng)過(guò)編程,使其也以對(duì)數(shù)方式響應(yīng)環(huán)境光水平。因此,在低光水平下有更精細(xì)的步進(jìn),而在明亮的環(huán)境條件下,背光強(qiáng)度變化不大。理想情況下,主機(jī)處理器還將實(shí)現(xiàn)其他高級(jí)圖像處理算法,例如基于此環(huán)境光水平信息的對(duì)比度和顏色調(diào)整。
典型的亮度控制算法可能有五個(gè)控制閾值級(jí)別。通常,界面玻璃的類型和物理開口的大小可以將光傳感器“看到”的光減少到外部環(huán)境光的5%至10%。在設(shè)置閾值水平時(shí),應(yīng)考慮此縮放。
下表是背光強(qiáng)度以及上限和下限閾值的一個(gè)示例。要將閾值勒克斯轉(zhuǎn)換為閾值計(jì)數(shù),只需將目標(biāo)勒克斯設(shè)置除以 0.045。
照明區(qū) | 外部照度(典型值) | 背光強(qiáng)度(%) | 外部勒克斯,下限閾值(典型值) | 外部勒克斯,上限閾值(典型值) | 下限閾值(10% 玻璃) | 上限閾值(10% 玻璃) |
黑暗 | 4 | 25 | < 0 | > 10 | < 0 | > 1 |
? | 20 | 45 | < 10 | > 50 | < 1 | > 5 |
家 | 100 | 65 | < 50 | > 200 | < 5 | > 20 |
辦公室 | 400 | 85 | < 200 | > 1000 | < 20 | > 100 |
陽(yáng)光 | > 2000 | 100 | < 1000 | >最大值 | < 100 | >最大值 |
隨外部照明條件改變背光強(qiáng)度。
實(shí)現(xiàn)中斷
下圖顯示了主微控制器實(shí)現(xiàn)的流程圖的典型示例。
算法閾值水平和環(huán)境測(cè)量:計(jì)數(shù)與勒克斯
根據(jù)計(jì)數(shù)而不是勒克斯值實(shí)現(xiàn)算法更直接。這樣做無(wú)需使用任何浮點(diǎn)數(shù)學(xué)運(yùn)算,并允許簡(jiǎn)單的定點(diǎn)微控制器代碼。
環(huán)境光計(jì)數(shù) | 2^(指數(shù)) × 尾數(shù) |
指數(shù) = 8xE3 + 4xE2 + 2xE1 + E0 | |
尾數(shù) = 128xM7 + 64xM6 + 32xM5 + 16xM4 + 8xM3 + 4xM2 + 2xM1 + M0 | |
上限閾值計(jì)數(shù) | 2^(指數(shù)) × 尾數(shù) |
指數(shù) = 8xE3 + 4xE2 + 2xE1 + E0 | |
尾數(shù) = 128xM7 + 64xM6 + 32xM5 + 16xM4 + 15 | |
較低的閾值計(jì)數(shù) | 2^(指數(shù)) × 尾數(shù) |
指數(shù) = 8xE3 + 4xE2 + 2xE1 + E0 | |
尾數(shù) = 128xM7 + 64xM6 + 32xM5 + 16xM4 |
使用上表中所需的閾值,可以計(jì)算閾值寄存器字節(jié),以用作每個(gè)照明區(qū)域的偽代碼中的限制。這些閾值與根據(jù)上述公式計(jì)算的環(huán)境光計(jì)數(shù)進(jìn)行了簡(jiǎn)單比較。
區(qū) | 下限閾值,10% 玻璃 (勒克斯) | 上限閾值,10% 玻璃(勒克斯) | 所需的下限閾值計(jì)數(shù) | 所需的閾值上限計(jì)數(shù) | 下限閾值寄存器字節(jié) | 上限閾值寄存器字節(jié) | 實(shí)際下限閾值計(jì)數(shù) | 實(shí)際上限閾值計(jì)數(shù) | 實(shí)際下限閾值 | 實(shí)際上限閾值 |
黑暗 | < 0 | > 1 | 0 | 22 |
0000 0000 |
0000 0001 |
0 | 31 | < 0 | > 1.395 |
? | < 1 | > 5 | 22 | 111 |
0000 0001 |
0000 0110 |
16 | 111 | < 0.72 | > 4.995 |
家 | < 5 | > 20 | 111 | 556 |
0000 0110 |
0010 1001 |
96 | 636 | < 4.32 | > 28.62 |
辦公室 | < 20 | > 100 | 556 | 2222 |
0010 1001 |
0100 1000 |
576 | 2288 | < 25.92 | > 102.96 |
陽(yáng)光 | < 100 | >最大值 | 2222 | 4177920 |
0100 1000 |
1110 1111 |
2048 | 4177920 | < 92.16 | > 188006 |
應(yīng)該注意的是,如果工作光水平非常接近定義的照明區(qū)域的邊界,背光水平可能會(huì)更頻繁地波動(dòng)并給用戶帶來(lái)不適。因此,在一個(gè)照明區(qū)域的上限閾值和下一個(gè)較高照明區(qū)域的下限閾值之間定義了一個(gè)小的重疊區(qū)域。這提供了一個(gè)自然的滯后,作為對(duì)小光波動(dòng)的屏蔽。如果需要,可以進(jìn)一步擴(kuò)展這些重疊。
這里描述的算法只是背光亮度控制的一種可能實(shí)現(xiàn)的一般準(zhǔn)則。那些精通背光控制技術(shù)的人已經(jīng)開發(fā)了許多不同的算法,為最終用戶提供復(fù)雜而透明的感覺(jué)。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2550文章
51035瀏覽量
753071 -
lcd
+關(guān)注
關(guān)注
34文章
4424瀏覽量
167400
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論