2. TFT LCD 显示原理:像素、分辨率、色彩深度、帧率、同步信号

TFT LCD 显示屏的驱动移植,本质上是让单片机按照严格的时序规则,将图像数据逐像素、逐行、逐帧地发送到显示面板。理解显示原理是驱动开发的第一步。本章将拆解构成显示画面的五个核心概念:像素、分辨率、色彩深度、帧率以及同步信号(VSYNC/HSYNC/DE)。

2.1 像素与分辨率

像素(Pixel) 是显示画面的最小物理单元。每个像素由红(R)、绿(G)、蓝(B)三个子像素组成,通过控制三个子像素的亮度来混合出各种颜色。

分辨率 表示显示屏在水平和垂直方向上拥有的像素数量,通常写作 宽度 × 高度。例如,1024 × 600 表示水平方向有 1024 个像素,垂直方向有 600 行像素。

分辨率规格 水平像素(H) 垂直像素(V) 常见应用
QVGA 320 240 小尺寸工控屏、入门级彩屏
WVGA 800 480 7寸以下便携设备、车载后装
WXGA 1280 800 10寸左右平板、工业HMI
HD 1920 1080 高端嵌入式、医疗显示
驱动提示: 在 LVDS 驱动移植中,分辨率决定了 有效显示区域(Active Area) 的时序参数。水平有效像素(H_Active)和垂直有效行数(V_Active)是初始化时序寄存器时必须填入的核心值。

2.2 色彩深度

色彩深度(Color Depth) 表示每个像素用多少位(bit)数据来描述颜色。位数越多,可显示的颜色数量呈指数级增长,画面过渡越细腻。

  • RGB565(16位):R占5位,G占6位,B占5位。共 2^16 = 65536 色。这是单片机驱动中最常用的格式,占用带宽小,处理速度快。
  • RGB666(18位):R/G/B各占6位。共 2^18 = 262144 色。部分LVDS屏支持,色彩过渡优于RGB565。
  • RGB888(24位):R/G/B各占8位。共 2^24 = 1670万 色。真彩色,但需要更高的数据传输带宽,对单片机DMA和时钟频率要求较高。
色彩格式 总位数 颜色总数 LVDS数据通道数 典型场景
RGB565 16 65K 4通道(3数据+1时钟) 低成本单片机、UI简单
RGB666 18 262K 4通道 中端工控、图标显示
RGB888 24 16.7M 4通道或8通道 高清图片、视频播放

2.3 帧率

帧率(Frame Rate) 指显示屏每秒刷新画面的次数,单位是 Hz(赫兹)或 fps(帧每秒)。

  • 常见帧率:嵌入式 LCD 通常工作在 60Hz,即每秒刷新 60 帧画面。部分高刷屏可达 75Hz 或 120Hz。
  • 帧率与像素时钟的关系:帧率由像素时钟(PCLK)和总像素数(包括消隐区)共同决定。公式如下:
帧率 (Hz) = 像素时钟频率 (Hz) / (水平总像素 × 垂直总行数)
移植风险点: 如果单片机生成的像素时钟频率与屏体要求的帧率不匹配,会导致画面闪烁、撕裂(Tearing)或显示偏移。务必使用示波器或逻辑分析仪测量 PCLK 的实际频率。

2.4 同步信号:VSYNC、HSYNC、DE

为了让显示屏正确识别每一帧的开始、每一行的开始以及有效数据的位置,需要三个同步信号来协调数据传输。这是 LVDS 驱动移植中最关键的时序部分。

  • VSYNC(垂直同步信号):表示一帧画面的开始。低电平有效(或高电平有效,取决于屏体规格)。
  • HSYNC(水平同步信号):表示一行像素数据的开始。每传输完一行,HSYNC 会触发一次脉冲。
  • DE(数据使能信号):高电平时表示当前传输的数据是有效像素数据;低电平时表示处于消隐区(Blanking),数据无效。

下图展示了 VSYNC、HSYNC 与有效数据之间的关系:

LCD 同步信号时序关系图 LCD 同步信号时序关系图 VSYNC 帧起始脉冲 HSYNC 行起始脉冲 DE 有效像素数据(高电平) 水平消隐 水平消隐 DATA RGB 像素数据(R/G/B 并行) 时序关键参数 H_Total = H_Active + H_Blank(HFP + HBP + H_Sync) V_Total = V_Active + V_Blank(VFP + VBP + V_Sync)

2.5 时序参数详解

在 LVDS 屏的 datasheet 中,除了分辨率,还会给出以下时序参数。驱动移植时需要将这些参数填入单片机的 LCD 控制器寄存器中。

参数缩写 全称 说明
H_Active 水平有效像素 一行中实际显示的像素数,等于分辨率宽度
H_FP 水平前沿(Front Porch) HSYNC 结束到有效数据开始之间的时钟数
H_BP 水平后沿(Back Porch) 有效数据结束到下一个 HSYNC 开始之间的时钟数
H_Sync 水平同步脉冲宽度 HSYNC 信号保持有效电平的时钟数
V_Active 垂直有效行数 一帧中实际显示的行数,等于分辨率高度
V_FP 垂直前沿 VSYNC 结束到第一行有效数据之间的行数
V_BP 垂直后沿 最后一行有效数据到下一个 VSYNC 开始之间的行数
V_Sync 垂直同步脉冲宽度 VSYNC 信号保持有效电平的行数
实战要点: 在 LVDS 驱动移植中,水平总像素(H_Total = H_Active + H_FP + H_BP + H_Sync) 和 垂直总行数(V_Total = V_Active + V_FP + V_BP + V_Sync) 决定了像素时钟频率。如果单片机无法输出精确的 PCLK,可以通过微调消隐区参数来匹配帧率,但必须确保消隐区不小于屏体要求的最小值。

2.6 同步信号与 LVDS 数据映射

在 LVDS 接口中,VSYNC、HSYNC、DE 以及 RGB 数据会被打包到差分信号对中传输。下图展示了 LVDS 发送端如何将并行数据转换为串行差分信号:

LVDS 数据映射与同步信号打包 LVDS 数据映射与同步信号打包 并行数据总线 R[7:0] (8位) G[7:0] (8位) B[7:0] (8位) HSYNC VSYNC DE PCLK 串行化 LVDS 差分传输通道 通道0:R0~R5 + G0 通道1:G1~G5 + B0 + B1 通道2:B2~B5 + HSYNC + VSYNC + DE 时钟通道:PCLK 差分对 同步信号(HSYNC/VSYNC/DE)被嵌入到数据通道中,与 RGB 数据一起串行传输
关键理解: 在 LVDS 传输中,DE 信号 是最常用的数据使能方式。如果屏体支持 DE-only 模式,可以省略 HSYNC 和 VSYNC 的单独连接,仅靠 DE 来界定有效数据。但大多数单片机 LCD 控制器仍然需要配置完整的同步时序参数。

2.7 本章小结

  • 像素 是显示的最小单元,由 R/G/B 子像素构成。
  • 分辨率 决定显示内容的精细度,直接影响帧缓冲区大小。
  • 色彩深度 决定颜色丰富度,RGB565 是单片机最常用的格式。
  • 帧率 由像素时钟和总像素数决定,60Hz 是嵌入式标准。
  • VSYNC/HSYNC/DE 是控制数据传输的同步信号,其时序参数(前沿、后沿、脉冲宽度)必须严格匹配屏体 datasheet。