999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

背光自動控制模塊

2015-04-29 00:00:00郭昱秀葉永安
電子產(chǎn)品世界 2015年11期

摘要:本文主要講述采用集成環(huán)境光傳感器控制顯示屏背光亮度的應用。系統(tǒng)根據(jù)環(huán)境光強度實行動態(tài)的背光控制,降低功耗。讓顯示屏亮度根據(jù)環(huán)境光條件自行調(diào)整到最佳狀態(tài),改善用戶體驗。同時也能手動調(diào)節(jié)背光亮度。本文網(wǎng)絡版地址:http://www.eepw.com.cn/article/281898.htm

關鍵詞:自動控制;液晶屏;LED

DOI:10.3969/j.issn.1005-5517.2015.10.022

郭昱秀(1990-),女,工程師,研究方向:雷達屏幕顯示、空管自動化裝備、內(nèi)話設備等調(diào)試維護。葉永安(1987-),男,工程師,研究方向:計算機及外圍設計。

前言

一個完整的液晶背光控制系統(tǒng)包括二部分:(1)背光自動控制模塊;(2)LED驅(qū)動器。其中背光自動控制模塊有光傳感器和數(shù)據(jù)處理裝置(通常是微控制器)組成。系統(tǒng)框圖如圖1所示。

現(xiàn)在絕大部分CCFL背光的液晶屏都已經(jīng)停產(chǎn),各液晶屏生產(chǎn)商都已經(jīng)采用WLED背光,并且有的已經(jīng)將LED驅(qū)動器集成到液晶屏。本文介紹背光自動控制模塊。

模塊組成設計

背光自動控制模塊(以下簡稱為控制模塊)的基本組成結構設計如圖2所示,主要包括控制模塊硬件和上位機控制軟件。硬件模塊由單片機、光強傳感器、電源轉換芯片組成;上位機軟件是由VB編寫的一個USB通信控制軟件。

為了更有效地實現(xiàn)系統(tǒng),在系統(tǒng)組成的基礎上,對系統(tǒng)的功能進行規(guī)劃分析。

1.1光強傳感器

光強傳感器是關鍵的組成部分,它負責向微處理器提供環(huán)境光強信息。

1.2微處理器

微處理器是核心部分,負責數(shù)據(jù)處理,它有以下幾個功能:

負責讀取光傳感器的環(huán)境光強數(shù)據(jù),并將這些信息處理轉換成脈沖信號控制液晶屏的背光驅(qū)動器,進而完成背光亮度的控制;

解析USB上位機發(fā)送過來的指令完成相關操作。

1.3電源芯片

通過USB取電,將+5V轉換成模塊的工作電壓。

1.4上位機軟件

基于USB-HID對硬件模塊控制指令,并接收硬件模塊的反饋信息。

硬件設計

硬件電路原理圖如圖3所示,主要由光強傳感器、微處理器、電源電路等組成。考慮到顯示器的空間限制,在保證功能的前提下優(yōu)先考慮小封裝的元器件。

2.1光強傳感器

選用Maxim公司的MAX4009集成環(huán)境光強傳感器,將所有信號調(diào)節(jié)和AD轉換器集成在一個封裝內(nèi),有效節(jié)省電路板面積;低功耗(ICC=0.65μA);傳感器的光譜靈敏度需要與人眼接近;采用I2C通信協(xié)議;可設置上、下限閥值中斷使其與微控制器的連接方式更簡單,數(shù)據(jù)傳輸速度更快。

2.2微控制器

選用ST公司的STM32F103T8U6單片機,QFN36封裝:內(nèi)部集成IIC以及USB控制器;通過USB口與外部通信;IIC配合外部中斷與光強傳感器通信;TIM3輸出PWM控制信號;TIM2為通用定時器。

2.3電源芯片

電源芯片選用ASM1117-3.3,Uin=4.75V~12V;Uout=3.3V;Iout[max]=1A,滿足要求。

軟件設計

對系統(tǒng)設計的功能要求進行深入分析,將軟件設計分為三部分:通信協(xié)議、單片機程序和上位機軟件。

3.1通信協(xié)議

通信協(xié)議是指雙方實體完成通信或服務所必須遵循的規(guī)則和約定,是確保數(shù)據(jù)順利地、正確地傳送的基礎。本設計中只是小數(shù)據(jù)量的有線通信,所以只是建立了一個簡單的通信協(xié)議。具體如下:

命令格式:FF WW XX YY CC(5個字節(jié)的16進制數(shù))。

第1位為協(xié)議頭,固定為FF。

第2位WW為指令類型:50是自動模式指令;05是手動模式指令。

第3、4位XX和YY在自動和手動模式下代表不同的意義:

自動模式下:XX、YY分別為光傳感器的高字節(jié)流明寄存器和低字節(jié)流明寄存器的數(shù)據(jù)。

手動模式下:XX是背光亮度的百分比值,范圍1~100。

第5位為結束標識符,固定為CC。

3.2單片機程序

單片機程序流程如圖4左部分所示。系統(tǒng)上電之后,先會對單片機進行初始化,然后判斷上位機是否通過USB發(fā)送控制指令過來,接著判斷是自動控制指令還是手動控制指令,如果是自動控制指令,則讀取當前環(huán)境光強度,并設置上、下限門限,接著把光強度變換成背光亮度的百分比,最后調(diào)用PWM滑動調(diào)節(jié)控制背光;如果是手動控制命令,則讀取上位機發(fā)送過來的背光亮度的百分比,調(diào)用PWM滑動調(diào)節(jié)控制背光。

3.2.1

MAX44009通信控制

STM32F103通過I2C與MAX44009進行通信。通過設置上、下限閥值,在光線強度偏離設定范圍一定時間后,產(chǎn)生中斷通知微處理器讀取光強度,進行背光亮度調(diào)節(jié),并設置新的上、下限門限。本設計中上、下限閥值范圍為當前光強度的±10%。

(1)讀取流明

流明寄存器包含高、低字節(jié)流明寄存器。高字節(jié)流明寄存器0×03包括4位指數(shù)位E3:EO和尾數(shù)字節(jié)的4個最高有效位M7:M4,表示環(huán)境光強的流明數(shù)。尾數(shù)字節(jié)的其余4位M3:MO位于低字節(jié)流明寄存器0×04。如表1所示。用戶可以選擇只讀高字節(jié)流明寄存器或者連續(xù)讀高、低字節(jié)流明2個寄存器來得到流明數(shù)。

只讀高字節(jié)流明寄存器換算公式:數(shù)分辨率,所以選擇連續(xù)讀取高、低字節(jié)流明寄存器。值得注意的是,為了確保內(nèi)部ADC和I2C寄存器之間正確傳輸數(shù)據(jù),在I2C讀操作期間,芯片內(nèi)部禁止高字節(jié)流明寄存器和低字節(jié)流明寄存器的更新,只有主機發(fā)送STOP[1]命令時,才恢復I2C寄存器更新。所以在連續(xù)讀取2個字節(jié)流明寄存器時,讀完高字節(jié)寄存器后不能發(fā)送STOP信號,必須在讀完的字節(jié)低字節(jié)寄存器后才能發(fā)送STOP。

(2)環(huán)境光強如何映射到背光亮度

本設計中采用的一種映射方式是Microsoft@針對運行Windows@ 7[2]操作系統(tǒng)計算機提出的。如圖5所示曲線,它可以將環(huán)境光強度映射到顯示屏亮度(以全部亮度的百分比表示)。

這個特性曲線可以用以下函數(shù)表示:

(3)背光實施

LED背光亮度與其電流呈線性關系。集成了LED驅(qū)動器的液晶屏可以通過PWM直接控制液晶屏背光亮度。本設計中參考液晶屏的數(shù)據(jù)手冊PWM信號的頻率選用100Hz,由STM32F103的TIM3產(chǎn)生。

在背光調(diào)節(jié)過程中應避免從一個亮度級直接跳轉到另一個亮度級(驟變式的亮度變化會對眼睛造成沖擊),而應該平滑上調(diào)和下調(diào)背光亮度,確保不同亮度等級之間無縫過渡。為了達到這一目的,可采用帶有固定或不同亮度步長、可逐步調(diào)節(jié)亮度的定時中斷。本設計中參考MAX44009應用筆記中推薦的步進式亮度調(diào)節(jié)的算法進行亮度的平滑調(diào)節(jié)。

將采集進來的室內(nèi)光照度轉化為微處理器內(nèi)PWM寄存器的值,記為當前PWM值。將前PWM寄存器值記為PWM原值。將PWM原值與當前PWM值不斷比較遞增或遞減,使PWM輸出以極小的步長跟蹤當前PWM值,從而實現(xiàn)平滑調(diào)光。此算法還能解決啟動跳變問題,使系統(tǒng)啟動時PWM由零慢慢變化到當前PWM值。

PWM定時器的跳變值應該在定時器溢出中斷中重新賦值,避免跳變值的改變可能出現(xiàn)PWM信號有波動。

(4)設置上、下限閥值

MAX44009可以設置上、下限門限,在光線強度偏離上、下門限一定時間后,產(chǎn)生中斷通知微處理器讀取光強度。

由表2可知MAX44009的上、下門限只是針對高字節(jié)流明的。怎么把一個浮點型的流明數(shù)值變換成上、下限寄存器的格式數(shù)據(jù)。在這里需要采用frexp[31函數(shù):double frexp(doublex,int*exp);其中0.5

u8 Threshold_reg(float lux_rlhreshold)

{

doublex:

intn;

u8 y,lhreshold;

x=frexp(lux_,lhreshold,n);

if(lux_lhreshold<8)

{

y=(u8)(x+80)j

i((y%10)>4)y+=10j

y=y/10;

rlhreshold=(((u8)(n一3))<<4)I yj

returnrlhreshold;

}

else

{

y=(u8)(x*l60);

if((y%10)>4)y+=10j

y=y/10;

Threshold=(((u8)(n-4))<<4)ly;

returnThreshold;

}

}

設置上、下限閥值主要是為了改善系統(tǒng)對環(huán)境光強變化的響應,避免因為光強的瞬間變化(譬如一扇窗戶打開或瞬間有一束光掃過)而過快地改變亮度等級,這往往會造成用戶感覺不適。最初級的方法是每隔一兩秒鐘檢查一次光傳感器,然后相應地調(diào)整背光亮度。更好的方法是,只有光線強度偏離特定范圍一定時間后,才對背光亮度進行調(diào)節(jié)。

MAXIM推薦的例子是:“如果正常光強是2001ux,可能只會在光強降到1801ux以下或升至2201ux以上,而且持續(xù)時間超過數(shù)秒的情況下才調(diào)節(jié)亮度”。由于上、下限閥值設定是個固定值,當系統(tǒng)的使用環(huán)境更換時(比如說室外轉移到室內(nèi)),會造成背光調(diào)節(jié)的偏差,特別是新環(huán)境的光強度超出了上、下限閥值時,系統(tǒng)的調(diào)光效果跟最初級的方法效果一樣了。

為了解決這一問題,本設計中采用了動態(tài)設置上、下限閥值的方法。讀取當前光強度,然后取±10%為偏移量,寫進上、下限寄存器中。

3.2.2

PWM控制

STM32F103共有7個定時器,TIM1和TIM8是高級定時器,TIM2、TIM3和TIM4是通用定時器,TIM6和TIM7是基本定時器。本設計中采用通用定時器TIM3,利用TIM3產(chǎn)生周期為100Hz的PWM信號。

PWM配置步驟如下:1、設定TIM3信號周期;2、設定TIM3預分頻值;2、設定TIM3分頻系數(shù);4、設定TIM3計數(shù)模式;5、初始化TIMTimeBaseStructure[4];6、設定TIM3的OC模式;7、TIM3輸出使能;8、設定電平跳變初值;9、設定PWM信號的極性;10、使能TIM3信號通道;11、使能TIM3中斷;12、使能TIM3重載寄存器CCRX;13、使能TIM3計數(shù);14、在中斷中設置新的電平跳變值。

3.2.3

USB通信

在ST提供的USB-HID的例程上做修改,增加到3個USB端點。EPO為控制端點,EP1為INTERRUPT OUT端點(PC向MCU發(fā)送數(shù)據(jù)),EP2為INTERRUPTIN端點(MCU向PC發(fā)送數(shù)據(jù))。需要對“usb_desc.e”文件進行修改,VID和PID[5]不能跟現(xiàn)有的設備相沖突。詳細可參考USB HID Vl.l協(xié)議。模塊收到上位機發(fā)送過來的數(shù)據(jù)后,對數(shù)據(jù)進行解析并根據(jù)命令做出相關操作,代碼如下:

if(USB_ReceiveFlg==TRUE)//收到數(shù)據(jù)

{

USB_ReceiveFlg= FALSE;

if((RxBuffer[o]==Oxff)(RxBuffer[4]==0xcc))

{

if(RxBuffer[1]==0x50)//自動調(diào)光

{

Light_AM_flag=1;

12C_WriteByte(OxOl,INTENABLE,MAX44009_ADDR);

Light_HM_flag=0;

}

else if(RxBuffer[1]==0x05)//手動調(diào)光

{

Light_AM_flag=0;12C_WriteByte(OxOO,INT_ENABLE,MAX44009_ADDR);

HM_light=RxBuffer[3];

HM_light=HM_light/100;

PWM_diff(HM_light,1);//調(diào)光百分比

}

}

}

3.3上位機軟件

在VB編程環(huán)境中應用“HidAPI.bas”組件進行USB通訊編程,根據(jù)上述的通信協(xié)議通過USB接口與控制模塊進行信息指令交換。軟件有兩個功能:1、勾選“AM”控制模塊進入自動控光模式,滑條將被屏蔽不允許操作:2、不勾選“AM”進入手動控光模式,可以通過滑條進行亮度調(diào)節(jié)。

在VB中滑條需要鼠標左鍵才能觸發(fā),為了鼠標的滑輪能夠使用,加入了定數(shù)器,每20ms讀取一次滑條的值,保存并與上一次數(shù)據(jù)項比較,如果有變化則通過USB發(fā)送控制指令,否則不做處理。代碼如下:

Dimlightdata_r As String

Dimlightdata As String

Private Sub Timerl_Timer()

Textl.Text= SliderlValue

lightdata_r= lightdata‘保存上一次數(shù)據(jù)

lightdata= SliderlValue‘重新賦值

Iflightdata<>lightdata_r Then‘比較

Data(1)= H5

Data(3)= lightdata

CallWriteReport‘發(fā)送數(shù)據(jù)

End If

End Sub

軟件界面效果如圖6所示。

結論及成品展示

通過對本系統(tǒng)的調(diào)試與測試,實現(xiàn)了液晶背光的自動和手動控制。系統(tǒng)運行可靠,操作簡單,而且硬件模塊體積小便于安裝。已應用于多個顯示器產(chǎn)品中。

參考文獻:

[1]Maxim. MAX44009 Data sheet Rev O[Z]. Maximintegrated.2011

[2]Windows. Integrating Ambient Light Sensors with Computers Running Windows 7[R].Microsoft.2010

[3]譚浩強,C程序設計(第三版)[M].北京:清華大學出版社2005

[4]ST.UM0427 Rev 2[Z]. STMicroelectronics,2000

[5]USB Device Working Group.Device Class Definition for Human Interface Devices[Z].USB.org.1999

主站蜘蛛池模板: 欧美午夜在线观看| 毛片网站在线播放| 野花国产精品入口| 欧美日韩北条麻妃一区二区| 国产精品无码久久久久久| 国产毛片高清一级国语| 99视频在线免费看| 国产1区2区在线观看| 九九热在线视频| 日韩国产精品无码一区二区三区| 亚洲无码高清视频在线观看| 视频一区亚洲| 国产日产欧美精品| 亚洲激情区| 日韩天堂视频| 国产午夜无码专区喷水| 亚洲婷婷在线视频| 亚洲男人天堂2020| 欧美在线精品怡红院| 欧美黑人欧美精品刺激| 中文字幕在线视频免费| 91亚洲免费| 欧洲成人在线观看| 欧美在线网| 女人18一级毛片免费观看| 久久午夜夜伦鲁鲁片不卡| 日日噜噜夜夜狠狠视频| 在线日韩日本国产亚洲| 又污又黄又无遮挡网站| 日韩欧美91| 四虎在线观看视频高清无码| 亚洲美女AV免费一区| 91免费国产高清观看| 麻豆精品久久久久久久99蜜桃| 欧洲高清无码在线| 波多野结衣视频一区二区| h视频在线观看网站| 亚洲精品va| 三上悠亚在线精品二区| 麻豆国产精品一二三在线观看| 国产激爽大片在线播放| 亚洲 欧美 偷自乱 图片| 久久综合色视频| 久久综合AV免费观看| 中文成人无码国产亚洲| 亚洲av无码片一区二区三区| 欧美亚洲综合免费精品高清在线观看 | 久久国产精品电影| 亚洲国内精品自在自线官| 最新亚洲人成无码网站欣赏网| 青青国产成人免费精品视频| 国产综合亚洲欧洲区精品无码| 国产综合网站| 高h视频在线| 国产精品午夜电影| 亚洲妓女综合网995久久| 日韩二区三区无| 国产特一级毛片| 亚洲国产欧美中日韩成人综合视频| 日韩天堂视频| 国产精品一区二区无码免费看片| 久久99久久无码毛片一区二区| 性网站在线观看| 综合社区亚洲熟妇p| 91青青视频| 青草91视频免费观看| 91精品日韩人妻无码久久| 粉嫩国产白浆在线观看| 精品国产免费观看一区| 2021国产精品自拍| 欧美日韩精品在线播放| 亚洲精品无码日韩国产不卡| 欧美激情伊人| 欧美另类一区| 精品一區二區久久久久久久網站| 亚洲大尺码专区影院| 久久国产黑丝袜视频| 午夜免费小视频| 欧美a级在线| 中文字幕欧美日韩| 久久久久久国产精品mv| 亚洲大学生视频在线播放|