2. 硬件基础:TFT LCD 显示屏工作原理与常见驱动 IC

TFT LCD(Thin-Film Transistor Liquid Crystal Display)是当前嵌入式设备中最主流的彩色显示方案。理解其像素结构、刷新机制和色彩深度,是驱动开发的前提。本章从硬件原理出发,拆解 TFT 的工作流程,并对比两款最常用的驱动 IC:ILI9341 与 ST7789。

2.1 TFT LCD 核心工作原理

TFT LCD 的每个像素由一个薄膜晶体管(TFT)和液晶电容构成。晶体管作为开关,控制液晶分子的偏转角度,从而调节背光透过率,实现灰度与色彩显示。

关键概念速览:
  • 像素(Pixel):显示的最小单元,每个像素由 R/G/B 三个子像素组成。
  • 刷新率(Refresh Rate):每秒重绘全屏的次数,单位 Hz。常见 60 Hz,高刷屏可达 120 Hz。
  • 色彩深度(Color Depth):每个子像素的灰度级数,决定总色数。16 位色(65K 色)和 18 位色(262K 色)是嵌入式主流。

2.1.1 像素结构与寻址

TFT 面板的像素以矩阵方式排列。行选通线(Gate Line)控制每行晶体管的通断,列数据线(Source Line)传输该行各像素的电压值。逐行扫描时,每行依次被选通,数据线同时写入该行所有像素的电压,完成一帧显示。

TFT LCD 像素矩阵与逐行扫描示意 扫描方向 R G B 每个像素由 R/G/B 三个子像素组成

2.1.2 刷新率与帧周期

刷新率决定了画面流畅度。对于 60 Hz 刷新率,一帧的周期为 16.67 ms。驱动 IC 内部通过 VSYNC(垂直同步)和 HSYNC(水平同步)信号控制帧与行的时序。嵌入式应用中,SPI 接口的刷新率通常受限于总线速度,实际帧率可能低于面板标称值。

刷新率 帧周期 典型应用场景
60 Hz 16.67 ms 标准嵌入式 UI、静态数据显示
30 Hz 33.33 ms 低功耗设备、电子价签
120 Hz 8.33 ms 游戏、高帧率动画(需并行接口)

2.1.3 色彩深度与色数计算

色彩深度指每个子像素的灰度级位数。常见配置如下:

  • 16 位色(RGB565):R=5 bit,G=6 bit,B=5 bit,总色数 2^16 = 65,536 色。嵌入式最常用,SPI 传输效率高。
  • 18 位色(RGB666):R=6 bit,G=6 bit,B=6 bit,总色数 2^18 = 262,144 色。色彩过渡更平滑,但需更多数据位。
  • 24 位色(RGB888):R=8 bit,G=8 bit,B=8 bit,总色数 16,777,216 色。通常需要并行接口或高速 SPI。
开发建议:在 SPI 接口的 TFT 驱动中,优先使用 RGB565 格式。它能在色彩表现与传输带宽之间取得最佳平衡,且大多数驱动 IC 原生支持该格式的硬件转换。

2.2 常见驱动 IC 简介:ILI9341 与 ST7789

ILI9341 和 ST7789 是当前市场上占有率最高的两款 TFT 驱动 IC。它们都支持 SPI 和并行接口,但内部架构、分辨率支持和指令集存在差异。

2.2.1 ILI9341

ILI9341 由 Ilitek 公司推出,最大支持 320×240(QVGA)分辨率。它内置 172,800 字节的 GRAM(显存),支持 16/18 位色,具备窗口地址设置功能,允许只更新屏幕的局部区域。其 SPI 最高时钟可达 40 MHz,适合中等尺寸的彩色显示。

2.2.2 ST7789

ST7789 由 Sitronix 公司推出,最大支持 240×240 或 240×320 分辨率(取决于型号)。它同样内置 GRAM,但功耗更低,且支持更小的封装,常用于 1.3 英寸、1.54 英寸等小尺寸圆形或方形屏幕。ST7789 的 SPI 接口最高时钟通常为 32 MHz。

特性 ILI9341 ST7789
最大分辨率 320×240 (QVGA) 240×240 / 240×320
色彩深度 16/18 位 16/18 位
GRAM 大小 172,800 字节 172,800 字节 (240×320)
SPI 最高时钟 40 MHz 32 MHz
典型屏幕尺寸 2.4" ~ 3.5" 1.3" ~ 2.0"
窗口地址设置 支持 支持
硬件伽马校正 支持 支持

2.2.3 驱动 IC 内部架构对比

两款 IC 的内部架构高度相似,均包含以下核心模块:

  • 接口控制器:解析 SPI/并行命令与数据。
  • 指令译码器:将命令码转换为内部寄存器操作。
  • GRAM(显存):存储当前帧的像素数据。
  • 行/列驱动:根据 GRAM 地址生成扫描时序。
  • 伽马校正单元:调整液晶电压-透光率曲线,改善色彩一致性。
TFT 驱动 IC 内部架构(ILI9341 / ST7789 通用) 接口控制器 指令译码器 GRAM 显存 行/列驱动 伽马校正 SPI / 并行 → 面板

2.3 驱动开发中的关键硬件参数

在编写驱动前,必须确认以下硬件参数,否则可能导致显示异常或无法点亮:

参数 说明 典型值
分辨率 屏幕的像素宽×高 320×240 / 240×240
驱动 IC 型号 决定指令集与初始化序列 ILI9341 / ST7789
接口类型 SPI / 8 位并行 / 16 位并行 SPI (4 线)
色彩格式 像素数据编码方式 RGB565
背光控制 PWM 引脚或固定电平 PWM (1000 Hz)
复位时序 上电后复位引脚低电平持续时间 ≥ 10 ms
常见陷阱:不同批次的屏幕即使型号相同,初始化序列也可能有细微差异。建议直接从屏幕供应商获取最新的初始化寄存器配置,而不是完全照搬网上代码。错误的初始化序列可能导致屏幕花屏、颜色反转或无法唤醒。

2.4 本章小结

  • TFT LCD 通过逐行扫描和子像素混色实现彩色显示,刷新率和色彩深度直接影响画面质量与传输带宽。
  • ILI9341 和 ST7789 是两款主流的驱动 IC,前者适合 2.4 英寸以上大屏,后者适合 2.0 英寸以下小屏。
  • 驱动开发前必须确认分辨率、接口类型、色彩格式和复位时序等关键参数,避免硬件兼容性问题。