关于display相关的一些内容—关于RGB接口屏调试

关于display相关的一些内容—关于RGB接口屏调试

1)关于VBP、VFP、HFP、HPB的影响

需要注意的是,对于像RGB接口tft9k23553 这样的tft屏,本身支持通过硬件拉高或者拉低两个管脚来控制扫描的方向和起始点,从而实现上下屏镜像或者左右屏镜像。本身不存储一帧数据,所以只是通过扫描方向和起始点实现此种镜像。
但是如果调整了一个方向后,你再硬件修改了上下镜像方向,那么VBP和VFP可能需要重新调整,HFP和HBP不需要调整。否则出现图像被往上或者往下推了。
但是如果调整了一个方向后,你再硬件修改了左右镜像方向,那么VBP和VFP,HFP和HBP都不需要调整。

关于display相关的一些内容—关于RGB接口屏调试

2)关于android density设置的影响

关于display相关的一些内容—关于RGB接口屏调试

3)关于gpio和lcdc管脚功能复用导致的显示偏色的问题

调试RGB接口的lcd时注意gpio的复用问题,某些lcdc管脚可以作为gpio使用。以前遇到一个这样的问题,系统启动时,uboot启动的logo是黑底白字的,但是进入kernel后不久马上变成黑底偏红色。从一开始的黑底来看,lcd应该没问题。系统都起来还是黑色偏红,于是,故意显示个全黑屏,然后,测量lcdc的各个信号,vsnc,hsync,den,都没问题,rgb的各个管脚(主要这里是rgb屏所以是rgb并行信号),发现有个r3颜色管脚一直拉高,按理,全黑色应该所有rgb信号为0才对。说明此管脚被别的驱动误用了。经过搜索,发现touch驱动把此管脚设置为gpio,而不是lcdc的function了,并且拉高了,所以修改此误用就好了。所以此问题一定要看完整启动过程,逐个思考排除,每一个地方的问题,屏问题?lcdc信号问题?连接问题?驱动问题?量信号分析排除才能解决。

4)关于一种lcd屏闪烁问题的分析

经过icn6211芯片,mipi转rgb并行信号,到truly的tft9k2353屏,

一种屛闪现象:
(1)刚启动时,屏幕不闪—clock、vfp、vbp、hfp、hbp等已经调整为不闪烁了。
(2)但睡眠后,20秒,再唤醒,出现屏幕闪烁,有时候很严重,有时候轻微局部闪烁。 但如果睡眠超过5分钟,那么再android唤醒亮屏,就不闪烁。或者闪烁时,出现过一段时间,维持亮屏时,闪烁感越来越轻微,到2分钟后,基本不闪烁。

后面发现,这是这款液晶屏的液晶特性,如果先把屏shutdown,再断rgb信号源,再断reset,再断电,那么就没有问题。
如果先断信号源,再断电,再shutdown屏幕,那么就会出现此问题。
这叫液晶极性状态错误问题。
由于信号突然断了,电中断,于是屏中的液晶状态处于上一个状态,而没有恢复。再上电时,液晶分子需要一定时间(好几分钟)才能自动回来初始状态,于是才不闪烁。
如果先shutdown,再断信号和电,则,由于shutdown已经把液晶分子恢复为原始状态,此后断电,就无所谓,所以,再上电就没有问题。

虽然液晶扭转控制很快,即白点变黑点,动画切换没有问题,但上面的随机状态可能有余电,于是后面上电扭转就不正常。
所以上电和下电一定要完全按照屏的specification的要求。

这种闪烁是亮屏一段时间能恢复的,而且怎么调pclock、vfp、vbp、hfp、hbp也不会修复改善。

另外一种闪烁,是调vfp、vbp、hfp、hbp、pclock等才可以修复。
另外亮屏多长时间也不会变好。
还有一种闪烁,是硬件问题引入,转换芯片电源上串了磁珠,都换成0欧电阻,屏闪的问题消失。特别是图中有黑白相间的线时,闪烁特别明显。测试display,一定要做几张,黑白像素相间的图片,看看能否不闪烁。或者白灰相间的图片,还有黑白横线交替(较粗),黑白竖线交替(较粗),黑白斜线等。不做这种测试,以后可能会遇到闪烁的问题,如果图片是特殊的。

5)一种lcd屏褪色问题的分析

另外truly的TFT 9k2353屏一种褪色现象如下:
现在的DVT2机器白屏褪色出现特别多。DVT1基本不出现。 以前说是vsync、hsync信号丢失导致屏幕出现异常,因为屏幕电压取自于电源和vsync、hsync的clock。这种状态下,不掉电不能恢复。 这更进一步说明,现在的vsync和hsync信号有问题,而这两个信号是icn6211根据mipi clock信号而来的。 现在种种现象都感觉不是mipi信号有问题就是fpc的vsync和hsync有问题。 麻烦量一下这些信号。对比一下。 另外请问DVT2的机器对mipi信号线的布局、走线改动或者电路是否有改动啊?另外vsync和hsync所在的fpc是否有改动? 以前说truly的这款TFT屏在vsync和hsync丢失时,会出现VDDIO、VCI、VGH、AVDD、AVDDM等电压出问题。然后就出现白屏褪色了。
如果Hsync有问题,但固定周期时,会出现整行的所有像素的偏移,因为hsync控制换行。
如果Vsync有问题时,但固定周期时,出现整个图的错乱,因为Vsync控制一帧的开始。 Pclock出问题时,则采样的时刻出问题,对应黑白相间的图,就因为0,1采样出错,导致某些像素点出问题。

关于display相关的一些内容—关于RGB接口屏调试

6)一种lcd白屏现象

另外对于rgb panel,例如上面的truly屏。
如果Data clock的极性配置错误,那么即使vsync、hsync、data enable管脚的频率和极性都正确,那么屏幕也会是个大白屏。即使数据是全0的黑。所以Dclk的频率和极性一定要配置正确,否则无法显示。
用示波器检查一下信号。并尝试一下极性配置修改,看看什么现象。
另外这个屏的特点,如果Hsync或者vsync信号没有输入或者不同步,那么屏幕就变成白屏(背光亮的情况下),或者慢慢褪色成白屏。因为这款屏的内部电压AVDDM等依赖Hsync和vsync信号,才能生成,没有这些电压差,就没法有液晶偏转,也就没有颜色控制了。

关于display相关的一些内容—关于RGB接口屏调试

很多硬件对上电都有时序限制,如果实现不对,那么硬件可能出现(或者偶现)一些奇怪的bug。所以需要使用示波器来测试信号,看驱动配置的时序是否满足硬件spec的要求(因为硬件设计阶段时,是FPGA设计的,使用了事件驱动方式设计,所以对特定信号时序有依赖的要求。)。这个验证很重要。别忽视,特别是出现硬件不正常时,更需要注意测量一下。示波器对写驱动的人来说,太重要了。
客户反馈设备反复开机,会出现偏白问题,现场测试,开机30次,出现了一次,显示图像轮廓还在,只是颜色偏白,此时vgh,vgl电压 低于正常值。
测量开机时序, 如下图,( 蓝色–vdd 3.3v, ×××–reset,绿色-shut,粉色–clock。)
调整时序,先提供clock信号,再提供shut信号,开机测试 200多次,没有出现偏白问题。可继续测试这版调整。

关于display相关的一些内容—关于RGB接口屏调试

调整的依据是datasheet的说明。

对于RGB的并行信号的panel:
#define OUT_TYPE SCREEN_RGB
#define OUT_FACE OUT_P666
#define OUT_CLK 6854400 //TODO:算clock时,由于是rgb并行(即所有r0、r1、…、g0、g1、…、b0、b1、…管脚同时传输。),所以(H_PW+ H_BP+ H_VD+ H_FP) (V_PW+V_BP+V_VD+V_FP) fps

/ Timing /
#define H_PW 10 //即hsync本身宽度占多少列
#define H_BP 20
#define H_VD 240
#define H_FP 10

#define V_PW 2 //即vsync本身宽度占多少行
#define V_BP 2
#define V_VD 400
#define V_FP 4

#define LCD_WIDTH 240 //need modify
#define LCD_HEIGHT 400

关于clock问什么是这么算?请参考

关于display相关的一些内容—关于RGB接口屏调试

具体请参考我的免费的linux各种驱动开发课程如下:
https://edu.51cto.com/course/17138.html

另外我的相关培训视频请看:
欢迎观看我发布的各个课程: https://edu.51cto.com/lecturer/8896847.html

猜你喜欢

转载自blog.51cto.com/8906847/2367999