废话不多说,直接上干货:
下面是MTK显示流程框图:

MTK显示流程

一样平常的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、大数据传输、中断、多线程调度优化等常用必备技能,关注皮皮哥,少走弯路。








