背光自動控制模塊
摘要:本文主要講述采用集成環境光傳感器控制顯示屏背光亮度的應用。系統根據環境光強度實行動態的背光控制,降低功耗。讓顯示屏亮度根據環境光條件自行調整到最佳狀態,改善用戶體驗。同時也能手動調節背光亮度。
本文引用地址:http://www.104case.com/article/281898.htm前言
一個完整的液晶背光控制系統包括二部分:(1)背光自動控制模塊;(2)LED驅動器。其中背光自動控制模塊有光傳感器和數據處理裝置(通常是微控制器)組成。系統框圖如圖1所示。
現在絕大部分CCFL背光的液晶屏都已經停產,各液晶屏生產商都已經采用WLED背光,并且有的已經將LED驅動器集成到液晶屏。本文介紹背光自動控制模塊。
1 模塊組成設計
背光自動控制模塊(以下簡稱為控制模塊)的基本組成結構設計如圖2所示,主要包括控制模塊硬件和上位機控制軟件。硬件模塊由單片機、光強傳感器、電源轉換芯片組成;上位機軟件是由VB編寫的一個USB通信控制軟件。
為了更有效地實現系統,在系統組成的基礎上,對系統的功能進行規劃分析。
1.1 光強傳感器
光強傳感器是關鍵的組成部分,它負責向微處理器提供環境光強信息。
1.2 微處理器
微處理器是核心部分,負責數據處理,它有以下幾個功能:
負責讀取光傳感器的環境光強數據,并將這些信息處理轉換成脈沖信號控制液晶屏的背光驅動器,進而完成背光亮度的控制;
解析USB上位機發送過來的指令完成相關操作。
1.3 電源芯片
通過USB取電,將+5V轉換成模塊的工作電壓。
1.4 上位機軟件
基于USB-HID對硬件模塊控制指令,并接收硬件模塊的反饋信息。
2 硬件設計
硬件電路原理圖如圖3所示,主要由光強傳感器、微處理器、電源電路等組成。考慮到顯示器的空間限制,在保證功能的前提下優先考慮小封裝的元器件。
2.1 光強傳感器
選用Maxim公司的MAX4009集成環境光強傳感器,將所有信號調節和AD轉換器集成在一個封裝內,有效節省電路板面積;低功耗(ICC=0.65μA);傳感器的光譜靈敏度需要與人眼接近;采用I2C通信協議;可設置上、下限閥值中斷使其與微控制器的連接方式更簡單,數據傳輸速度更快。
2.2 微控制器
選用ST公司的STM32F103T8U6單片機,QFN36封裝;內部集成IIC以及USB控制器;通過USB口與外部通信;IIC配合外部中斷與光強傳感器通信;TIM3輸出PWM控制信號;TIM2為通用定時器。
2.3 電源芯片
電源芯片選用ASM1117-3.3,Uin=4.75V~12V;Uout=3.3V;Iout[max]=1A;滿足要求。
3 軟件設計
對系統設計的功能要求進行深入分析,將軟件設計分為三部分:通信協議、單片機程序和上位機軟件。
3.1 通信協議
通信協議是指雙方實體完成通信或服務所必須遵循的規則和約定,是確保數據順利地、正確地傳送的基礎。本設計中只是小數據量的有線通信,所以只是建立了一個簡單的通信協議。具體如下:
命令格式:FF WW XX YY CC(5個字節的16進制數)。
第1位為協議頭,固定為FF。
第2位WW為指令類型:50是自動模式指令;05是手動模式指令。
第3、4位XX和YY在自動和手動模式下代表不同的意義:
自動模式下:XX、YY分別為光傳感器的高字節流明寄存器和低字節流明寄存器的數據。
手動模式下:XX是背光亮度的百分比值,范圍1~100。
第5位為結束標識符,固定為CC。
3.2 單片機程序
單片機程序流程如圖4左部分所示。系統上電之后,先會對單片機進行初始化,然后判斷上位機是否通過USB發送控制指令過來,接著判斷是自動控制指令還是手動控制指令,如果是自動控制指令,則讀取當前環境光強度,并設置上、下限門限,接著把光強度變換成背光亮度的百分比,最后調用PWM滑動調節控制背光;如果是手動控制命令,則讀取上位機發送過來的背光亮度的百分比,調用PWM滑動調節控制背光。
3.2.1 MAX44009通信控制
STM32F103通過I2C與MAX44009進行通信。通過設置上、下限閥值,在光線強度偏離設定范圍一定時間后,產生中斷通知微處理器讀取光強度,進行背光亮度調節,并設置新的上、下限門限。本設計中上、下限閥值范圍為當前光強度的±10%。
(1)讀取流明
流明寄存器包含高、低字節流明寄存器。高字節流明寄存器0x03包括4位指數位E3:E0和尾數字節的4個最高有效位M7:M4,表示環境光強的流明數。尾數字節的其余4位M3:M0位于低字節流明寄存器0x04。如表1所示。用戶可以選擇只讀高字節流明寄存器或者連續讀高、低字節流明2個寄存器來得到流明數。
只讀高字節流明寄存器換算公式:
Lux=2(8×E3+4×E2+2×E1+E0)×(8×M7+4×M6+2×M5+M4)×0.72
讀高、低字節流明寄存器換算公式:
Lux=2(8×E3+4×E2+2×E1+E0)×(128×M7+64×M6+32×M5+16M4+8×M3+4×M2+2×M1+M0)×0.045
本設計中為了增強IC的流明讀數分辨率,所以選擇連續讀取高、低字節流明寄存器。值得注意的是,為了確保內部ADC和I2C寄存器之間正確傳輸數據,在I2C讀操作期間,芯片內部禁止高字節流明寄存器和低字節流明寄存器的更新,只有主機發送STOP[1]命令時,才恢復I2C寄存器更新。所以在連續讀取2個字節流明寄存器時,讀完高字節寄存器后不能發送STOP信號,必須在讀完的字節低字節寄存器后才能發送STOP。
(2)環境光強如何映射到背光亮度
本設計中采用的一種映射方式是Microsoft?針對運行Windows? 7[2]操作系統計算機提出的。如圖5所示曲線,它可以將環境光強度映射到顯示屏亮度(以全部亮度的百分比表示)。
這個特性曲線可以用以下函數表示:
(1)
評論