老大说了,下周新的手机要回来了,用的是400*800的屏,到时候就由我来调这个屏了。把屏的spec和背光的spec都给了我让我先看看。

以前分析了LCD(framebuffer)的驱动框架,但是对于背光还没有分析过,其底层到底是怎么工作都不知道。看了两天其间总是不能理解它是怎么工作的,到现在总算有了点感觉。

背光和LCD屏是两个独立的设备。背光也就是放在LCD屏后面的几个LED,LCD模组厂商将他们集成到一个块,从屏那一堆引出的管脚里面就有几个

是led的,如果将这几个相应的管脚接上正负极那背光就亮了。如何来调节这个背光的亮度呢?通过pwm,也就是时而上电时而断电,上电的时间越多(占空

比)也就是越亮。这很容易理解。为了帮助我们控制背光我们这里用了一个芯片RT9379B。从它的spec的 Typical Application

Circuit可以看出 从它的EN管脚输入pwm,然后它的LED管脚也就相应的输出pwm去控制屏上的led。

疑惑一:

一开始我认为需要在EN端不断的输入pwm,LED端才相应不断的输出pwm,但是从代码控制上来看,代码总是在输出了几个设置背光的pulse之

后就不再向EN输入pulse了。我当时就想不明白,为什么只输出几个pulse呢?死活想不通,去问了人,模模糊糊的知道了,原理在设置背光的时候只需

要输入你想要设置的等级的pulse个数,比如你要设置8级背光,就输入8个pulse,10级就输出10个pulse。这样之后芯片也就知道你所想要的

等级了,它就会自动去输出相应的pwm到屏上的led中。说得也是,如果不是这样还要你这个芯片干什么呢,我直接用io管脚模拟pwm不就得了。

疑惑二:

从代码控制上,背光越亮发送的pulse越少,从手机的实验结果也是这样。而我以前想当然的认为发送的pulse越多应该越亮。从spec上也没有

读出来如果控制亮度。从spec的Brightness Control里面有一句话是“the detail operation of

brightness dimming is showed in the figure 1”看了头天figure

1也都没看出来它表达个什么意思。后来和同事讨论一下终于明白它什么意思了。它的这个背光亮度分为32个等级,从那个时序图上可以看到脉冲1下面对应的就

是31/32,脉冲2下面对就的就是30/31,这样对应起来也就懂了,呵呵。

linux 背光驱动程序,Linux驱动工程师成长之路 LCD背光控制RT9379B相关推荐

  1. 网络工程师----成长之路

    网络工程师----成长之路 常用程序快捷键命令(网络工程师) 常用CMD命令(网络工程师) 常用Linux命令(网络工程师) 问题点宝库 第一章:一.網絡工程師–简介 第二章:二.网络工程师学习阶段– ...

  2. 精品课python_python工程师成长之路精品课程(全套)

    python工程师成长之路精品课程(全套)  有需要联系我:QQ:1844912514 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加易学.易读,非常适合快速开发. ...

  3. linux鼠标驱动程序,Linux usb子系统(一) _写一个usb鼠标驱动

    USB总线是一种典型的热插拔的总线标准,由于其优异的性能几乎成为了当下大小设备中的标配. USB的驱动可以分为3类:SoC的USB控制器的驱动,主机端USB设备的驱动,设备上的USB Gadget驱动 ...

  4. linux gtx驱动程序,linux GTX1080TI安装显卡驱动小记

    我这辈子没有见过什么世面,之前用的最好的显卡就是GTX750Ti了,有幸来到一个还算有钱的课题组,导师给配了一台装有E5-2696 v3 CPU,GTX1080TI显卡的电脑,不甚欢喜,爱不释手.没想 ...

  5. linux文件控制驱动程序,Linux设备驱动程序学习(6)-高级字符驱动程序操作[(3)设备文件的访问控制]...

    Linux设备驱动程序学习(6) -高级字符驱动程序操作[(3)设备文件的访问控制] 提供访问控制对于一个设备节点来的可靠性来说有时是至关重要的.这部分的内容只是在open和release方法上做些修 ...

  6. linux网络设备驱动程序,Linux网络设备驱动程序

    Linux网络设备驱动程序体系结构 -------------------------------------- |        数据包发送    |    数据包接收      |    ---- ...

  7. 前端架构师亲述:前端工程师成长之路的 N 问 及 回答

    问题回答者:黄轶,目前就职于 Zoom 公司担任前端架构师,曾就职于滴滴和百度,毕业于北京科技大学. 1. 前端开发 "我自己是一名从事了8年web前端开发的老程序员(我的微信:webxxq ...

  8. lcd背光节能matlab代码,【技术分享】LCD背光驱动节电技术-LABC/CABC

    LCD背光驱动节电技术-LABC/CABC 图像永远是最直观的表现方式,而LCD正是目前应用最多的表现媒介.随着技术的增强,人类对视觉的要求不断提高,对图像的分辨率.色彩的要求也越来越高. 我们的手机 ...

  9. 芯片工程师成长之路_一个FPGA工程师的成长之路

    最近逻辑组任务较多,人力不足,因此招了一些新员工.最近一段时间,也面试了很多人,各个行业和公司的都有,形形色色的人面试多了,也有一些感触,另外,年近而立,也需要总结一下.在此记录下来,与君共勉. 关于 ...

最新文章

  1. 用Python分析深圳程序员工资有多高?
  2. Failed to find provider info for com.tencent.mm.sdk.plugin.provider
  3. ORM 一对一 以及csrf 的简单用法
  4. @ConditionalOnMissingBean注解理解
  5. 初识Windows程序
  6. 数组中的两个常见异常
  7. android百度导航实现,Android 集成百度地图实现设备定位
  8. 不可能解开的谜题   (程序员修炼之道,评注者序)
  9. 总纲篇:产品结构设计指导VII(本博客指引章节)
  10. 91卫图下载影像步骤
  11. 五种最火供应链金融模式分析(附详细案例)
  12. matlab sae模型,发动机平均值模型的三篇SAE论文
  13. java size属性_Java中的长度length、length()、size()
  14. php 读取docx,PHP怎么获取docx里面内容
  15. 网络经商22条赚钱法则
  16. 微会动创始人袁帅:什么是二维码会议服务?
  17. 学习笔记2022.7.25-7.30
  18. 美团/饿了么外卖CPS联盟返利公众号小程序核心源码
  19. ps写实计算机图标,PS临摹写实图标教程
  20. Java中获取内存地址

热门文章

  1. “中兴捧月”报文监视器的实现
  2. 网 络 欺 骗 技 术
  3. Linux Disk Quota实践
  4. kubernetes之flannel 网络分析
  5. Go语言中的单例模式
  6. xampp for linux
  7. NIO的空轮询bug是什么?netty是如何解决NIO空轮询bug的?
  8. U盘文件系统类型 和 linux 挂载 和 卸载
  9. druid最大连接数oracle,性能超过DRUID的最强数据库连接池——HikariCP相关配置及简单示例...
  10. 容器化Go应用--基础镜像的未知时区问题