本應用筆記介紹了使用MAX44009環境光傳感器在智能手機和平板電腦等便攜式應用中進行背光控制的解決方案。提出了兩種不同的控制方案來調節背光亮度。應用筆記提供了提高性能的其他技巧,以及實現本文討論的算法的示例代碼。
概述
環境光傳感器 (ALS) IC 越來越多地用于各種顯示和照明應用,以節省功耗并改善用戶體驗。借助 ALS 解決方案,系統設計人員可以根據環境光量自動調整顯示器亮度。由于背光占系統功率預算的很大一部分,動態亮度控制可以轉化為可觀的節能效果。它還可以改善用戶體驗,允許根據環境光條件優化屏幕亮度。
實現這樣的系統需要三個部分:用于監控環境光量的光傳感器、用于處理數據的器件(通常是微控制器)以及用于控制通過背光的電流的執行器。
背光控制:環境光傳感器
圖1提供了實現背光控制的系統的示例框圖。光傳感器是此設置的關鍵部分,因為它向系統的其余部分提供有關環境光照水平的信息。光傳感器必須包含一個用于將光轉換為電信號的換能器(例如光電二極管或CdS光敏電阻)、一些放大和/或信號調理以及一個模數轉換器(ADC)。
圖1.實現背光控制的系統的框圖。
圖2顯示了光電二極管電路的分立實現方案。如您所見,該電路需要一個或多個運算放大器:一個用于I-V轉換,另一個用于額外增益。它還包括額外的布線,為所有這些組件供電,并確保信號鏈的魯棒性。在空間非常寶貴的應用中,所需的大量組件可能會出現問題。
圖2.光電二極管電路的分立實現。
這里還有第二個更微妙的問題。具體而言,希望確保以復制人眼對光的光學響應的方式測量環境光。這通常用CIE明視曲線來描述(圖3)。然而,光電二極管很少復制這種響應,因為它們通常具有很高的紅外(IR)靈敏度。這種靈敏度會導致紅外重光下的錯誤讀數,例如白熾燈泡或太陽的讀數。
解決此問題的一種方法是使用兩個光電二極管:一個具有可見光加紅外分量,另一個僅具有紅外分量。然后可以相互減去兩個響應,以僅獲得可見光部分,并最小化紅外部分。
雖然有效,但該解決方案增加了上述分立電路所需的空間。此外,要足夠緊密地匹配分立光電二極管以消除紅外干擾,即使不是不可能,也是非常困難的。如果沒有非常復雜的放大器實現,例如對數放大器,動態范圍可能會受到限制。使用這種設置很難獲得可重復的結果。
圖3.CIE曲線與典型光電二極管的比較。
集成解決方案不僅可以產生更符合人眼光學響應的光讀數,還可以節省大量空間。MAX44009環境光傳感器等器件將所有信號調理和A/D轉換電路集成到小尺寸(2mm × 2mm UTDFN)中,在空間受限的應用中節省了大量電路板空間。
圖4所示為MAX44009的功能框圖。它使用 I2C通信協議允許一種快速、簡單的方法與微控制器接口。除此之外,該解決方案的集成特性使其能夠放置在柔性電纜上,并設置在遠離主電路板的所需位置。
圖4.MAX44009的功能框圖
背光控制:調制屏幕亮度
該控制方案的第二部分涉及驅動屏幕上背光的變化。這可以通過多種方式完成,具體取決于應用程序中使用的屏幕模塊。兩種最簡單的方法是直接通過脈寬調制(PWM)方案或使用屏幕控制器芯片間接。
現在許多顯示模塊都有一個集成控制器,允許用戶通過向設備發送串行命令來直接設置亮度。但是,如果不可用,則可以通過控制傳遞到屏幕后面的一系列白光LED的功率來實現簡單的背光控制執行器,這些LED提供背光。實現此目的的一種粗略方法是直接將 FET 與 LED 串聯,并使用 PWM 信號快速打開和關閉(圖 5)。然而,使用單芯片可以更優雅、更穩健地完成這項工作:MAX1698升壓型電流調節器,用于LED(圖6)。參見應用筆記3866:“低功耗PWM輸出控制LED亮度”,了解該實現方案的更多細節。
圖5.簡單的PWM控制電路。
圖6.基于MAX1698的LED穩壓器
背光控制:彌合差距
最后一步是彌合傳感器和執行器之間的間隙,這在微控制器中完成。人們可能會問的第一個問題是:“如何將環境光映射到背光亮度?事實上,有一些規范描述了應該如何做到這一點。Microsoft? 為運行 Windows 7 的計算機推薦了一個映射示例。圖 7 中的曲線由 Microsoft 提供,用于將環境光級別映射到屏幕亮度(占全亮度的百分比)。?
圖7.將環境光水平映射到最佳屏幕亮度的亮度曲線示例。
這條特定的曲線可以用以下函數來描述:
如果應用使用具有集成亮度控制的LCD控制器芯片,則可以通過向芯片發送具有所需值的命令來輕松設置亮度。如果應用使用PWM直接控制亮度,則必須考慮如何將百分比信號映射到亮度。
以MAX1698為例,可以將驅動電流映射到電壓,如數據資料中所述。從那里,人們通常可以假設LED的電流幾乎與其強度線性相關。因此,可以將常數乘以上述等式,以將PWM映射到有效電壓,然后將其映射到LED電流,從而轉換為屏幕亮度。
實施說明
最好不要直接從一種設置跳到另一種設置:相反,背光亮度應平滑地上下增加,以確保級別之間的無縫過渡。這最好通過使用具有固定或可變亮度步長大小的定時中斷來逐漸改變用于控制通過LED的電流的PWM值或發送到顯示控制器芯片的串行命令。圖 8 提供了此類算法的示例。
圖8.亮度步進算法示例。
另一個問題是系統應該多快響應環境光水平的變化。應避免過快地更改亮度級別。令人擔憂的是,光線的瞬態變化(例如,經過窗戶或燈)會導致背光亮度發生不希望的變化,一些用戶會覺得很煩人。此外,使用較慢的響應時間可減少不斷輪詢光傳感器的需要,從而釋放一些微控制器資源。
一種基本方法是每兩秒輪詢一次光傳感器,然后更改亮度。更好的方法是僅在光線水平離開特定區域特定時間時才更改亮度。例如,如果當前的光照水平為 200lux,則可能只想在光線水平低于 180lux 或高于 220lux 的時間超過幾秒鐘時更改亮度。幸運的是,MAX44009具有中斷引腳和門限寄存器,因此非常容易實現。
審核編輯:郭婷
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753076 -
lcd
+關注
關注
34文章
4424瀏覽量
167403 -
adc
+關注
關注
98文章
6495瀏覽量
544466
發布評論請先 登錄
相關推薦
評論