Перейти к содержимому
Display Engineer
Драйвер · Ilitek

ILI9881C: даташит, распиновка и код инициализации

ILI9881C — драйвер Ilitek с интерфейсом MIPI DSI для TFT-панелей 720×1280 и 800×1280, применяемый в Raspberry Pi Touch Display 2 (5″/7″) и в первой версии M5Stack Tab5. Каждой панели требуется собственная таблица инициализации и свои тайминги.

DEDisplay Engineer Applications Team · Инженеры по применению дисплеевОбновлено 23 окт. 2026 г.
ПроизводительIlitek
ТипДрайвер дисплея
ИнтерфейсыMIPI DSI
Макс. разрешение800×1280 (in mainline panel entries)

Что такое ILI9881C

ILI9881C — это драйвер компании Ilitek для TFT-панелей с интерфейсом MIPI DSI, как правило портретных панелей 720×1280 или 800×1280. У него нет пиксельного интерфейса SPI или RGB: и команды, и пиксельные данные передаются по DSI. Ilitek не публикует даташит в открытом доступе, поэтому практическим ориентиром служит драйвер в mainline-ядре Linux, panel-ilitek-ili9881c.c, а также таблица инициализации от производителя вашей панели.

Один контроллер — много таблиц инициализации

Драйвер Linux — это не одна конфигурация. Для каждой поддерживаемой панели в нём предусмотрены отдельная таблица инициализации, тайминги дисплея и число lane. Панели, перечисленные в mainline:

  • Raspberry Pi Touch Display 2, 5″ и 7″ (raspberrypi,dsi-5inch, raspberrypi,dsi-7inch): 720×1280, 2 data lane.
  • Waveshare 7.0″ DSI Touch A: 2 data lane.
  • Панели от Banana Pi, Startek, TDO, Feixin, Bestar, Wanchanglong и Ampire: 720×1280 или 800×1280, на 2 или 4 lane в зависимости от панели.

Две панели с одним и тем же контроллером могут требовать разные таблицы инициализации и тайминги. Если скопировать таблицу инициализации с другой платы, экран может остаться чёрным или показать полосы, даже если DSI-линк поднят. Отталкивайтесь от таблицы именно для вашей панели.

В mainline Linux есть драйвер ILI9881C, но записи для ILI9881D нет. Панель ILI9881D, например наша PJ5015B14 (4.99″ 720×1280 IPS), следует считать требующей собственной таблицы инициализации и таймингов из даташита панели.

Последовательность включения в драйвере Linux

Mainline-драйвер выводит панель на рабочий режим в таком порядке:

  1. Включается IOVCC, пауза 5 мс, затем включается основное питание и пауза 5 мс.
  2. Сброс удерживается 20 мс, снимается, затем пауза 20 мс.
  3. Передаётся таблица инициализации панели. ILI9881C использует команды переключения страниц для доступа к вендорским регистрам.
  4. Возврат на страницу 0, включение выхода tearing-effect и отправка Exit Sleep.
  5. Пауза 120 мс, затем отправка Display On.

Raspberry Pi: Touch Display 2

В документации Raspberry Pi для Touch Display 2 используются следующие оверлеи:

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

Добавьте ,dsi0, чтобы использовать другой DSI-порт. Модели 5″ и 7″ — обе 720×1280 с пятиточечным тачем. Модель 10″ использует другой контроллер и оверлей (vc4-kms-dsi-ili79600-10-1inch) и требует четыре DSI lane.

Собственной панели на ILI9881C или ILI9881D на Raspberry Pi нужен device-tree оверлей, ссылающийся на подходящую запись панели. Повторное использование оверлея Touch Display 2 сработает, только если панель действительно соответствует той таблице инициализации и таймингам.

ESP32-P4 и M5Stack Tab5

Драйвер mipi_dsi в ESPHome работает с панелями ILI9881C на ESP32-P4, с 1 или 2 data lane (по умолчанию 2). M5Stack Tab5 показывает, насколько хрупок этот выбор. ESPHome описывает три аппаратные версии:

  • Выпущенные до 14 октября 2025: дисплейный драйвер ILI9881C с отдельным тач-контроллером GT911. Используйте модель M5STACK-TAB5.
  • Более поздние партии: интегрированный контроллер дисплея и тача — либо ST7123 (M5STACK-TAB5-ST7123), либо ST7121 (M5STACK-TAB5-ST7121).

Три последовательности инициализации не взаимозаменяемы. Если выбрать неверную модель дисплея, экран просто останется тёмным, и в логе не будет ничего относящегося к делу. Неверный тач-драйвер, напротив, пишет ошибку в лог, поэтому ESPHome советует сначала определять плату по тач-драйверу.

Чек-лист запуска

  1. Уточните по даташиту панели число lane и режим DSI (video, sync-pulse или burst); настройки хоста должны им соответствовать.
  2. Используйте таблицу инициализации именно для вашей панели, а не просто по названию контроллера.
  3. Проверьте последовательность сброса и подачи питания. На некоторых платах сброс или управление питанием идёт через IO-экспандер.
  4. Подсветка горит, но изображения нет — обычно это неверная таблица инициализации, неверное число lane или несовпадение таймингов DSI, а не умершая панель.

О выборе интерфейса см. MIPI DSI vs LVDS vs eDP и страницу интерфейса MIPI DSI.

Руководства и сравнения

ILI9881C: устранение неисправностей и FAQ

Можно ли переиспользовать оверлей Raspberry Pi Touch Display 2 для другой панели ILI9881C?

Только если панель соответствует той таблице инициализации, таймингам и конфигурации на 2 lane. Драйвер mainline Linux хранит отдельные таблицу инициализации, режим и число lane для каждой поддерживаемой панели, поэтому другая панель на ILI9881C обычно требует собственной записи панели и своего оверлея.

Экран M5Stack Tab5 остаётся тёмным в ESPHome. Какую модель выбрать?

ESPHome описывает три версии Tab5: платы, выпущенные до 14 октября 2025, используют ILI9881C с тач-контроллером GT911 (M5STACK-TAB5); более поздние партии — ST7123 (M5STACK-TAB5-ST7123) или ST7121 (M5STACK-TAB5-ST7121). Неверная модель дисплея отказывает молча, а неверный тач-драйвер пишет ошибку в лог, поэтому сначала определяйте плату по тач-драйверу.

ILI9881D — это то же самое, что ILI9881C?

Не стоит полагаться на это. В основной ветке Linux есть драйвер ILI9881C, но записи для ILI9881D нет, поэтому для панели ILI9881D потребуется своя таблица инициализации и тайминги из даташита панели.

Сколько DSI lane использует панель на ILI9881C?

Зависит от панели. В драйвере основной ветки Linux записи для Raspberry Pi 5″/7″ и Waveshare 7″ используют 2 линии (lane), тогда как несколько панелей 720×1280 и 800×1280 используют 4. Согласуйте конфигурацию хоста с даташитом вашей панели.

Источники

  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 шт.