ما هو ILI9881C
ILI9881C هو درايفر من شركة Ilitek للوحات TFT بواجهة MIPI DSI، وعادةً لوحات عمودية بدقة 720×1280 أو 800×1280. لا يتضمن واجهة بكسلات SPI أو RGB: الأوامر والبكسلات تُنقل كلها عبر DSI. ولا تنشر Ilitek ورقة البيانات (datasheet) الخاصة به علنًا، لذا فإن المرجع العملي هو درايفر Linux الرئيسي (mainline) panel-ilitek-ili9881c.c، إضافةً إلى جدول التهيئة الوارد من مُصنِّع اللوحة لديك.
متحكم واحد وجداول تهيئة متعددة
درايفر Linux ليس تكوينًا واحدًا؛ فهو يحمل جدول تهيئة منفصلًا وتوقيتات عرض وعدد مسارات (lanes) لكل لوحة يدعمها. ومن اللوحات المدرجة في الإصدار الرئيسي:
- Raspberry Pi Touch Display 2، بمقاسي 5″ و7″ (
raspberrypi,dsi-5inch،raspberrypi,dsi-7inch): بدقة 720×1280 واثنين من مسارات البيانات. - Waveshare 7.0″ DSI Touch A: بمسارَي بيانات.
- لوحات من Banana Pi وStartek وTDO وFeixin وBestar وWanchanglong وAmpire: بدقة 720×1280 أو 800×1280، على مسارين أو أربعة حسب اللوحة.
لوحتان تستخدمان المتحكم نفسه قد تحتاجان مع ذلك إلى جداول تهيئة وتوقيتات مختلفة. إذا نسخت جدول تهيئة من لوحة أخرى، فقد تبقى الشاشة سوداء أو تظهر خطوطًا حتى لو كان وصلة DSI تعمل. ابدأ من الجدول الخاص بلوحتك بالضبط.
يحتوي إصدار Linux الرئيسي على درايفر لـ ILI9881C لكن دون إدخال لـ ILI9881D. تعامل مع لوحة ILI9881D، مثل PJ5015B14 لدينا (IPS بدقة 720×1280 وقطر 4.99″)، على أنها تحتاج إلى جدول تهيئة وتوقيتات خاصة بها من ورقة بيانات اللوحة.
تسلسل التشغيل في درايفر Linux
يُشغّل الدرايفر الرئيسي اللوحة بهذا الترتيب:
- تمكين IOVCC، والانتظار 5 ms، ثم تمكين مصدر التغذية الرئيسي والانتظار 5 ms.
- تفعيل إشارة إعادة الضبط (reset) لمدة 20 ms، ثم تحريرها، ثم الانتظار 20 ms.
- إرسال جدول تهيئة اللوحة. يستخدم ILI9881C أوامر تبديل الصفحات (page-switch) للوصول إلى سجلات الشركة المصنِّعة.
- العودة إلى الصفحة 0، وتمكين مخرج tearing-effect، ثم إرسال أمر Exit Sleep.
- الانتظار 120 ms، ثم إرسال أمر Display On.
Raspberry Pi: Touch Display 2
تحمل وثائق Raspberry Pi شاشة Touch Display 2 باستخدام هذه الـ overlays:
dtoverlay=vc4-kms-dsi-ili9881-5inchdtoverlay=vc4-kms-dsi-ili9881-7inch
أضف ,dsi0 لاستخدام منفذ DSI الآخر. كلا الطرازين 5″ و7″ بدقة 720×1280 مع لمس خمس نقاط. أما طراز 10″ فيستخدم متحكمًا وoverlay مختلفين (vc4-kms-dsi-ili79600-10-1inch) ويحتاج إلى أربعة مسارات DSI.
لوحة ILI9881C أو ILI9881D مخصّصة على Raspberry Pi تحتاج إلى device-tree overlay يحدد إدخال لوحة مطابقًا. إعادة استخدام overlay الخاص بـ Touch Display 2 لا تنجح إلا إذا كانت اللوحة مطابقة فعلًا لجدول التهيئة والتوقيتات نفسه.
ESP32-P4 وM5Stack Tab5
يشغّل درايفر mipi_dsi في ESPHome لوحات ILI9881C على المعالج ESP32-P4، بمسار بيانات واحد أو اثنين (اثنان افتراضيًا). ويبيّن جهاز M5Stack Tab5 مدى هشاشة هذا الاختيار: توثّق ESPHome ثلاث نسخ من العتاد:
- الأجهزة المصنّعة قبل 14 أكتوبر 2025: درايفر عرض ILI9881C مع متحكم لمس منفصل GT911. استخدم الطراز
M5STACK-TAB5. - الأجهزة الأحدث: متحكم عرض ولمس مدمج، إما ST7123 (
M5STACK-TAB5-ST7123) أو ST7121 (M5STACK-TAB5-ST7121).
تسلسلات التهيئة الثلاثة ليست قابلة للتبديل. إذا اخترت طراز العرض الخطأ، تبقى الشاشة مظلمة تمامًا دون تسجيل أي خطأ ذي صلة. أما درايفر اللمس الخاطئ فيُسجَّل له خطأ، ولذلك تنصح ESPHome بتحديد نوع اللوحة من درايفر اللمس أولًا.
قائمة فحص التشغيل
- تحقّق من عدد المسارات ووضع DSI (video أو sync-pulse أو burst) من ورقة بيانات اللوحة؛ يجب أن تتطابق إعدادات الجهاز المضيف معها.
- استخدم جدول التهيئة الخاص بلوحتك بالضبط، وليس مجرد جدول خاص باسم المتحكم.
- تحقّق من تسلسل إعادة الضبط والتغذية. بعض اللوحات تتحكم في إعادة الضبط أو الطاقة عبر مُوسِّع مداخل/مخارج (IO expander).
- الإضاءة الخلفية تعمل دون صورة يعني عادةً جدول تهيئة خاطئًا أو عدد مسارات خاطئًا أو عدم تطابق توقيتات DSI، وليس لوحة تالفة.
لمقارنة خيارات الواجهات، راجع MIPI DSI مقابل LVDS مقابل eDP وصفحة واجهة MIPI DSI.
الأدلة والمقارنات
حل المشكلات والأسئلة الشائعة لـ ILI9881C
هل يمكنني إعادة استخدام overlay الخاص بـ Raspberry Pi Touch Display 2 مع لوحة أخرى بنفس المتحكم ILI9881C؟
فقط إذا كانت اللوحة مطابقة لجدول التهيئة والتوقيتات وإعداد المسارين نفسه. يحتفظ درايفر Linux الرئيسي بجدول تهيئة ووضع وعدد مسارات منفصل لكل لوحة مدعومة، لذا فإن أي لوحة ILI9881C مختلفة تحتاج عادةً إلى إدخال لوحة وoverlay خاصين بها.
شاشة M5Stack Tab5 تبقى مظلمة في ESPHome. أي طراز أختار؟
توثّق ESPHome ثلاث نسخ من Tab5: الأجهزة المصنّعة قبل 14 أكتوبر 2025 تستخدم ILI9881C مع متحكم لمس GT911 (الطراز M5STACK-TAB5)؛ والأجهزة الأحدث تستخدم ST7123 (M5STACK-TAB5-ST7123) أو ST7121 (M5STACK-TAB5-ST7121). اختيار طراز العرض الخاطئ يفشل بصمت، بينما درايفر اللمس الخاطئ يُسجِّل خطأً، لذا حدّد نوع اللوحة من درايفر اللمس أولًا.
هل ILI9881D هو نفسه ILI9881C؟
لا تفترض ذلك. نواة لينكس الرئيسية (mainline) تتضمن تعريفًا لـ ILI9881C لكن دون إدخال لـ ILI9881D، لذا تحتاج شاشة ILI9881D إلى جدول تهيئة (init table) وتوقيتات خاصة بها مأخوذة من ورقة بيانات الشاشة.
كم عدد مسارات DSI التي تستخدمها لوحة ILI9881C؟
يعتمد على الشاشة. في تعريف لينكس الرئيسية، إدخالات Raspberry Pi 5″/7″ و Waveshare 7″ تستخدم قناتين (2 lanes)، بينما عدة شاشات بدقة 720×1280 و 800×1280 تستخدم 4 قنوات. طابق إعداد الجهاز المضيف مع ورقة بيانات شاشتك.