1. LCD TFT 显示原理

要理解 DMA 传输优化的必要性,首先必须掌握 TFT-LCD 的像素结构与驱动时序。本节从像素单元、同步信号、RGB 接口协议到像素时钟计算,逐层拆解显示器的底层工作机制。

1.1 TFT 像素结构

每个 TFT 像素由三个子像素(R/G/B)构成,每个子像素由一个薄膜晶体管(TFT)和一个存储电容(Cs)组成。晶体管控制液晶分子的偏转角度,从而调节背光透过率,实现灰度显示。

关键参数: 分辨率 = 水平像素数 × 垂直像素数;每个像素需要 3 个子像素驱动信号。
参数 说明 典型值(480×272)
水平像素数 每行显示的像素点数量 480
垂直像素数 每帧显示的扫描行数 272
子像素总数 水平 × 垂直 × 3 391,680
色深 每子像素位数 8-bit(16.7M 色)
TFT 像素结构示意图 R 子像素 TFT + Cs G 子像素 TFT + Cs B 子像素 TFT + Cs 1 个完整像素 = R + G + B 栅极扫描线(Gate Line) 数据线(Source Line) 每个子像素独立受控,通过 PWM 或电压调节实现 0~255 级灰度

1.2 行场同步信号

LCD 控制器通过行同步(HSYNC)和场同步(VSYNC)信号协调像素数据的逐行逐帧传输。这两个信号定义了有效像素区域与消隐区(Blanking)的边界。

  • VSYNC(垂直同步):每帧开始时的脉冲,标志新一帧图像传输启动。
  • HSYNC(水平同步):每行开始时的脉冲,标志新一行像素传输启动。
  • DE(数据使能):部分接口使用 DE 信号替代 HSYNC/VSYNC,高电平表示有效像素数据。
时序避坑: 消隐区(HBP/HFP/VBP/VFP)虽然不传输有效像素,但必须保留足够的时钟周期用于行场同步恢复。消隐区过短会导致显示偏移或撕裂。
时序参数 全称 作用
HBP Horizontal Back Porch 行同步后肩,HSYNC 之后到有效像素开始
HFP Horizontal Front Porch 行同步前肩,有效像素结束到下一个 HSYNC
VBP Vertical Back Porch 场同步后肩,VSYNC 之后到有效行开始
VFP Vertical Front Porch 场同步前肩,有效行结束到下一个 VSYNC
行场同步时序关系 VSYNC HSYNC 有效像素数据区域 HBP HFP 场消隐区(VBP + VFP) HSYNC 脉冲宽度通常为 1~4 个像素时钟周期;VSYNC 脉冲宽度为 1~4 行周期 DE 模式可省略 HSYNC/VSYNC,仅用 DE 高电平界定有效数据

1.3 RGB 接口时序

单片机驱动 TFT 屏最常用的接口是 并行 RGB 接口(如 RGB565、RGB666、RGB888)。该接口在像素时钟(PCLK)的上升沿或下降沿锁存数据,配合 HSYNC、VSYNC 和 DE 信号完成帧传输。

接口类型对比:
接口 数据线数量 色深 典型应用
RGB565 16 位(R5+G6+B5) 65K 色 低端单片机、低成本屏
RGB666 18 位(R6+G6+B6) 262K 色 中端工业屏
RGB888 24 位(R8+G8+B8) 16.7M 色 高端显示、HMI 交互

RGB 接口的典型时序流程:

  1. VSYNC 拉低(或脉冲)表示新帧开始。
  2. 经过 VBP 行数后,开始逐行传输有效像素。
  3. 每行开始前,HSYNC 拉低(或脉冲),经过 HBP 时钟后,DE 拉高。
  4. DE 高电平期间,每个 PCLK 锁存一个像素数据。
  5. 一行结束后,DE 拉低,经过 HFP 时钟后,进入下一行 HSYNC。
  6. 所有有效行传输完成后,经过 VFP 行数,VSYNC 再次触发下一帧。
RGB 接口时序波形 PCLK HSYNC DE DATA 像素数据 D[15:0] HBP HFP 有效像素 数据在 PCLK 上升沿锁存;DE 高电平时数据有效,DE 低电平时数据忽略

1.4 像素时钟计算

像素时钟(PCLK)频率决定了每秒传输的像素数量。计算 PCLK 需要同时考虑有效像素和消隐开销。

核心公式:
总行像素 = 水平有效像素 + HBP + HFP + HSYNC 宽度
总帧行数 = 垂直有效像素 + VBP + VFP + VSYNC 宽度
PCLK = 总行像素 × 总帧行数 × 刷新率

计算示例(480×272 @ 60Hz):

参数 值
水平有效像素 480
HBP 40
HFP 10
HSYNC 宽度 10
总行像素 540
垂直有效像素 272
VBP 10
VFP 5
VSYNC 宽度 5
总帧行数 292
刷新率 60 Hz
PCLK 540 × 292 × 60 ≈ 9.46 MHz
DMA 优化关键: PCLK 频率决定了 DMA 传输的最低吞吐率。如果 DMA 无法在 1 个 PCLK 周期内完成 1 个像素的数据搬运,就会出现撕裂或闪烁。实际设计中,DMA 带宽需要预留 20%~30% 余量。

常见分辨率 PCLK 参考值:

分辨率 典型 PCLK 刷新率 数据带宽(RGB565)
320×240 6.5 MHz 60 Hz 13 MB/s
480×272 9.5 MHz 60 Hz 19 MB/s
800×480 33 MHz 60 Hz 66 MB/s
1024×600 51 MHz 60 Hz 102 MB/s