显示屏调试过程问题总结

目录

目录

PRGB接口的显示屏一直显示细彩色条纹

PRGB接口的显示屏显示区域四周形成矩形白框

RGB接口的显示屏出现偏色

[MIPI DSI的模式有哪些](#MIPI DSI的模式有哪些)

SPI接口显示屏显示反色

[BT.656 8BIT接口的显示屏显示动态画面时会画面撕裂](#BT.656 8BIT接口的显示屏显示动态画面时会画面撕裂)

显示如何快速抓图

总结


PRGB接口的显示屏一直显示细彩色条纹

  • 问题现象

主控板接上RGB接口的显示屏并开机后显示屏一直显示细彩色条纹,如下图所示。

  • 原因分析

可能是液晶屏参考电压电路异常导致。例如下图的LCDPWR-EN脚没有被软硬件置为高电平,此时VGL和VGH的电压异常,由于VGH用来控制液晶分子的偏转角度,VGL用于控制液晶分子的透明度,这时显示屏背光亮的情况下肉眼会看到全屏细彩色条纹。

  • 方法参考
  1. 测量液晶屏参考电压电路的LCDPWR-EN、TF_AVDD、VDDIO、VGL、VGH等电压是否正常。

  2. 若发现液晶屏参考电压电路工作异常,则需要先把屏拆下来进行液晶屏参考电压电路检修。

  3. 液晶屏参考电压电路检修完成后,正确接上显示屏,上电开机观察显示屏显示效果。

  4. 显示屏显示正常后及时时记录液晶屏参考电压电路修改点。

PRGB接口的显示屏显示区域四周形成矩形白框

  • 问题现象

主控板接上RGB接口的显示屏并开机后显示屏出现四周白屏,如下图所示。

  • 原因分析

可能是液晶被极化了,所谓液晶极化实际上就是液晶电介质极化,就是在外界电场作用下,电介质内部沿电场方向产生感应偶极炬,在电介质表面出现极化电荷的现象。

  • 方法参考
  1. 调节VCOM电压以确保在这款显示屏的VCOM正常电压调节范围内。

  2. 及时释放液晶PI层的残留电荷,比如在VGH、VGL处增加放电电阻。

  3. 严格遵守液晶上下电时序,避免液晶电荷残留。

RGB接口的显示屏出现偏色

  • 问题现象

主控板接上RGB接口的显示屏并开机后全屏显示都出现偏色且,如下图所示。

  • 原因分析

显示出现偏色可能RGB分量构成不对。因为RGB屏的RGB分量是构成彩色显示的基础,主要包括红色(R)、绿色(G)和蓝色(B)三个分量,RGB色彩空间模型是通过不同比例混合红、绿、蓝三原色来产生各式各样的颜色的,所以此时的RGB分量混合构成可能不对。

  • 方法参考
  1. 检查RGB显示屏FPC软排线是否松动或者FPC软排线连接器是否出现虚焊或漏焊等情况。

  2. 排除硬件问题后,如果还有偏色的情况,则需要检查主控发送给显示屏的CLK边沿极性是否匹配。

  3. 若检查主控发送给显示屏的CLK边沿极性是正确的,如果这款屏是需要发初始化码的,则需要确认初始化码配置是否正确(主要是检查显示屏驱动IC的Interface Pixel Format相关的寄存器)。

MIPI DSI的模式有哪些

MIPI DSI的链路层有两种模式:video(视频)和command(命令)模式。

  • command模式针对哪些含有buffer的MCU屏,当画面有变化的时候,DSI Host端将数据发送给显示屏,主控只有在画面需要更改是才发送像素数据,画面不变化的时候显示屏驱动芯片从自己内部buffer里面提取数据显示,command模式下需要双向数据接口。一般此种模式的屏幕尺寸和分辨率不大。
  • video模式没有framebuffer,需要主控一直发送数据给显示屏,和RGB接口屏幕类似。但是MIPI DSI没有专用的信号线发送同步信息,比如VSYNC、HSYNC等,所以这些控制信号和RGB图像数据以报文的形式在MIPI数据线上传输。

其中MIPI DSI的三种视频模式分别是Non-Burst Mode with Sync Pulses、Non-Burst Mode with Sync Events和Burst Mode。这些模式各有其优缺点,适用于不同的应用场景。

视频模式名称 优点 缺点
Non-Burst Mode with Sync Pulses 能够精确地匹配DPI的像素传输速率以及时序事件的宽度,如同步脉冲 每个Sync Start都必须有一个唯一的Sync End与之对应,这可能增加了处理的复杂性
Non-Burst Mode with Sync Events 与Non-Burst Mode with Sync Pulses模式类似,但可能不支持对同步脉冲宽度的精确控制 相对Non-Burst Mode with Sync Pulses模式,可能在时序控制上有所妥协
Burst Mode 需要传输的RGB像素包需要精确的时序对齐,可以节省时间,进入低功耗模式 可能对系统的实时性和同步性要求较高

每种模式都有其特定的应用场景和优缺点,选择哪种模式取决于具体的应用需求、功耗要求、数据处理能力等因素。在实际应用中,可能需要结合具体的软硬件设计来选择最合适的模式,以达到最佳的性能和功耗平衡。

SPI接口显示屏显示反色

  • 问题现象

调试SPI接口显示屏过程中发现显示是反色的(比如:原本应该是绿色的但是结果显示的是紫红色)。

  • 原因分析

可能是屏初始化码中的Display Inversion相关的寄存器配置和屏模组显色方式不匹配。

  • 方法参考
  1. 结合屏驱动IC的datasheet查看屏初始化码中Display Inversion相关的寄存器配置是否和屏模组匹配,比如ST7789V2的INVOFF和INVON寄存器。

  2. 修改屏初始化码中的Display Inversion相关的寄存器配置后重新编译烧录固件再查看显示是否还反色。

BT.656 8BIT接口的显示屏显示动态画面时会画面撕裂

  • 问题现象

BT.656 8BIT接口的显示屏显示快速动态画面时会出现画面撕裂或画面切屏的情况。

  • 原因分析

可能是主控配置的送显帧率过高导致。比如分辨率为1024*600的显示屏设置了60fps,而实际只能跑到25fps。

  • 方法参考

调整DTS中timing的DCLK。比如降低DCLK使得主控送显帧率接近25fps。

显示如何快速抓图

  1. 拷贝fbdev的数据到目标路径。
bash 复制代码
# dd if=/dev/fb0 of=/mnt/card/bsd.raw 或 cp /dev/fb0 /mnt/card/bsd.raw
   
# fsync -d /mnt/card/bsd.raw
  1. RGB格式转换。这里以Windows端的多媒体处理工具FFmpeg为例。

逆时针旋转90°:

bash 复制代码
ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt rgb444 -s 720x1280 -i E:\bsd.raw -vf "transpose=2" -frames:v 1 -f image2 -vcodec bmp bsd.bmp

不旋转:

bash 复制代码
ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt rgb444 -s 720x1280 -i E:\bsd.raw  -frames:v 1 -f image2 -vcodec bmp bsd.bmp

其中,"-f rawvideo"表示指定输入文件是一个原始的视频文件,"-s WIDTHxHEIGHT"表示设置视频的尺寸,"-pix_fmt"表示设置像素格式。


总结

调试显示屏时,可以:

  • 硬件检查三步走
  1. 连线与排线‌:确保排线插稳,无虚焊或接触不良。
  2. 电压测量‌:用万用表测屏的VGH、VGL等电压是否在规格范围内,异常需调整初始化配置。
  3. 信号完整性‌:用示波器检查CLK、SDA等信号波形,避免畸变或干扰。
  • 软件驱动调试要点
  1. 寄存器配置‌:通过逻辑分析仪抓取CS、CLK、SDA等信号,确认寄存器是否正确写入。
  2. HV模式‌:若屏为HV驱动,注意行/场信号极性配置,错误会导致显示异常。
  3. 时序控制‌:严格遵循屏的时序要求,避免数据传输错误。

调试时建议从硬件到软件逐步排查,结合相应的工具快速定位问题,必要时亦可结合显示屏模组规格书、显示屏驱动IC数据手册等参考文档进行详细的调试和排查具体的问题。


相关推荐
AI时代原住民17 小时前
SDD(Spec驱动开发)实战新范式:SDDAgent驱动SDD端到端开发流
驱动开发
比奇堡派星星19 小时前
Linux 平台设备驱动框架详解
linux·开发语言·驱动开发
Yuer202520 小时前
当 LLM 成为新的“解释出口”:从 AI SEO 到可控 AI,人机交互范式已经必须改变
人工智能·人机交互
盈创力和200720 小时前
温湿度传感器从墨水屏到彩屏:人机交互如何影响温湿度设备的长期可用性?
人机交互·以太网温湿度传感器·lora温湿度传感器·温湿度传感器wifi版
躺柒1 天前
读共生:4.0时代的人机关系07工作者
人工智能·ai·自动化·人机交互·人机对话·人机关系
春日见2 天前
python3语法学习
linux·运维·服务器·人工智能·驱动开发
AndyHeee2 天前
【rk3576 Buildroot屏幕双显示分辨率、imx219摄像头、pcie接口挂载nvme问题——持续更新中】
linux·驱动开发
icy、泡芙2 天前
T507 以太网---yt8531
linux·驱动开发
春日见2 天前
c++语法学习
linux·运维·服务器·人工智能·驱动开发
乔碧萝成都分萝2 天前
二十、设备树
linux·驱动开发·嵌入式