3. 驱动芯片选型与数据手册解读:ILI9341 / ST7789 / FT81xx 系列
LCD TFT 显示屏的驱动芯片直接决定了接口类型、色彩深度、帧率上限以及 MCU 的资源开销。本章聚焦三款主流驱动芯片——ILI9341、ST7789 和 FT81xx 系列,从选型对比、数据手册关键章节(初始化序列、时序图、寄存器表)两个维度展开,帮助开发者在项目初期快速锁定合适的驱动方案。
3.1 三款驱动芯片核心特性对比
下表从接口、分辨率、色彩、内置功能等维度横向对比三款芯片,便于选型时快速筛选。
| 对比项 | ILI9341 | ST7789 | FT81xx 系列 |
|---|---|---|---|
| 接口类型 | SPI / 8/16-bit 8080 并口 | SPI / 4-line SPI / 8/16-bit 8080 | SPI / QSPI / 8080 并口 |
| 最大分辨率 | 320×240 (QVGA) | 240×240 / 320×320 (圆形/方形) | 800×480 (WVGA) 及以上 |
| 色彩深度 | 16-bit (65K) / 18-bit (262K) | 16-bit (65K) / 18-bit (262K) | 16-bit / 24-bit (真彩) |
| 内置图形加速 | 无 | 无 | 2D 图形引擎、触摸控制器、音频 PWM |
| 帧缓冲 | 无(需外部 RAM 或 MCU 刷新) | 无(需外部 RAM 或 MCU 刷新) | 内置 1~4 MB 帧缓冲 |
| 典型应用 | 小尺寸手持设备、仪表盘 | 圆形智能手表、小屏 IoT 面板 | 中大型 HMI、工业控制面板 |
| MCU 资源占用 | 高(逐像素刷新) | 高(逐像素刷新) | 低(命令式绘图) |
3.2 数据手册关键章节解读方法
无论选择哪款驱动芯片,数据手册中以下三个章节是驱动开发的核心依据。下面以 ILI9341 为例,说明如何高效提取关键信息。
3.2.1 初始化序列(Initialization Sequence)
初始化序列通常以表格或伪代码形式出现在数据手册的 “Initial Setting” 或 “Power On Sequence” 章节。它定义了芯片上电后必须发送的寄存器配置命令列表,顺序不可颠倒。
典型初始化流程(ILI9341):
- 硬件复位(RESX 引脚拉低 ≥10μs)
- 软件复位(命令 0x01)
- 进入睡眠模式(命令 0x11)
- 设置像素格式(命令 0x3A,参数 0x55 → 16-bit)
- 设置帧率(命令 0xB0)
- 设置伽马曲线(命令 0xC0 / 0xC1)
- 退出睡眠模式(命令 0x11)
- 开启显示(命令 0x29)
3.2.2 时序图(Timing Diagram)
时序图位于数据手册的 “Interface Timing” 章节,定义了 MCU 与驱动芯片之间信号线的时序约束。以 ILI9341 的 8080 并口为例,关键时序参数包括:
| 参数符号 | 描述 | 最小值 | 典型值 | 单位 |
|---|---|---|---|---|
| tcyc | 写周期时间 | 100 | — | ns |
| tAS | 地址建立时间 | 0 | — | ns |
| tAH | 地址保持时间 | 15 | — | ns |
| tDSW | 写数据建立时间 | 15 | — | ns |
| tDHW | 写数据保持时间 | 15 | — | ns |
解读时序图时,应重点关注 建立时间(Setup Time) 和 保持时间(Hold Time),这两个参数直接影响 MCU GPIO 翻转速度与 SPI 时钟频率的上限。
3.2.3 寄存器表(Register Map)
寄存器表通常以地址索引形式列出所有可读写寄存器,包含命令码、参数数量、读写属性及复位默认值。以 ILI9341 为例,常用寄存器如下:
| 命令码(Hex) | 寄存器名称 | 参数数 | 描述 |
|---|---|---|---|
| 0x01 | SWRESET | 0 | 软件复位 |
| 0x11 | SLPOUT | 0 | 退出睡眠模式 |
| 0x29 | DISPON | 0 | 开启显示 |
| 0x2A | CASET | 4 | 列地址设置 |
| 0x2B | RASET | 4 | 行地址设置 |
| 0x2C | RAMWR | 可变 | 写入显存数据 |
| 0x3A | COLMOD | 1 | 像素格式设置 |
3.3 ST7789 与 FT81xx 的差异化解读
3.3.1 ST7789:面向圆形/小尺寸屏的优化
ST7789 与 ILI9341 在寄存器结构上高度兼容,但有以下关键差异:
- 初始化序列更短: ST7789 无需复杂的伽马校正,典型初始化仅需 8~10 条命令。
- 支持 4-line SPI: 通过 MISO 引脚复用为 D/CX,减少引脚占用。
- 内存映射不同: 列/行地址范围最大为 240×320,且支持窗口裁剪(Partial Mode)。
3.3.2 FT81xx 系列:内置图形引擎的“协处理器”
FT81xx(如 FT800、FT801、FT810)与传统驱动芯片有本质区别:
- 命令式绘图: MCU 只需通过 SPI 发送绘图命令(如
CMD_DLSTART、CMD_COLDSTART),芯片内部 2D 引擎自动完成像素填充。 - 内置帧缓冲: 无需外部 RAM,FT81xx 内部集成 1~4 MB 显存,支持双缓冲切换。
- 触摸与音频集成: 部分型号内置电阻/电容触摸控制器和音频 PWM 输出。
FT81xx 的数据手册重点章节是 “Graphics Engine” 和 “Register-Based vs. Command-Based Operation”,而非传统的时序图。
3.4 数据手册快速查阅清单
拿到一份新的驱动芯片数据手册时,按以下顺序快速定位关键信息:
- 第 1 步: 翻到 “Ordering Information” 确认封装与温度范围。
- 第 2 步: 找到 “Interface Selection” 或 “Pin Configuration”,确认接口模式配置引脚(如 IM0/IM1)。
- 第 3 步: 定位 “Initial Setting” 或 “Power On Sequence”,提取初始化命令列表。
- 第 4 步: 查阅 “AC Characteristics” 或 “Timing Diagram”,记录建立/保持时间。
- 第 5 步: 浏览 “Register Map”,标记与显示控制、地址设置、像素格式相关的寄存器。
3.5 本章小结
- ILI9341 和 ST7789 适合资源受限的小尺寸屏项目,初始化序列和时序图是驱动开发的核心。
- FT81xx 系列通过内置图形引擎大幅降低 MCU 负载,适合中大型 HMI 项目,数据手册重点在命令集而非传统时序。
- 数据手册的 初始化序列、时序图、寄存器表 是驱动开发的三大支柱,必须逐项验证。
- 选型时综合考虑接口类型、分辨率、色彩深度、MCU 资源占用和成本,避免“大材小用”或“性能不足”。