调屏常见问题
31 Jan 2024
Read time: 3 minute(s)
屏幕无法点亮会涉及很多因素,主要排除的地方有三处:DTS 配置、内核编译配置、DE&DI 寄存器设置。这里提供一个 debug 思路。
- 启动 debug 开关,检查 kernel 启动时打印到控制台的信息,检查驱动是否报 error,根据 error 解决问题
- kernel 中是否生成设备结点/dev/fb0,如果没有,按/dev/fb0 设备文件缺失思路进行检查
PRGB 接口屏
- 现象一:黑屏
- 检查背光是否已亮
- 排除 1 后确定屏规格书是 SYNC 模式还是 DE 模式,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉
- 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式如下:
pixelclk = (hactive + hback-porch + hfront-porch + hsync-len) * (vactive + vback-porch + vfront-porch + vsync-len) * 帧率 时钟频率 = 有效+消隐的总时间 * 帧率
- 现象二:花屏
- 调整 pixelclk 频率
- 调整 pixelclk 相位
- 调整消隐区参数,主要是行方向消隐区
注:如果图像显示存在斑点,在颜色渐变区域尤为明显,优先调整 pixelclk 时钟输出相位,RGB 接口支持 0, 90, 180, 270 四个相位。
pixelclk 时钟相位对应 board.dts 参数panel_rgb { ... clock-phase = <DEGREE_0>; ... }
- 现象三:起始位置错误
- 调整 pixelclk 频率
- 调整 pixelclk 相位
- 调整消隐区参数,主要是行方向消隐区
- 现象四:闪烁
- 增大 pixelclk 频率,提高帧率
LVDS 接口屏
- 现象一:黑屏
- 检查背光是否已亮
- 排除 1 后,检查 LVDS 通道是否连接正确,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉,检查屏规格书是 VESA 模式还是 JEIDA 模式
- 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式 vactive*hactive*60/(0.8),其中系数 60 为帧率,系数 0.8 为消隐区系数;LVDS 接口中有一对时钟差分信号 CK,若为单通道,则实测 pixelclk=7ck;若为双通道,则实测 pixelclk=3.5ck;
- 现象二:花屏
- 调整 pixelclk 频率
- 调整消隐区参数,主要是行方向消隐区
- 现象三:起始位置错误
- 调整 pixelclk 频率
- 调整消隐区参数,主要是行方向消隐区
- 现象四:闪烁
- 增大 pixelclk 频率,提高帧率
DSI 接口屏
- 现象一:黑屏
- 检查背光是否已亮
- 排除 1 后,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉。检查与屏的连接是否成功,通常使用读屏驱动 ID 检查。检查初始化流程是否正确,检查屏规格书是 Commad 模式还是 Video 模式
- 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式 vactive*hactive*60/(0.8),其中系数 60 为帧率,系数 0.8 为消隐区系数
- 现象二:花屏
- 检查屏数据格式,检查数据 lane 数量
- 调整 pixelclk 频率
- 调整消隐区参数,主要是行方向消隐区
- 现象三:起始位置错误
- 调整 pixelclk 频率
- 调整消隐区参数,主要是行方向消隐区
- 现象四:闪烁
- 增大 pixelclk 频率,提高帧率
SRGB 接口屏
- 现象一:黑屏
- 检查背光是否已亮
- 排除 1 后,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉。检查与屏的连接是否成功,通常使用读屏驱动 ID 检查。检查初始化流程是否正确
- 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式 vactive*hactive*60/(0.8),其中系数 60 为帧率,系数 0.8 为消隐区系数
- 现象二:花屏
- 检查屏数据格式,格式为 RGB 还是 BGR
- 调整 pixelclk 频率
- 调整消隐区参数,主要是行方向消隐区
- 现象三:起始位置错误
- 调整 pixelclk 频率
- 调整消隐区参数,主要是行方向消隐区
- 现象四:闪烁
-
增大 pixelclk 频率,提高帧率
-
I8080&SPI 接口屏
- 现象一:黑屏
- 检查背光是否已亮
- 排除 1 后,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉。检查与屏的连接是否成功,通常使用读屏驱动 ID 检查。检查初始化流程是否正确
- 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式 vactive*hactive*60/(0.8),其中系数 60 为帧率,系数 0.8 为消隐区系数
- 现象二:花屏
- 检查屏数据格式
- 调整 pixelclk 频率
- 调整消隐区参数,主要是行方向消隐区
- 现象三:起始位置错误
- 调整 pixelclk 频率
- 调整消隐区参数,主要是行方向消隐区
- 现象四:闪烁
- 增大 pixelclk 频率,提高帧率