自-基于嵌入式Linux的LCD背光调节及驱动的实现

上传人:熠*** 文档编号:186713448 上传时间:2021-07-20 格式:DOC 页数:7 大小:19KB
返回 下载 相关 举报
自-基于嵌入式Linux的LCD背光调节及驱动的实现_第1页
第1页 / 共7页
自-基于嵌入式Linux的LCD背光调节及驱动的实现_第2页
第2页 / 共7页
自-基于嵌入式Linux的LCD背光调节及驱动的实现_第3页
第3页 / 共7页
自-基于嵌入式Linux的LCD背光调节及驱动的实现_第4页
第4页 / 共7页
自-基于嵌入式Linux的LCD背光调节及驱动的实现_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《自-基于嵌入式Linux的LCD背光调节及驱动的实现》由会员分享,可在线阅读,更多相关《自-基于嵌入式Linux的LCD背光调节及驱动的实现(7页珍藏版)》请在金锄头文库上搜索。

1、基于嵌入式Linux的CD背光调节及驱动的实现摘要:为了减少手持式设备的功耗并满足ld背光调节的应用需求,在嵌入式lux下,设计了一种用按键来调节输出方波占空比以实现背光调节的解决方案。该方案采用s3c2440的定时器产生pm信号,系统根据lc使用情况和外界光线强度的变化,用传入的按键触发次数来控制定时器输出pwm信号的占空比,通过软件实现背光状态的实时调节,并完成了背光驱动程序的设计。测试结果表明,该方法可以降低设备的功耗并能满足背光调节的要求,具有良好的稳定性及通用性。关键词:嵌入式系统;pwm; 按键; 背光调节引言在手持式设备中,液晶显示屏的使用越来越广泛。由于lcd自身是不能发光的,

2、它需要一个强劲的光源来给它提供背光,以便清晰地显示信息。这样的光源是非常耗电的,通常液晶显示屏的功耗常常占到系统总功耗的6%以上1。以群创的7寸屏为例,通常背光灯的功耗为2.5w,而c的功耗只有0825 w2。由此可见,背光光源的功耗在整个电源中的比重是相当高的。如果系统在不用显示屏时,也全功率的运行,系统的电池能量将很快被耗光。所以,调节lcd的背光源,降低系统在不用显示屏时的能耗是十分必要的工作。另外,由于手持式设备工作环境的变化,也需要根据外界光线强度的变化,对背光的亮度做出相应的调节,以适合人眼观看的舒适度。基于上述2种原因,考虑到设备功耗的降低以及使用的便利性,本文在嵌入式lnux下

3、,设计了一种使用3c24的定时器产生pm (ulse width mdulaton)信号,根据设备实际使用需要,和外界光线强度的变化用按键调节lcd背光亮度的解决方案。基于w的背光调节原理在中小尺寸液晶显示屏中,一般采用白光l作为显示屏的背光光源。pwm即脉宽调制,pwm调光就是利用人眼的视觉暂停原理,以一定的频率和占空比的方波来控制led的导通。led正向电流在零电流到额定工作电流之间来回切换,通过高速开关背光,周期循环地提供不同占空比的方波,实现亮度的调节。只要导通时led正向电流大小是恒定的,发出的白光就不会发生色偏,而且只要频率大干10 hz,人眼看到的将是连续的光源3。图1是脉宽调制

4、信号的波形。假设高电平代表打开背光,低电平代表关闭背光,背光打开和关闭时间的比例不同会得到不同占空比的方波。从输出的波形来看,波的平均功率是不一样的,这样就得到了不同的亮度,实现了背光的调节。图1pwm的波形2背光调节的硬件实现方案s3c4404是三星公司推出的一款基于ar920t内核的16/3位ric嵌入式微处理器。其内部有5个1位的定时器,其中前个定时器(out0tu3)具有pwm功能,第个定时器(tt4)是一个没有输出引脚的内部定时器,另外定时器ut0有一个死区发生器,通常用于大电流设备控制。wm信号可以用硬件产生,也可以由软件产生。由于用软件定时产生pw信号外围电路简单,脉冲宽度精度高

5、,控制灵活,所以本方案用s3c240的定时器out,软件定时产生pwm信号,通过改变tu端口gpb1输出脉冲信号占空比,控制背光的开关。lc背光调节电路如图2所示。图cd背光调节电路图图2中zxld11005是一个电感式的pf(ulsefrequncy modulati)升压转换器,用于驱动白光led。当lcd正常工作时,zld11的e端被置高电平时,输出端将得到驱动d背光源所需的工作电压。将s3c2440的端口gpb1与xld1100的使能端相连,通过p信号使能zx1100,可以使cd背光工作在较低的功率下。图2中按键s1ke用于调高背光亮度,s2_key用于调低背光亮度。1_ky和s2_k

6、e所用到的外部中断分别是eint和t13。当按键按下时,系统根据传入的按键编号控制gpb输出pwm信号占空比,由此完成了对设备背光的软件控制,实现背光亮度的调节。3背光调节的软件设计背光调节的软件部分主要是驱动程序的设计,设备驱动程序是连接硬件和操作系统内核的桥梁,它为应用程序屏蔽了硬件的细节,应用程序将使用统一的系统调用接口来访问设备69。lux系统将设备分为3种基本类型,即字符设备、块设备和网络设备。本文涉及的背光驱动属于字符设备驱动程序。采用inx作为嵌入式操作系统,内核版本为linu26.32,根文件系统采用yaff,应用程序采用了busybox。背光驱动程序的工作流程框图如图3所示。

7、图3背光驱动程序工作流程框图(1) 当加载驱动时,调用初始化函数s3c_b_pm_nt()。该函数会调用reqestir()函数来注册中断。equest_irq()会操作中断描述符数组button_irqs。中断描述符数组的主要功能是记录中断号对应的按键编号和i端口。(2)当中断到来时,会到中断描述符数组tniqs中查询中断号对应的按键编号。然后调用中断处理函数等操作调节设备背光。(3) 当卸载驱动时,调用退出函数3_bl_pwmexit()。该函数中会调用ree_rq(),操作中断描述符数组utonirs,释放设备所使用的中断号并删除对应中断处理函数。3.背光驱动的初始化和退出函数在加载驱动

8、时,内核调用初始化函数s3_b_pwm_init()。首先初始化lcd背光亮度,设置按键中断触发方式,注册中断。然后初始化定时器,设置按键初始状态为抬起(ky_up)。最后使用mi_reie()向内核注册混杂设备,混杂设备是字符设备的抽象。背光驱动中混杂设备的定义如下:sttc strut s3c_b_p =.er = ts_mole,;satc stuctmievice 3c_mis=.inr =misc_dnmic_mior/设备号.nae evce_ae设备名fops =&s3c_l_fops/文件操作结构体;在卸载驱动时,内核调用退出函数s3bl_pm_ext(),注销中断和混杂设备,

9、完成和初始化函数相反的行为。2按键中断和定时器处理程序当按键被按下后,将发生快速中断,触发中断处理程序buton_intrrt()。在中断处理程序中,当按键初始状态为抬起(eyp)时,把按键状态设置为不确定(ey_dn),然后启动定时器延时去抖,进入定时器处理函数。如果当前按键初始状态不是抬起则退出中断处理程序。在定时器处理程序中,读取按键gpio端口电平,查询按键是否仍然被按下。如果按键仍被按下且按键状态是不确定(key_downx),则标识当前按键状态为按下(keyown)。同时延时一个相对去抖更长的时间,启动一个新的定时器,每次定时器到期后,查询按键是否仍然被按下且按键状态为按下(ke_

10、dwn),如果是,则重新启动新的定时器;若查询到已经没有按下,则标识按键状态为抬起,这时候应该等待新的按键中断。每次标识按键状态为按下(ke_own)时,应该调用背光调节函数lhander()依据传入的按键编号调节背光亮度。按键中断和定时器处理函数的流程如图4所示。图按键中断和定时器处理函数的流程图3.3pw设置函数pm定时器中有2个寄存器tctbn和tcpbn,分别为定时器计数缓存寄存器和定时器比较缓存寄存器1。tcn用来设置pwm输出脉冲频率,tcm的值用于设置pwm信号占空比。因此通过写入不同的cmpbn的数值,就可以调节输出信号占空比,实现pwm功能,即:要减小pwm的脉宽,则要减小t

11、cpn值,相反要增大pwm的脉宽,则要增大tmn。如果使用了反相器,则增大和减小的结果相反,双缓冲特性允许定时器在工作时改写tcpbn的值。wm设置函数wmsetdty()根据传入参数改写tcpb的值,可以实时地改变输出波形。pw设置函数设置定时器tu1端口gp1的m功能操作步骤如下:(1)使能系统plk时钟源,获取总线时钟频率值。设置定时器tout1的时钟预分频值和分频值,分别写入定时器配置寄存器cfg0和g;(2) 写入初始值到比较缓存寄存器tmb1和计数缓存寄存器tb1;(3) 设置定时器控制寄存器tc。使能定时器tut的自动重载位,关闭反相器,开启手动更新位,启动定时器ot1。在定时器

12、延时等待一定时间后定时器的下降计数器开始计数;(4) 清除定时器ut的手动更新位,手动更新位必须在下次写前被清除。4测试结果与分析将驱动程序编译后加载到内核测试,设定p输出频率为20 z,高电平比例为1/3的波形,通过示波器看到pb1端口所输出波形如图5所示。图5gb1输出波形通过测试,可以得到如表1所示的该手持式设备功耗与背光亮度相关的数据。表系统不同背光亮度的功耗对比表占空比(高电平)电流 /a电压 /v系统功耗/mw1481 701224 1521337641/212348015613 3121/6262 216230122 760从表1中可以看出背光亮度等级越低,系统的功耗越小。所以,在该设备使用时,在环境允许的条件下,可以降低背光亮度等级,以减少功耗。本文的背光驱动程序为背光调节提供了7级的亮度控制。在实际使用的过程中,设置13的亮度即可,只有在特殊的场合才需要设置为高亮。在lcd不工作的时候,可以调低或者关闭背光,这样可以大大节省能耗。在应用时,为了确保人眼看不到ed周期亮灭的情况,以获得视觉上的满意效果,pwm输出的频率一般在设置在130 hz之间比较合适,否则会给人闪烁的感觉。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 社会学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号