Edit online

调屏常见问题

31 Jan 2024
Read time: 3 minute(s)
屏幕无法点亮会涉及很多因素,主要排除的地方有三处:DTS 配置、内核编译配置、DE&DI 寄存器设置。这里提供一个 debug 思路。
  1. 启动 debug 开关,检查 kernel 启动时打印到控制台的信息,检查驱动是否报 error,根据 error 解决问题
  2. kernel 中是否生成设备结点/dev/fb0,如果没有,按/dev/fb0 设备文件缺失思路进行检查

PRGB 接口屏

  • 现象一:黑屏
    1. 检查背光是否已亮
    2. 排除 1 后确定屏规格书是 SYNC 模式还是 DE 模式,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉
    3. 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式如下:
      pixelclk = (hactive + hback-porch + hfront-porch + hsync-len)
              * (vactive + vback-porch + vfront-porch + vsync-len) * 帧率
      
      时钟频率 = 有效+消隐的总时间 * 帧率
  • 现象二:花屏
    1. 调整 pixelclk 频率
    2. 调整 pixelclk 相位
    3. 调整消隐区参数,主要是行方向消隐区
    注:

    如果图像显示存在斑点,在颜色渐变区域尤为明显,优先调整 pixelclk 时钟输出相位,RGB 接口支持 0, 90, 180, 270 四个相位。

    pixelclk 时钟相位对应 board.dts 参数
    panel_rgb {
        ...
        clock-phase = <DEGREE_0>;
        ...
    }
  • 现象三:起始位置错误
    1. 调整 pixelclk 频率
    2. 调整 pixelclk 相位
    3. 调整消隐区参数,主要是行方向消隐区
  • 现象四:闪烁
    • 增大 pixelclk 频率,提高帧率

LVDS 接口屏

  • 现象一:黑屏
    1. 检查背光是否已亮
    2. 排除 1 后,检查 LVDS 通道是否连接正确,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉,检查屏规格书是 VESA 模式还是 JEIDA 模式
    3. 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式 vactive*hactive*60/(0.8),其中系数 60 为帧率,系数 0.8 为消隐区系数;LVDS 接口中有一对时钟差分信号 CK,若为单通道,则实测 pixelclk=7ck;若为双通道,则实测 pixelclk=3.5ck;
  • 现象二:花屏
    1. 调整 pixelclk 频率
    2. 调整消隐区参数,主要是行方向消隐区
  • 现象三:起始位置错误
    1. 调整 pixelclk 频率
    2. 调整消隐区参数,主要是行方向消隐区
  • 现象四:闪烁
    • 增大 pixelclk 频率,提高帧率

DSI 接口屏

  • 现象一:黑屏
    1. 检查背光是否已亮
    2. 排除 1 后,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉。检查与屏的连接是否成功,通常使用读屏驱动 ID 检查。检查初始化流程是否正确,检查屏规格书是 Commad 模式还是 Video 模式
    3. 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式 vactive*hactive*60/(0.8),其中系数 60 为帧率,系数 0.8 为消隐区系数
  • 现象二:花屏
    1. 检查屏数据格式,检查数据 lane 数量
    2. 调整 pixelclk 频率
    3. 调整消隐区参数,主要是行方向消隐区
  • 现象三:起始位置错误
    1. 调整 pixelclk 频率
    2. 调整消隐区参数,主要是行方向消隐区
  • 现象四:闪烁
    • 增大 pixelclk 频率,提高帧率

SRGB 接口屏

  • 现象一:黑屏
    1. 检查背光是否已亮
    2. 排除 1 后,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉。检查与屏的连接是否成功,通常使用读屏驱动 ID 检查。检查初始化流程是否正确
    3. 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式 vactive*hactive*60/(0.8),其中系数 60 为帧率,系数 0.8 为消隐区系数
  • 现象二:花屏
    1. 检查屏数据格式,格式为 RGB 还是 BGR
    2. 调整 pixelclk 频率
    3. 调整消隐区参数,主要是行方向消隐区
  • 现象三:起始位置错误
    1. 调整 pixelclk 频率
    2. 调整消隐区参数,主要是行方向消隐区
  • 现象四:闪烁
    • 增大 pixelclk 频率,提高帧率

I8080&SPI 接口屏

  • 现象一:黑屏
    1. 检查背光是否已亮
    2. 排除 1 后,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉。检查与屏的连接是否成功,通常使用读屏驱动 ID 检查。检查初始化流程是否正确
    3. 排除 1、2 后,测量 pixelclk 是否符合屏规格要求,pixelclk 计算公式 vactive*hactive*60/(0.8),其中系数 60 为帧率,系数 0.8 为消隐区系数
  • 现象二:花屏
    1. 检查屏数据格式
    2. 调整 pixelclk 频率
    3. 调整消隐区参数,主要是行方向消隐区
  • 现象三:起始位置错误
    1. 调整 pixelclk 频率
    2. 调整消隐区参数,主要是行方向消隐区
  • 现象四:闪烁
    • 增大 pixelclk 频率,提高帧率