学习
实践
活动
专区
工具
TVP
写文章

高通LCD的pwm背光驱动

背光的控制方式: LCD控制IC支持动态背光控制功能(CABC)通过解析图像的直方图动态改变输出PWM的占空比从而动态调节LCD的背光,在不改变图像显示效果的情况下降低功耗,PMIC根据CABC的占空比控制背光输出电压 ; 背光控制部分不经过PMIC而是通过一颗单独的带有boost转换功能的LED驱动器如LM3630A,该芯片通过PWM调节亮度。 lcd背光控制调用流程: 首先,我们用的是mipi接口,所以lcd显示驱动是在mdss_dsi.c中,pwm驱动控制是在pwm-qpnp.c文件中(kernel\msm-3.18\drivers\pwm ); 在mdss_dsi.c文件中,具体在哪里调用到背光函数呢? ,这是因为寄存器没有写好前,就保存亮屏的高电平值; LCD背光驱动 在qpnp_lpg_init进入probe函数中,spmi驱动是什么呢?

1K40
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LCD背光驱动节电技术-LABC CABC

    而很大一部分的电量,都是LCD背光消耗的。 ? 如上所示LCD面板的结构。随着分辨率/尺寸的增大,LCD的背光驱动电路也越来越复杂。 而高分辨率、高显示颜色、大尺寸的LCD,需要大的背光系统、大的TFT-LCD 面版、高运算速度的驱动IC,这些都造成了高的功率消耗。 直到关注了LCD背光节电技术,看了相关手册,才知道了目前手机背光节电技术,即对应性背光控制技术(Adaptive Brightness Control- ABC),主要有下面2种: LABC:Light 根据图像的内容,来调节背光亮度,从而降低了背光LED的功耗。 备注:据说CABC的实用性远大于了LABC。 而DIMO为内容识别后的动态背光控制信号,以PWM输出。 试问,是不是可以直接将这个信号输出给LCD背光IC的EN端,如下呢??? ?

    42231

    Mini LED技术深度报告

    MiniLED背光+LCD与MiniLED显示两条创新路径双轮驱动。从原组件的视角,MiniLED的应用主要分为作为使用MiniLED芯片+LCD的背光方案与直接使用MiniRGB显示屏的自发光方案。 MiniLED背光模组的成本包括LED、SMT打件、驱动IC、背板等,目前大多采用PCB背板及被动式驱动搭配。 MiniLED背板三种主流方案PCB、玻璃基板、FPC的优缺点各不相同,背光方案技术设计也会因此改变,基板的选材直接决定了MiniLED背光方案的效果。 PCB基本背板承载着驱动IC及布线的功能。 当电路板制程完成后再将所需的驱动IC放置于电路板上完成驱动背板制程。 目前,PCB背板与驱动IC有两种连接方式:第一种是将每个像素连接至背板背后各自集成的驱动IC上的被动驱动方式;第二种是每个像素旁都有自己的驱动IC的主动驱动方式。

    70710

    基于瑞芯微RV1109 Linux屏幕背光调试心得

    板厂默认没有配置背光亮度的接口,考虑到将来产品销售的过程中,不同客户对操作界面的亮度的感觉是不一样的,如果将背光亮度直接固定死,后面客户可能会投诉,所以建议还是将这个功能配置上,提供可调节背光的接口 1、配置屏幕背光控制 1.1、查看原理图 查看背光管脚的硬件原理图: 我这里的背光控制引脚,使用的是 PWM9_M1 ,也就是 GPIO2_D6 ,同时这个管脚也是使能管脚。 (2)添加背光亮度分级表 在板厂端 dts 文件中定义背光亮度分级表: / { backlight: backlight { compatible = "pwm-backlight"; //这里配置使用哪路 如下,这是我之前添加的节点,只需要在下面的节点中添加这一句: backlight = <&backlight>; 之前的文章如下: Linux MIPI DSI LCD设备驱动开发调试细节学习笔记( 一) Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二) Linux MIPI DSI驱动调试笔记-LCD时序参数配置(三) (4)背光控制调试 重新编译下载开发板端后

    1K20

    LED行业深度报告

    回顾上一个10年,我们看到2010-12年LED在背光、照明、显示三大领域迎来全面突破,驱动此后五年左右行业高景气。 景气回暖+Mini/Micro驱动, 关注LED行业整体机会 经过2010-2017年的高成长,LED行业2017年以来景气出现明显下行,主要是因为LED背光、照明、显示三大终端需求陆续于2015-2017 2H20以来,随着库存去化渐入尾声,以及显示、背光等终端需求回暖,我们看到LED行业景气重新迎来上行机遇,叠加Mini、MicroLED驱动的新一轮应用升级周期启动,我们看好LED行业迎来景气回暖+Mini ,从而驱动LED背光市场新一轮成长性。 正如我们此前所说,在“海兹定律”驱动下,LED芯片、灯珠尺寸的持续缩小,当前正在迎来一个临界点,使LED显示屏可以进阶到P0.9级别(点间距0.9mm,相当于40寸HD电视的清晰度),未来还将进一步提升至

    35130

    LCD显示异常分析——开机闪现花屏【转】

    对于第一点,其实一开始我也很疑惑,如果说开机闪现花屏是因为uboot中背光开的太早导致,这个结论我能接受。但在进入Android系统后,休眠唤醒时还会有花屏问题,这就有点说不通啊? 因为Android的PowerManager框架本身能够确保在休眠的时候先关背光,后关显示;在唤醒的时候先开显示,后开背光,而且我显示驱动里面也做了刷背景色的动作,只要GRAM中的数据没有被填充完,显示驱动的流程就不会接着往下走 ,进而也不可能开启背光。 所以一旦背光点亮,说明GRAM已经被初始化了,可为什么还能看见GRAM中的垃圾数据呢? 推迟背光开启的时间 这里的推迟动作其实是相对的,即你可以: 在初始化完GRAM后,等待1个TE信号,再开启背光 或者在给屏幕发送Sleep Out (0x11)、Display On (0x29)指令前

    1.2K10

    面板显示技术:LCD与OLED

    在过去的20多年显示面板产业经历日本-->韩国-->中国台湾-->中国大陆四个阶段,目前中国大陆有着最大的产能,且驱动IC、偏光片、背光模组、彩色滤光片、液晶材料正处于国产替代的战略机遇期。 当前主流的显示技术包括LCD与OLED显示技术,LCD面板依靠背光模组发光,而OLED无需背光模组,具有自发光特性。 薄膜晶体管阵列,完成ITO导电玻璃的生产; Cell制程:在玻璃基板上形成液晶空盒,诸如液晶分子后按需求进行尺寸分割,贴上偏光片并载入电信号检查显示后形成LCD面板; Module制程:将LCD面板与驱动 IC和信号基板相连接,最后组装背光源和防护罩形成完整LCD模组 OLED在如上流程的Cell阶段增加蒸镀及封装工艺,工艺难度更高,且目前蒸镀设备被日本Canon Tokki公司垄断高端市场,因此OLED (图片引用自《2020年中国显示面板行业概览》www.leadleo.com) LCD的主要应用市场为电视机市场,而OLED的主要应用市场则在智能手机,在显示面板产业链中,上游材料如背光模组、彩色滤光片

    11520

    《DRM 专栏》| LCD显示异常分析——花屏和撕裂

    因为Android的PowerManager框架本身能够确保在休眠的时候先关背光,后关显示;在唤醒的时候先开显示,后开背光,而且我显示驱动里面也做了刷背景色的动作,只要GRAM中的数据没有被填充完,显示驱动的流程就不会接着往下走 ,进而也不可能开启背光。 推迟背光开启的时间 这里的推迟动作其实是相对的,即你可以: 在初始化完GRAM后,等待1个TE信号,再开启背光 或者在给屏幕发送Sleep Out (0x11)、Display On (0x29)指令前 但是这种由于W > R而造成的撕裂现象一般是不可能发生的,因为大部分显示驱动都是等到TE信号到来时才开始刷图的,所以只要R指针还没有扫描完当前帧的画面,W指针是不可能立即去GRAM中刷画面“B”的,一定会等到画面 因为对于这类带GRAM的LCD ,驱动软件或LCD Controller硬件都会做成等待TE信号到来时才会开始刷图,所以对于第1点这里不做详细描述,只针对第2点进行讲解。

    87320

    Linux系统驱动之编程_配置引脚_基于IMX6ULL

    必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 Interface (eLCDIF)》 IMX6ULL的LCD裸机程序 IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test 内核自带的IMX6ULL LCD驱动程序 驱动源码:Linux-4.9.88\drivers\video\fbdev\mxsfb.c 设备树: arch/arm/boot/dts/imx6ull.dtsi arch/arm/boot 硬件相关的操作 LCD驱动程序的核心就是: 分配fb_info 设置fb_info 注册fb_info 硬件相关的设置 硬件相关的设置又可以分为3部分: 引脚设置 时钟设置 LCD控制器设置 2. 引脚配置 主要使用pinctrl子系统把引脚配置为LCD功能,对于背光引脚等使用GPIO子系统的函数控制它的输出电平。 2.1 使用pinctrl配置LCD引脚 2.2 使用GPIO子系统控制背光

    19930

    事件驱动和消息驱动

    事件驱动和消息驱动 消息驱动和事件驱动很类似,都是先有一个事件,然后产生一个相应的消息,再把消息放入消息队列,由需要的项目获取。 他们的区别是消息是谁产生的 消息驱动:鼠标管自己点击不需要和系统有过多的交互,消息由系统(第三方)循环检测,来捕获并放入消息队列。消息对于点击事件来说是被动产生的,高内聚。 事件驱动:鼠标点击产生点击事件后要向系统发送消息 “我点击了” 的消息,消息是主动产生的。再发送到消息队列中。事件往往会将事件源包装起来。 事件驱动方式 事件发生时主线程把事件放入事件队列,在另外线程不断循环消费事件列表中的事件,调用事件对应的处理逻辑处理事件。事件驱动方式也被称为消息通知方式,其实是设计模式中观察者模式的思路。 事件驱动模型可以用下图表示(来源于《Software Architecture Patterns》): ?

    2.5K20

    三极管的应用之开关电路设计「建议收藏」

    —引言— 开关电路在单片机电路设计中经常用到,一般有两个作用,一是电平的转换,二是增加单片机IO口的驱动能力。虽然这个电路很简单,也很常用,但是我发现还是有些人电路结构错误或者参数不会设置。 图2 带下拉电阻的开关电路 如果我们想驱动无源蜂鸣器,那么就要在控制端输入一个方波信号进行控制,这时候就需要三极管进行快速切换,想加快三极管切换速度就要如图3所示,在Rb上并联一个加速电容。 —电路设计— 要求 3.3V供电单片机驱动液晶背光 1.电路结构确定 我不需要控制背光亮度,只需要控制背光亮与不亮,所以选择带下拉电阻的开关电路。如图4所示。 图4 背光驱动电路 2.电源电压确定 图5 一款液晶的背光参数 通过图5 就可以知道要想背光正常量的话,电源电压要大于3.0V,那么电源电压就取3.3V。 3.RC阻值确定 RC的作用是分压,限流,保证背光不被烧。背光是3.0V,电流是15mA,电源是3.3V,那么RC=(3.3V-3.0V)/15mA=20Ω。

    15840

    Q平台上setBrightness的巨坑

    mSurfaceControlMaximumBrightness == 255) Android Q上有两种方式设置屏幕亮度,如下图表示,导致掉帧的就是方式1 方式1:system_server->SF->HWC HAL->设备节点->背光驱动 (Android Q) 方式2:system_server->Light HAL->设备节点->背光驱动(Android Q, P) ? 2.3 我们自己驱动优化算法 我们在驱动中对背光设置有一些优化,在特定的情况下,会导致写设备节点的时间耗时200ms左右。 2.4 还原现场 首先lightsensor触发了自动背光调节,然后走SF-HWC去设置了亮度,持有了display的锁。 由于驱动的优化算法,导致这把锁持有了200ms。 同一个手机,在驱动代码完全一样,只不过刷了不同高通基线的代码 竟然一个走方式1,一个走方式2。

    63110

    FPGA | LVDS屏幕接口的应用

    它们都是高清输出接口,LVDS由于采用低压和低电流驱动方式,因此,实现了低噪声和低功耗。 HDMI的TMDS是3.3V,而DDC电路的电平则是5V。 传统的TTL驱动电平带来的噪声和功耗相对较大,要是对产品的EMI和EMC要求比较严格,则应该优选LVDS接口。 2 LVDS的应用 这里来看一个LVDS应用的例子: ? 整个应用分为LVDS输出驱动板和LVDS接收液晶面板,一般主控芯片内部没有集成的LVDS发射模块,只提供6或8 bit RGB接口,传输的是TTL电平,这时候需要加一块TTL转LVDS的转换芯片,然后将 另外需要给液晶面板提供液晶的背光背光电路一般放在驱动板,主控通过PWM信号对面板背光进行调节。若液晶面板带触摸功能,还需要设计触摸控制电路,触摸控制器与主控通过I2C通信,再去驱动液晶面板。

    91920

    Linux驱动之网卡驱动剖析

    Linux 网络设备驱动架构 驱动架构自上而下分为4层: 协议接口层 设备接口层 设备驱动功能层 网络设备与媒介层 协议接口层 协议接口层主要功能是给上层协议提供接收和发送的接口。 设备驱动功能层 类似于字符设备,struct net_device结构体也提供了一个操作函数集struct net_device_ops来描述对网卡的各种操作。 源码分析 笔者基于的是 S5PV210 的 DM9000 驱动,会大体上对 DM9000 的驱动源码进行分析, 分析源码位于DM9000 源码 platform 框架分析 DM9000 的驱动是基于 platform return platform_driver_register(&dm9000_driver); } 该函数调用了 platform_driver_register 函数注册了一个平台总线驱动 ,会调用驱动的 probe 函数 dm9000_probe,分段进行分析 struct dm9000_plat_data *pdata = pdev->dev.platform_data; struct

    32620

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • GPU 云服务器

      GPU 云服务器

      腾讯GPU 云服务器是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券