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)传输该行各像素的电压值。逐行扫描时,每行依次被选通,数据线同时写入该行所有像素的电压,完成一帧显示。
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。
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 地址生成扫描时序。
- 伽马校正单元:调整液晶电压-透光率曲线,改善色彩一致性。
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 英寸以下小屏。
- 驱动开发前必须确认分辨率、接口类型、色彩格式和复位时序等关键参数,避免硬件兼容性问题。