首页 » 互联网 » 嵌入式老鸟经验:安卓MTK平台LCD驱动调试常见问题分析及解决办法_现象_初始化

嵌入式老鸟经验:安卓MTK平台LCD驱动调试常见问题分析及解决办法_现象_初始化

落叶飘零 2024-12-06 18:25:34 0

扫一扫用手机浏览

文章目录 [+]

废话不多说,直接上干货:

下面是MTK显示流程框图:

嵌入式老鸟经验:安卓MTK平台LCD驱动调试常见问题分析及解决办法_现象_初始化 嵌入式老鸟经验:安卓MTK平台LCD驱动调试常见问题分析及解决办法_现象_初始化 互联网

MTK显示流程

嵌入式老鸟经验:安卓MTK平台LCD驱动调试常见问题分析及解决办法_现象_初始化 嵌入式老鸟经验:安卓MTK平台LCD驱动调试常见问题分析及解决办法_现象_初始化 互联网
(图片来自网络侵删)

一样平常的LCD显示接口类型:

1. 并行接口:

MCU接口,LCD模组须有自己的GRAM。

RGB接口,通过时钟同步来实现同步传输,此模式不须要LCD有GRAM来缓存数据。

2. 串行接口:

SPI接口。

MDDI接口,高通公司的一种接口办法,传输率高,功耗低。

DSI MIPI接口,MIPI同盟推出的一种高速低耗接口。

LCD调试要把稳以下问题:

1. gamma是否超标。

2. 刷新率是否得当。

3. flicker征象是否严重或能否轻易察觉。

4. ESD是否合格。

5. 背光调节是否存在问题,特殊是自动调节是否有不平滑征象,或者亮度调定某个范围屏幕涌现闪烁等。

6. 图片显示是否有失落真的征象。

7. 是否有噪点等问题。

下面是在项目上碰着的实际问题,灰常干货:

碰着的问题:

1. ESD问题。

问题描述:正反打静电,屏幕涌现花屏或黑屏。

问题剖析:LCD有可能被打去世了,或者与LCD连接的时钟或数据线被打乱,造成数据乱,显示花屏。

办理方案:mtk平台有一个时候检测LCD是否受到静电滋扰的线程,一旦创造问题会重新初始化LCD,详细的实现可参考MTK供应的文档<DSI Video Mode Support v1.0.pdf>.

2. TP失落效。

问题描述:manggo项目上涌现TP偶尔失落效的征象。
有时开机就无法操作tp,有时开关屏幕就涌现无法操作屏幕,有时永劫光的利用也会偶尔涌现tp失落效。

问题剖析:通过与TP FAE沟通理解,能够影响TP的紧张成分是LCD的Vcom旗子暗记
同时,通过同LCD FAE沟通也理解到,LCD的刷新率可能也会对TP造成影响。

办理方案:LCD的vcom旗子暗记通过修正调节LCD干系寄存器得到一定的优化,同时TP那边也通过调节固件参数,TP失落效的涌现几率有所降落,末了再将LCD的刷新率降落一些但不影响绝对实用,问题得到基本办理,测试也再没创造此问题。

备注:此问题涌如今video模式的LCD屏幕上,暂时在command模式的屏幕上没有创造,同时与之搭配的TP也是很低廉的,做工也不是很风雅,或许也是其缘故原由。

3. 噪点。

问题描述:在bear项目上碰着的噪点问题,便是看上去麻点,看上去“很脏”,这个在用户体验上很不好。

问题剖析:通过与MTK沟通理解,终极锁定在MTK自己的为实现去除contour征象,就我们肉眼不雅观察最直接的便是像梯田一样,一圈圈的,这种征象在一张渐变色彩的图片上不雅观察最为明显,但用户体验要好很多。
对付contour征象,只是在LCD的分辨率低于24bits时才会涌现,由于本身的操作系统都因此24bits—RGB888真彩存储的,终极处理后到LCD显示,如果LCD低于24bits就会砍掉多余的位,这样显示起来就会失落真。

办理方案:①换屏幕,提高到24bits真彩的。
②取消MTK自有的去噪功能,同时接管contour征象。
终极选定为第二种,由于本钱。

4. 屏幕闪烁。

问题描述:bear项目上碰着的问题。
在将背光调到最低时,仔细不雅观察屏幕会看到在闪烁。

问题剖析:因LCD背光掌握通过PWM,PWM通过占空最近实现对亮度的调节。
PWM可通过调节频率来降落这种闪烁的几率。

办理方案:提高PWM频率的同时,对背光调节的亮度范围重新设定,使其避开了会涌现问题的值范围。

5. Yoko项目涌现的开机logo显示不正常问题。

问题描述:LCD在uboot中显示不了bootlogo,但是在kernel中重新初始化LCD寄存器的话是可以显斧正常,往后都正常。

问题剖析:首先疑惑是uboot中初始化代码的问题,但是kernel和uboot都是用的同一份代码,以是该当不是这个问题。
但是可以比较确定是LCD初始化有问题,我们就会考虑上电是否精确,上电时序是否精确等等。

办理方案:通过排查,创造在uboot中有一个电压并没有在IC初始化前上好,这个问题办理了,但是uboot显示的问题还没办理,通过上电时序排查,在LCD的3个电压全部上好后100ms,IC寄存器开始初始化,一样平常来说,上好电后,IC的正常事情至少该当要几百毫秒,以是疑惑是上电后IC没正常事情就开始寄存器设置了。
将IC初始化韶光延后,问题办理。

要做好LCD的性能调试,须要对LCD驱动架构以及LCD的芯片参数有很好的理解,才能对症下药。

本文只是自己在调试过程中碰着的一些问题以及办理思路,不具有通用性,针对有缘人,请佛系阅读,喜好的话,请三连,后面有韶光会多写写Linux内核驱动开拓、inux调试及性能优化、嵌入式开拓中常常用到的软件开拓技能栈,比如netlink、mmap、dma、大数据传输、中断、多线程调度优化等常用必备技能,关注皮皮哥,少走弯路。

标签:

相关文章