跳到正文
Display Engineer
驱动 IC · Ilitek

ILI9881C:规格书、引脚定义与初始化代码

ILI9881C 是 Ilitek(英集芯)面向 720×1280 和 800×1280 TFT 面板的 MIPI DSI 驱动芯片,用于 Raspberry Pi Touch Display 2(5″/7″)以及第一代 M5Stack Tab5。每款面板都需要自己的初始化代码表和时序参数。

DEDisplay Engineer Applications Team · 显示应用工程师更新于 2026年10月23日
厂商Ilitek
类型显示驱动
接口MIPI DSI
最大分辨率800×1280 (in mainline panel entries)

ILI9881C 是什么

ILI9881C 是 Ilitek 面向 MIPI DSI TFT 面板的驱动芯片,通常用于 720×1280 或 800×1280 的竖屏面板。它没有 SPI 或 RGB 像素接口:指令和像素数据都通过 DSI 传输。Ilitek 并未公开其数据手册,因此实用的参考资料是主线 Linux 驱动 panel-ilitek-ili9881c.c,以及面板厂商提供的初始化代码表。

同一颗控制器,多套初始化代码表

Linux 驱动并非只有一份配置。它为所支持的每一款面板都单独保存了一套初始化代码表、显示时序和通道数。主线内核中列出的面板包括:

  • Raspberry Pi Touch Display 2,5″ 和 7″(raspberrypi,dsi-5inch、raspberrypi,dsi-7inch):720×1280,2 条数据通道。
  • Waveshare 7.0″ DSI Touch A:2 条数据通道。
  • Banana Pi、Startek、TDO、Feixin、Bestar、Wanchanglong 和 Ampire 的面板:720×1280 或 800×1280,按面板不同使用 2 或 4 条通道。

使用同一控制器的两块面板,仍可能需要不同的初始化代码表和时序。如果你从另一块板子照搬初始化代码表,即使 DSI 链路已正常建立,屏幕也可能黑屏或出现条纹。请务必从适配你Exact面板的代码表入手。

主线 Linux 中有 ILI9881C 驱动,但没有 ILI9881D 的条目。请将 ILI9881D 面板(例如我们的 PJ5015B14(4.99″ 720×1280 IPS))视为需要依据面板数据手册单独准备初始化代码表和时序。

Linux 驱动中的上电时序

主线驱动按以下顺序点亮面板:

  1. 先使能 IOVCC,等待 5 ms,再使能主电源并等待 5 ms。
  2. 拉低复位 20 ms,释放复位,然后等待 20 ms。
  3. 发送面板的初始化代码表。ILI9881C 使用页切换命令来访问其厂商寄存器。
  4. 切回第 0 页,使能 Tearing Effect 输出,并发送 Exit Sleep 命令。
  5. 等待 120 ms,然后发送 Display On 命令。

Raspberry Pi:Touch Display 2

根据 Raspberry Pi 官方文档,使用以下 overlay 加载 Touch Display 2:

  • dtoverlay=vc4-kms-dsi-ili9881-5inch
  • dtoverlay=vc4-kms-dsi-ili9881-7inch

如需使用另一个 DSI 接口,请添加 ,dsi0。5″ 和 7″ 两款均为 720×1280 分辨率并支持五点触控。10″ 型号采用不同的控制器和 overlay(vc4-kms-dsi-ili79600-10-1inch),并且需要 4 条 DSI 通道。

在 Pi 上使用定制的 ILI9881C 或 ILI9881D 面板,需要一个能匹配到相应面板条目的设备树 overlay。只有当面板确实符合该初始化代码表和时序时,才能复用 Touch Display 2 的 overlay。

ESP32-P4 与 M5Stack Tab5

ESPHome 的 mipi_dsi 驱动可在 ESP32-P4 上驱动 ILI9881C 面板,支持 1 或 2 条数据通道(默认为 2)。M5Stack Tab5 充分说明了这一选择的脆弱性。ESPHome 文档记载了三个硬件版本:

  • 2025 年 10 月 14 日之前生产:采用 ILI9881C 显示驱动,搭配独立的 GT911 触控控制器。请使用型号 M5STACK-TAB5。
  • 之后的批次:采用显示与触控一体的控制器,即 ST7123(M5STACK-TAB5-ST7123)或 ST7121(M5STACK-TAB5-ST7121)。

这三套初始化序列不可互换。如果选错了显示型号,屏幕只会保持黑屏,且日志中不会有任何相关记录。而触控驱动选错则会输出错误日志,因此 ESPHome 建议先通过触控驱动来识别板子版本。

点亮排查清单

  1. 从面板数据手册确认通道数和 DSI 模式(video、sync-pulse 或 burst);主控端的设置必须与之匹配。
  2. 使用与你Exact面板型号对应的初始化代码表,而不仅仅是控制器名称相同就套用。
  3. 检查复位和供电时序。有些板子通过 IO 扩展器来控制复位或电源。
  4. 背光点亮但无画面,通常意味着初始化代码表错误、通道数错误或 DSI 时序不匹配,而不是面板损坏。

关于接口选型,请参阅 MIPI DSI 与 LVDS、eDP 的对比 以及 MIPI DSI 接口页面。

指南与对比

ILI9881C 排障与常见问题

能否将 Raspberry Pi Touch Display 2 的 overlay 用于其他 ILI9881C 面板?

只有当面板匹配该初始化代码表、时序和 2 通道配置时才可以。主线 Linux 驱动为每款受支持的面板都单独保存了初始化代码表、显示模式和通道数,因此另一款 ILI9881C 面板通常需要自己的面板条目和 overlay。

我的 M5Stack Tab5 在 ESPHome 中屏幕不亮,该选哪个型号?

ESPHome 文档记载了三个 Tab5 版本:2025 年 10 月 14 日之前生产的采用 ILI9881C 加 GT911 触控控制器(M5STACK-TAB5);之后的批次采用 ST7123(M5STACK-TAB5-ST7123)或 ST7121(M5STACK-TAB5-ST7121)。显示型号选错会静默失败,而触控驱动选错会输出错误日志,因此请先通过触控驱动识别板子版本。

ILI9881D 和 ILI9881C 是同一颗芯片吗?

不要想当然。Linux 主线内核中有 ILI9881C 驱动,但没有 ILI9881D 条目,因此 ILI9881D 面板需要根据面板数据手册使用自己的初始化表和时序。

ILI9881C 面板使用几条 DSI 通道?

取决于具体面板。在主线 Linux 驱动中,Raspberry Pi 5″/7″ 和 Waveshare 7″ 条目使用 2 lane,而多款 720×1280 和 800×1280 面板使用 4 lane。请让主机配置与您的面板数据手册保持一致。

资料来源

  1. Linux 内核:drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
  2. Raspberry Pi 文档:Touch Display 2
  3. ESPHome:MIPI DSI 显示驱动(含 M5Stack Tab5 说明)

不确定哪款显示屏适合你的设计?

告诉我们尺寸、接口和主控。显示工程师会在 12 小时内回复 2–3 个方案,附规格书和初始化代码。样品 1 片起。