项目中普遍使用的背光电路,是通过pwm控制。Pwm占空比越大,背光亮度越大,pwm占空比越小,背光亮度越小。典型的使用背光芯片为6脚的boost升压芯片。
以Silergy Corporation矽力杰半导体SY7203为例,如下图:
Vin范围:2.8 to 30V
20kHz~1MHz wide dimming frequency range forEN/PWM pin 。
关于boost电路的介绍参考链接博文:
http://blog.csdn.net/eliot_shao/article/details/46729955RT9293和boost电路分析
注意:芯片内部集成boost升压所需要的驱动信号,外部的pwm信号是用于改变feedback的电压值。
下面是该芯片的引脚图:
下面是一个典型的使用电路图:
控制原理是通过pwm调整占空比,修改FB的电压值,则Iled = Vfb/5.
还有一种非常规设计方法,电路无如下:
芯片的EN脚直接拉高,此时FB的电压一直为0.2V。
PWM端接到了,FB脚的延伸电路上,芯片手册里也给出这种电路的Iled的计算公式和模型:
其原理是流经R1,R2,R3的电流是相同的:
可以计算出Iled和duty的关系,实现通过pwm控制背光亮度的目的。注意此时pwm占空比越大,背光越暗,pwm占空比越小背光越亮。
软件部分上主要介绍第二种电路修改高通平台PM8916,mpp4引脚的输出电压最大值dts文件配置:
另外把控制pwm地方取反:
kernel/drivers/video/msm/mdss/mdss_dsi_panel.c
static void mdss_dsi_panel_bl_ctrl(structmdss_panel_data *pdata,u32 bl_level)
增加: