在Tina下使用LCD几个常见的异常问题调试方法
-
该贴主要针对我们在使用LCD时出现的问题提供参考,LCD使用异常例如(缺少中断、fps不正确、屏幕不亮等)
遇到LCD使用异常情况下的常规分析步骤:
1、检查LCD驱动、配置是否正确
2、检查pin脚是否连接正确(根据板子和原理图以及spec文档、屏幕规格书进行检查)
3、检查LCD硬件通路是否有问题
4、测量Vsync、Hsync、clk等信号是否正常1、屏幕不亮,无背光
有可能是驱动加载失败,检查开机logo看屏驱动是否加载,驱动没有加载屏驱动,导致背光电源相关函数没有运行到。2、pwm 配置和背光电路的问题,pwm 的信息可以看pwm 信息和背光相关参数,另外就是直接测量下硬件测量下相关管脚和电压,再检查屏是否初始化成功。
查看显示信息:
cat /sys/class/disp/disp/attr/sys
从中可以看出是否有中断,fps是否正确
fps一般是60,如果不是需要检查dts
屏时序需要原厂进行提供
例如:通过询问屏厂获得了屏的时序参数如下:Width-200,Height-400,HBP-120,HFP-130,HSW-60,VBP-20,VFP-40,VSW-40。 lcd_x:屏分辨率中的宽 lcd_y:屏分辨率中的高 lcd_hspw:单位为1个dclk的时间,对应屏厂HSW lcd_hbp:包含了hspw段,也就是lcd_hbp = 实际的hbp + 实际的hspw。对应屏厂HBP+HSW。 lcd_ht:lcd_ht = lcd_x + lcd_hspw + lcd_hbp + lcd_hfp。对应屏厂Width+HSW+HBP+HFP。 lcd_vspw:指场同步信号的宽度,对应屏厂VSW lcd_vbp:lcd_vbp = 实际的vbp + 实际的vspw。对应屏厂VBP+VSW lcd_vt:lcd_vt = lcd_y + lcd_vspw + lcd_vbp + lcd_vfp。对应屏厂Height+VSW+VBP+VFP。 lcd_dclk_freq:传输像素传送频率,lcd_dclk_freq = lcd_ht * lcd_vt * fps,fps一般是60。
那么,对board.dts文件中的屏时序相关参数配置如下:
lcd_x = <200>; lcd_y = <400>; lcd_dclk_freq = <15>; lcd_hbp = <180>; lcd_ht = <510>; lcd_hspw = <60>; lcd_vbp = <60>; lcd_vt = <500>; lcd_vspw = <40>;
3、如果配置对了还是没有显示,需要看uboot显示是否打开了
查看env中的deconfig是那个,并且在lichee/brandy-2.0/u-boot-2018/configs路径下将文件中的disp也就是uboot显示关了,记得执行muboot
4、如果上述这些都没有问题,并且屏幕还是出现无法显示的问题
- 要进行测量波形,进一步通过hsync,vsync、de、clk、数据脚去判断那个没有配置正确。
- 指令:cd /sys/class/sunxi_dump;echo 0x*****> dump; cat dump; 打印信息.看寄存器是否配置正确
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号