Edit online

调试 LCD 屏幕

11 Jul 2024
Read time: 2 minute(s)
遵照以下流程调试 LCD 屏幕:
  1. 连接开发板
  2. 点击panel_debug_tab 进入调屏标签页,选择正确的显示接口。
  3. 点击右下方 读取配置 read_bottom 按键,AiPQ 工具自动获取当前开发板的 LCD 配置。
  4. 执行颜色测试,测试当前 LCD 显示效果。
    1. 点击 颜色测试 按键color_test

    2. 选择测试模式:
      • color bar 彩色条纹模式
      • pure color 纯色模式
      • Gradient 渐变矩形色块
      注: 关于各个模式的详细描述,可查看颜色测试模式
    3. 使能颜色测试。

    4. 点击 开始测试

    颜色测试可简单判断 LCD 屏幕是否成功点亮并且检验显示是否正常。在颜色测试中,SoC 不再从 DDR 或 PSRAM 中读取数据,而是直接生成特定的颜色图像后,传输给 LCD 屏幕显示。

  5. 根据颜色测试结果或当前 LCD 显示效果修改相关的参数配置。
    • 关于详细屏幕显示效果及其解决方法,可查看 屏显示问题及配置方法

      关于更多调试思路,可以参考 Display 使用指南中的调屏常见问题。

    • 关于参数配置说明,可查看 配置参数

  6. 参数修改完成后,点击 写入配置 write_bottom 按钮。 AiPQ 工具会重启 LCD 屏幕并让新参数生效。
  7. LCD 调试完成后,点击 导出配置 aipq_export_bottom 按钮,导出 SDK 相关配置文件。
    • RTOS:RGB/LVDS/MIPI-DSI 接口导出 .h 配置文件

      将导出的配置文件重命名为 disp_conf.h,并复制替换掉 bsp/artinchip/drv/display/disp_conf.h 文件。

      配置文件包含屏参信息,显示接口配置,背光引脚,MIPI-DSI 初始化命令等信息。

    • Linux 使用场景导出 board.dts 文件,可与原文件进行对比修改,或者直接拷贝复制。
      • RGB/LVDS 接口导出 DTS 配置

      • MIPI-DSI 导出 DTS 配置和初始化代码。

        MIPI-DSI 初始化代码会导出一个 panel_enable() 函数,将其复制替换 MIPI-DSI simple panel 源码的同名函数。 simple panel 源码地址:
        • Kernel 源码地址: source/linux-5.10/drivers/video/artinchip/disp/panel/

        • Uboot 源码地址: source/uboot-2021.10/drivers/video/artinchip/display/panel/

  8. 将新配置同步到 SDK 中,重新编译烧录。

颜色测试模式

颜色测试模块包括以下类别:
  • color bar 彩色条纹模式

    正常的 color bar 效果如下所示,8 种不同颜色的竖条均匀地重复分布:


    ../images/colorbar.png

  • pure color 纯色模式

    显示引擎忽略内存数据,输出特定的背景色。


    ../images/pure_color.png

    点击 #ffffff,弹出调色板配置背景色


    ../images/color_palette.png

    提示:

    输出红色背景色 0x800000, LCD R8 引脚为高电平,其余为低电平。通过测量电平信号可确认 LCD 配置或硬件连线是否正确。

  • Gradient 渐变矩形色块

    渐变矩形色块从 0 - 255 进行渐变,自适应屏幕宽高,并在对角处显示标定信息。


    ../images/gradient_color.jpg

    渐变矩形色块是 CPU 直接修改 Framebuffer 内容。对于 RGB565 格式的 Framebuffer 只有 32/64 色,每 4/8 个像素点共用一个颜色,会存在色阶现象。

屏显示问题及配置方法

屏显示常见问题及其解决方案如下所示:
  • 背光不亮

    控制相关 GPIO 引脚,包括 backlight, power 等

  • 屏幕闪烁

    调整时序参数,增加 pixelclk ,提高帧率

  • 图像显示错位

    调整水平和垂直消隐区参数,根据显示效果增大/减小消隐区,找到最佳显示效果

  • RGB 屏幕颜色有误

    • 调整 RGB 输出顺序

    • 尝试不同的时钟相位

    • 修改 RGB format

    • 检查 pinmux 选项

  • LVDS 屏幕颜色有误

    • 显示白屏,调整 CK 通道顺序

    • 对比原理图,调整 D0 - D3 数据通道的极性和顺序

    • 图像列像素出现互换,使能 link swap

  • MIPI-DSI 屏幕无输出

    • reset 引脚输出有效电平

    • 对比原理图,调整数据通道的极性和输出顺序

    • 对比原理图,调整时钟通道的极性

    • 核对初始化 command 是否正确

    • 输入屏幕自检命令,检测主控与屏幕通信是否正常