首先拿到LCD屏的datasheet和初始化代码,根据原理图和平台框架把初始化代码还有相关参数、驱动移植进去,然后编译完代码烧录后开机,确保背光能亮起来。
检查原理图上各个供电管脚的电压(DVDD、IOVDD 是否为 3.3V,VDD_LCDA 是否为 5-10V,VDD_LCDK 是否为 0V),还有正负电压(部分屏有正负电压)是否达到规格标准电压,确认电压正常后,关机,上屏,结合,开机log 看能否正常开机。
第一步:确认有没有 framebuffer 输出
要是改动了display这块的clk很有可能没有buffer输出的,可以通过cat /dev/graphyics/fb0 查看有没有输出字符
如果有说明是 mipi 还没有调通,如果没有说明是 fb 有问题。
第二步:接下来再根据相关问题调试:
1、屏在进出睡眠或者显示过程中白屏
唤醒屏幕闪白光问题,说白了是背光早亮了,很有可能是下序列mdelay太久,改小点就沒有这个问题了。根本原因屏幕初始化序列下慢了
sleep out(0x11)和 display on(0x29)之间需要 mdelay(120ms)左右
2、显示偏移、图像位置偏差
timing 中的参数(例如前后阶)设置有误。优先确认
看着图像调节前扫、回扫进行左右上下移动
3、花屏
说明 lcd 初始化成功,但是没有 rgb 刷过来
timing 中的参数设置有误。优先确认pclk
花屏 还可能是总线速度有问题
开机就花屏最简单的解决方式是,可以在睡眠函数里加延时函数
4、屏幕闪烁
pclk 有问题
在最开始的时候,我的 pclk 漏了一个 0 ,为之前的 1/10 此时就有图像闪烁问题
5、屏幕抖动
测时序,延时不足
6、屏幕闪动
通过调节电压来稳定,一般调节的电压为VRL、VRH、VDV和VCM
7、唤醒闪屏问题
这是由於每次重新RST下序列過程delay久了导致,适当減少delay时间
8、屏幕唤醒显示灰色底面
寄存器没有使能外部升压电路。
9、水波纹
通常都是rgb interface polarity(RGB接口极性)导致,需要調整pclk hsync vsync de极性使之符合平台极性
10、调节对比度
VRL、VRH、VDV和VCM,这些电压也可以用来调节亮暗(对比度)
也可以通过调节Gamma值来实现,要调节的对象为 PRP、PRN、VRP、VRN 等
11、图像颜色不正常
可能时钟型号极性反了
可能 VCOM 调节不正常
进行 GAMMA 校正
---------- 爱生活,爱安卓,爱Linux ----------