Chuyển đến nội dung
Display Engineer
IC driver · Ilitek

ILI9881C: datasheet, sơ đồ chân & mã khởi tạo

ILI9881C là driver MIPI DSI của Ilitek dành cho panel TFT 720×1280 và 800×1280, được dùng trên Raspberry Pi Touch Display 2 (5″/7″) và M5Stack Tab5 đời đầu. Mỗi panel cần bảng init và timing riêng.

DEDisplay Engineer Applications Team · Kỹ sư ứng dụng màn hìnhCập nhật 23 thg 10, 2026
Nhà sản xuấtIlitek
LoạiDriver màn hình
Giao tiếpMIPI DSI
Độ phân giải tối đa800×1280 (in mainline panel entries)

ILI9881C là gì

ILI9881C là driver của Ilitek dành cho panel TFT MIPI DSI, thường là panel dọc 720×1280 hoặc 800×1280. Nó không có giao diện pixel SPI hay RGB: cả lệnh lẫn pixel đều truyền qua DSI. Ilitek không công bố datasheet công khai, do đó tài liệu tham khảo thực dụng là driver Linux mainline, panel-ilitek-ili9881c.c, cùng với bảng init từ nhà sản xuất panel của bạn.

Một controller, nhiều bảng init

Driver Linux không phải là một cấu hình duy nhất. Nó mang theo bảng init, timing hiển thị và số lane riêng biệt cho từng panel mà nó hỗ trợ. Các panel được liệt kê trong mainline gồm:

  • Raspberry Pi Touch Display 2, 5″ và 7″ (raspberrypi,dsi-5inch, raspberrypi,dsi-7inch): 720×1280, 2 data lane.
  • Waveshare 7.0″ DSI Touch A: 2 data lane.
  • Các panel từ Banana Pi, Startek, TDO, Feixin, Bestar, Wanchanglong và Ampire: 720×1280 hoặc 800×1280, trên 2 hoặc 4 lane tùy panel.

Hai panel dùng cùng một controller vẫn có thể cần bảng init và timing khác nhau. Nếu bạn sao chép bảng init từ board khác, màn hình có thể đen thui hoặc hiện sọc dù liên kết DSI đã hoạt động. Hãy bắt đầu từ bảng init dành đúng cho panel của bạn.

Linux mainline có driver ILI9881C nhưng không có mục cho ILI9881D. Hãy coi panel ILI9881D, chẳng hạn như PJ5015B14 của chúng tôi (4.99″ 720×1280 IPS), là cần bảng init và timing riêng lấy từ datasheet của panel.

Trình tự cấp nguồn trong driver Linux

Driver mainline khởi động panel theo thứ tự sau:

  1. Bật IOVCC, chờ 5 ms, sau đó bật nguồn chính và chờ 5 ms.
  2. Kéo reset ở mức tích cực trong 20 ms, thả ra, rồi chờ 20 ms.
  3. Gửi bảng init của panel. ILI9881C dùng các lệnh chuyển page để truy cập các thanh ghi vendor.
  4. Quay về page 0, bật đầu ra tearing-effect, và gửi lệnh Exit Sleep.
  5. Chờ 120 ms, rồi gửi Display On.

Raspberry Pi: Touch Display 2

Tài liệu của Raspberry Pi khởi chạy Touch Display 2 với các overlay sau:

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

Thêm ,dsi0 để dùng cổng DSI còn lại. Cả hai model 5″ và 7″ đều là 720×1280 với cảm ứng năm điểm. Model 10″ dùng controller và overlay khác (vc4-kms-dsi-ili79600-10-1inch) và cần bốn lane DSI.

Panel ILI9881C hoặc ILI9881D tùy chỉnh trên Pi cần một device-tree overlay trỏ tới mục panel tương ứng. Việc tái sử dụng overlay của Touch Display 2 chỉ hoạt động nếu panel thực sự khớp với bảng init và timing đó.

ESP32-P4 và M5Stack Tab5

Driver mipi_dsi của ESPHome chạy panel ILI9881C trên ESP32-P4, với 1 hoặc 2 data lane (mặc định là 2). M5Stack Tab5 cho thấy lựa chọn này dễ sai đến mức nào. ESPHome ghi nhận ba phiên bản phần cứng:

  • Sản xuất trước 14 tháng 10 năm 2025: driver hiển thị ILI9881C với touch controller GT911 riêng. Dùng model M5STACK-TAB5.
  • Các máy sau này: một controller tích hợp hiển thị và cảm ứng, hoặc là ST7123 (M5STACK-TAB5-ST7123) hoặc là ST7121 (M5STACK-TAB5-ST7121).

Ba trình tự init này không thể hoán đổi cho nhau. Nếu bạn chọn sai model hiển thị, màn hình chỉ đen thui và không có gì liên quan được ghi log. Driver cảm ứng sai thì có ghi log lỗi, vì vậy ESPHome khuyên nên xác định board dựa vào touch driver trước.

Danh mục kiểm tra khi bring-up

  1. Xác nhận số lane và chế độ DSI (video, sync-pulse hoặc burst) từ datasheet của panel; cấu hình của host phải khớp.
  2. Dùng bảng init dành đúng cho panel của bạn, không chỉ theo tên controller.
  3. Kiểm tra trình tự reset và cấp nguồn. Một số board điều khiển reset hoặc nguồn qua IO expander.
  4. Đèn nền sáng nhưng không có hình thường có nghĩa là bảng init sai, số lane sai, hoặc timing DSI không khớp — chứ không phải panel hỏng.

Về lựa chọn giao diện, xem MIPI DSI vs LVDS vs eDP và trang giao diện MIPI DSI.

Hướng dẫn & so sánh

ILI9881C: xử lý sự cố & FAQ

Tôi có thể tái sử dụng overlay của Raspberry Pi Touch Display 2 cho panel ILI9881C khác không?

Chỉ khi panel khớp với bảng init, timing và cấu hình 2 lane đó. Driver Linux mainline lưu bảng init, mode và số lane riêng cho từng panel được hỗ trợ, vì vậy một panel ILI9881C khác thường cần mục panel và overlay riêng.

Màn hình M5Stack Tab5 của tôi đen thui trong ESPHome. Tôi nên chọn model nào?

ESPHome ghi nhận ba phiên bản Tab5: các máy sản xuất trước 14 tháng 10 năm 2025 dùng ILI9881C với touch controller GT911 (M5STACK-TAB5); các máy sau dùng ST7123 (M5STACK-TAB5-ST7123) hoặc ST7121 (M5STACK-TAB5-ST7121). Model hiển thị sai thì thất bại im lặng, còn touch driver sai thì ghi log lỗi, vì vậy hãy xác định board từ touch driver trước.

ILI9881D có giống ILI9881C không?

Đừng giả định như vậy. Linux mainline có driver ILI9881C nhưng không có mục cho ILI9881D, vì vậy panel ILI9881D cần bảng init và timing riêng từ datasheet của panel.

Panel ILI9881C dùng bao nhiêu lane DSI?

Tùy thuộc vào panel. Trong driver Linux mainline, các mục Raspberry Pi 5″/7″ và Waveshare 7″ dùng 2 lane, trong khi một số panel 720×1280 và 800×1280 dùng 4 lane. Hãy cấu hình host khớp với datasheet của panel bạn.

Nguồn

  1. Linux kernel: drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
  2. Tài liệu Raspberry Pi: Touch Display 2
  3. ESPHome: driver hiển thị MIPI DSI (ghi chú về M5Stack Tab5)

Chưa chắc màn hình nào phù hợp thiết kế của bạn?

Gửi kích thước, giao tiếp và bộ xử lý host. Kỹ sư màn hình sẽ phản hồi trong 12 giờ với 2–3 phương án, datasheet và mã khởi tạo. Mẫu từ 1 chiếc.