انتقل إلى المحتوى
Display Engineer
وحدة تحكم اللمس · Hynitron

CST328: طريقة التوصيل واستكشاف الأخطاء وإصلاحها

CST328 هو وحدة تحكم لمس سعوي من Hynitron بواجهة I2C على العنوان 0x1A وعناوين مسجلات بعرض 16 بت. تقول LilyGO إنه توقف إنتاجه وتشحن اللوحات اللاحقة وحدة CST3530 التي تتطلب برنامج تشغيل مختلف.

DEDisplay Engineer Applications Team · مهندسو تطبيقات الشاشاتحُدّث في 11 نوفمبر 2026
الشركة المصنّعةHynitron
النوعوحدة تحكم اللمس
الواجهاتI2C
أقصى دقة5 touch points

نظرة سريعة على CST328

البند

القيمة

المصدر

الواجهة

I2C، عناوين مسجلات بعرض 16 بت

برنامج تشغيل ESPHome، RS-Key

عنوان I2C (7 بت)

0x1A

جدول منافذ LilyGO T-Deck Pro، RS-Key

نقاط اللمس

5 نقاط على لوحة Waveshare ESP32-S3-Touch-LCD-2.8

ويكي Waveshare

تقرير اللمس

السجل 0xD000، 7 بايتات لنقطة واحدة

RS-Key

المقاطعة (Interrupt)

مدعومة

ويكي Waveshare، ESPHome (الحافة الهابطة)

الحالة

خارج الإنتاج، وفقًا لـ LilyGO

ملف README الخاص بـ LilyGO T-Deck Pro

لم نستخدم ورقة بيانات من Hynitron لهذه الأرقام. النسخة التي وجدناها على الإنترنت هي تحميل من أحد الموزعين، لذا فإن القيم أعلاه مأخوذة من شيفرة مصدر برنامج التشغيل ووثائق اللوحة.

استبدال CST3530

يقول ملف README الخاص بلوحة T-Deck Pro من LilyGO إن مورّد CST328 "قد أوقف الإنتاج"، لذا تستخدم اللوحات الأحدث T-Deck Pro v1.1 وحدة CST3530. ويضيف أن "الرقاقتين تستخدمان عنوان الجهاز نفسه"، ولذلك يجب على البرنامج الثابت التعرف على الرقاقة أثناء التهيئة. تستخدم LilyGO روتين cst66xx من Hynitron للـ CST3530 وروتين cst3xx للـ CST328.

أجرت لوحة RP2350-Touch-LCD-2.8 من Waveshare التغيير نفسه. يوثّق مشروع RS-Key الإصدار V1 بوحدة CST328 على العنوان 0x1A والإصدار V2 بوحدة CST3530 على العنوان 0x58. على لوحة T-Deck Pro لا يتغير العنوان؛ أما على هذه اللوحة فيتغير.

CST328

CST3530

عنونة السجلات

بايتان

كلمات أوامر بـ 4 بايتات

تقرير اللمس

0xD000، 7 بايتات

0xD0070000، 9 بايتات

الإقرار بعد القراءة

كتابة بايت المزامنة 0xAB

كتابة 0xD00002AB

العنوان على T-Deck Pro

0x1A

0x1A

العنوان على RP2350-Touch-LCD-2.8

0x1A (الإصدار V1)

0x58 (الإصدار V2)

السلوك في وضع الخمول

غير موثّق في المصادر التي اعتمدناها

يدخل في وضع السكون تلقائيًا؛ وتوصي LilyGO باستخدام المقاطعات بدلًا من الاستقصاء المتكرر

استُمدت أعمدة CST3530 من دراجِر RS-Key المدمج، الذي اختبره مؤلفه على لوحة V2، ومن ملف README الخاص بـ LilyGO.

كيف تظهر مشكلة التبادل

كلا المشروعين الذي واجه هذه المشكلة أبلغا عن الشيء نفسه: برنامج التشغيل يعمل والشاشة ترسم، لكن لا يتم تسجيل أي لمسة. وتشير مشكلة reticulum-tdeck إلى أن بعض وحدات T-Deck Pro v1.1 عملت وأخرى لا، وهو ما يتوافق مع تغيير بين دفعات إنتاج وليس مع خطأ في التوصيلات.

فخّان إضافيان:

  • فحص I2C لا يحدد الشريحة. على اللوحة T-Deck Pro تستجيب كلتا الشريحتين على العنوان 0x1A. يفحص مؤلفو reticulum-tdeck ووجود CST3530 أولًا، لأن CST3530 «تستجيب بكل سرور لقراءات سجلات CST328». ويشيرون أيضًا إلى أن هذا الكود لم يُجرَّب بعد على لوحة CST3530. ويُظهر اختبار مكتبي في meshcore-firmware على T-Deck Pro V1.1 الشيء نفسه: القراءة بأسلوب CST328 استُجيب لها لكنها لم تُرجع نوع الشريحة ولا الدقة، بينما أرجعت القراءة بأسلوب CST3530 كتلة صالحة تحمل علامة 0xCA 0xCA ودقة اللوحة 240×320.
  • دراجِرات أخرى قد تدّعي العنوان 0x1A. يذكر طلب دمج مفتوح في Meshtastic أن فحص I2C خَلَط بين شريحة اللمس في T-Deck Pro وجسر DS2482-800، لأن اختبار سجل الحالة تطابق مصادفةً.

هذا نمط شائع مع وحدات تحكم اللمس الصغيرة: يبقى رقم القطعة على اللوحة كما هو بينما تتغير الشريحة. إذا كنت تصنّع بكميات، فاسأل مورّد الشاشات عن شريحة اللمس المركّبة، واطلب منه إخطارك قبل تغييرها. ويشرح قاموس EOL وPCN لدينا ما يجب أن تتضمنه إشعار التغيير.

التشغيل الأولي مع ESPHome

تتطلب منصة cst328 في ESPHome إعداد I2C، وتقبل الخيارين interrupt_pin وreset_pin. عند الإعداد تقوم بما يلي:

  • ترسل نبضة على خط إعادة الضبط خفضًا لمدة 5 ms، ثم تنتظر.
  • تقرأ CRC لبرنامج التشغيل وتتوقع القيمة 0xCACA. عند أي قيمة أخرى تعلّم المكوّن بأنه فاشل.
  • تقرأ نوع الشريحة ومعرّف المشروع ومراجعة برنامج التشغيل والدقة، ثم تحوّل الشريحة إلى الوضع العادي.

فحص CRC هو أول موضع تبحث فيه إذا أبلغ ESPHome عن فشل شاشة اللمس. يستخدم ESPHome قراءات بأسلوب CST328 مع عناوين سجلات من بايتين، وفي الاختبار المكتبي لـ meshcore-firmware لم تُرجع هذه القراءة شيئًا مفيدًا من شريحة CST3530. لذا على لوحة مزوّدة بـ CST3530 توقَّع فشل هذا الفحص. هذا استنتاج منّا: لم نجرّب ESPHome على لوحة CST3530.

دعم الدراجِرات

  • ESPHome: منصة cst328. تذكر وثائقها لوحة Waveshare ESP32-S3 Touch LCD 2.8. ولا تتوفر لها منصة خاصة بـ CST3530.
  • ESP-IDF: تنشر Waveshare المكوّن esp_lcd_touch_cst328 في سجل مكوّنات Espressif. وجدول توافقها يذكر CST328 فقط.
  • Rust: الحزمة cst328 على crates.io، وبرنامج تشغيل RS-Key لكلا الشريحتين.
  • دراجِر Hynitron الرسمي: تربط LilyGO مصدر hyn_driver من Hynitron لكلا الشريحتين.

وحدات تحكم ذات صلة

للمس بإصبع واحد على الشاشات الدائرية، راجع CST816S، وهي أيضًا من Hynitron. للوحات الأكبر بحد أقصى 5 نقاط لمس، راجع GT911.

حل المشكلات والأسئلة الشائعة لـ CST328

اللمس عمل على دفعتي الأولى من اللوحات لكنه معطّل على اللوحات الجديدة. لماذا؟

تحقّق مما إذا كانت شريحة اللمس قد تغيّرت. تقول LilyGO إن دفعات T-Deck Pro v1.1 الأحدث تستخدم CST3530 بدلًا من CST328، على العنوان نفسه 0x1A، كما أن لوحة Waveshare RP2350-Touch-LCD-2.8 V2 انتقلت أيضًا إلى CST3530. وأبلغت المشاريع التي تستخدم دراجِرًا يدعم CST328 فقط عن العَرَض نفسه: الشاشة تعمل ولا يتم تسجيل أي لمسة. لا يستطيع فحص I2C التمييز بين الشريحتين على T-Deck Pro، لذا اقرأ نوع الشريحة أو افحص بروتوكول CST3530 أولًا.

ما هو عنوان I2C لشريحة CST328؟

يذكر جدار منافذ LilyGO للوحة T-Deck Pro العنوان 0x1A، ويُدرج مشروع RS-Key العنوان 0x1A (من 7 بتات) لشريحة CST328 على لوحة Waveshare RP2350-Touch-LCD-2.8 V1. لا تفترض أن CST3530 على العنوان نفسه: فهي على 0x1A في T-Deck Pro لكن على 0x58 في RP2350-Touch-LCD-2.8 V2، وفقًا لـ RS-Key.

هل يمكن لدراجِر واحد دعم كل من CST328 وCST3530؟

نعم، إذا كشف الشريحة. تقول LilyGO إن الطراز «يجب أن يُحدَّد أثناء التهيئة» وتستخدم روتينات تهيئة منفصلة. يفحص مشروع reticulum-tdeck ووجود CST3530 أولًا، لأن CST3530 تستجيب أيضًا لقراءات سجلات CST328؛ ويقول مؤلفوها إن هذا الكود لم يُجرَّب بعد على لوحة CST3530. أما مشروع RS-Key فيختار الشريحة وقت البناء.

المصادر

  1. ملف README للوحة LilyGO T-Deck Pro (الاستبدال من CST328 إلى CST3530، العنوان، التهيئة، المقاطعات)
  2. الإصدار رقم #37 للوحة LilyGO T-Deck Pro: استبدال CST328 بشريحة CST3530
  3. الإصدار رقم #139 لمشروع RS-Key: RP2350-Touch-LCD-2.8 V1 تستخدم CST328 على 0x1A مقابل V2 التي تستخدم CST3530 على 0x58
  4. طلب الدمج رقم #138 لمشروع RS-Key: برنامج تشغيل CST3530 (بلاغ 0xD0070000، إقرار 0xD00002AB)
  5. الإصدار رقم #19 لمشروع reticulum-tdeck: عدم عمل اللمس في بعض وحدات T-Deck Pro v1.1
  6. الإصدار v1.13.0-rc1 من مشروع reticulum-tdeck: ترتيب فحص شريحة CST3530
  7. الإصدار رقم #2108 لمشروع meshcore-firmware: فحص اللمس في T-Deck Pro V1.1 (قراءات cst66xx مقابل cst3xx)
  8. طلب الدمج رقم #11952 لمشروع Meshtastic: شريحة اللمس على 0x1A تُكتشف خطأً بأنها DS2482
  9. وثائق شاشة اللمس CST328 في ESPHome
  10. الكود المصدري cst328_touchscreen.cpp في ESPHome
  11. ويكي لوحة Waveshare ESP32-S3-Touch-LCD-2.8
  12. مكوّن esp_lcd_touch_cst328 من Waveshare

لست متأكدًا من الشاشة التي تناسب تصميمك؟

أرسل لنا المقاس والواجهة ومعالج المضيف. يرد مهندس شاشات خلال 12 ساعة بخيارين أو ثلاثة مع datasheet وكود التهيئة. عينات من قطعة واحدة.