linux 背光驱动程序,基于嵌入式Linux的LCD背光调节及驱动实现

PWM 设置函数pwm_set_duty()根据传入参数改写TCMPBn的值,可以实时地改变输出波形。PWM设置函数设置定时器TOUT1端口GPB1的PWM 功能操作步骤如下:

(1)使能系统PCLK 时钟源,获取总线时钟频率值。设置定时器TOUT1的时钟预分频值和分频值,分别写入定时器配置寄存器TCFG0和TCFG1;(2)写入初始值到比较缓存寄存器TCMPB1和计数缓存寄存器TCNTB1;(3)设置定时器控制寄存器TCON.使能定时器TOUT1的自动重载位,关闭反相器,开启手动更新位,启动定时器TOUT1.在定时器延时等待一定时间后定时器的下降计数器开始计数;(4)清除定时器TOUT1的手动更新位,手动更新位必须在下次写前被清除。

4 测试结果与分析

将驱动程序编译后加载到内核测试,设定PWM 输出频率为200Hz,高电平比例为1/3的波形,通过示波器看到GPB1端口所输出波形如图5所示。

cb0dd1962b5e7f501affc603369ebe73.png

图5 GPB1输出波形

通过测试,可以得到如表1所示的该手持式设备功耗与背光亮度相关的数据。

表1 系统不同背光亮度的功耗对比表

2f8dbc8227a98bd08c6d6f12c4877b9c.png

从表1中可以看出背光亮度等级越低,系统的功耗越小。所以,在该设备使用时,在环境允许的条件下,可以降低背光亮度等级,以减少功耗。本文的背光驱动程序为背光调节提供了7级的亮度控制。在实际使用的过程中,设置1/3的亮度即可,只有在特殊的场合才需要设置为高亮。在LCD不工作的时候,可以调低或者关闭背光,这样可以大大节省能耗。在应用时,为了确保人眼看不到LED周期亮灭的情况,以获得视觉上的满意效果,PWM 输出的频率一般在设置在100~300Hz之间比较合适,否则会给人闪烁的感觉。

5 结 语

本文在嵌入式Linux下,设计了一种基于PWM 调节LCD背光的软硬件实现方案。本方案与普通的线性调光相比,更符合人们对LED调光精度、效率以及效果的要求,同时可以降低系统功耗并能满足手持式设备调节背光的要求,该方案已经在一款手持设备产品上得到了应用。在实际应用中,为了防止当PWM 频率落在200~20kHz之间时,LED

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值