CST328 secara ringkas
Item | Nilai | Sumber |
|---|---|---|
Antarmuka | I2C, alamat register 16-bit | Driver ESPHome, RS-Key |
Alamat I2C (7-bit) | | Tabel pin LilyGO T-Deck Pro, RS-Key |
Titik sentuh | 5 pada Waveshare ESP32-S3-Touch-LCD-2.8 | Wiki Waveshare |
Laporan sentuhan | Register | RS-Key |
Interrupt | Didukung | Wiki Waveshare, ESPHome (falling edge) |
Status | Berhenti diproduksi, menurut LilyGO | README LilyGO T-Deck Pro |
Kami tidak menggunakan datasheet Hynitron untuk angka-angka ini. Salinan yang kami temukan online adalah unggahan reseller, sehingga nilai-nilai di atas berasal dari source code driver dan dokumentasi board.
Penggantian ke CST3530
README T-Deck Pro dari LilyGO menyatakan bahwa pemasok CST328 "telah menghentikan produksi", sehingga board T-Deck Pro v1.1 yang lebih baru menggunakan CST3530. README tersebut menambahkan bahwa "kedua chip menggunakan alamat perangkat yang sama", sehingga firmware harus mengidentifikasi chip tersebut saat inisialisasi. LilyGO menggunakan rutin cst66xx dari Hynitron untuk CST3530 dan cst3xx untuk CST328.
Waveshare RP2350-Touch-LCD-2.8 melakukan perubahan yang sama. Proyek RS-Key mendokumentasikan V1 dengan CST328 pada 0x1A dan V2 dengan CST3530 pada 0x58. Pada T-Deck Pro alamatnya tidak berubah; pada board ini alamatnya berubah.
| CST328 | CST3530 |
|---|---|---|
Pengalamatan register | 2 byte | Kata perintah 4 byte |
Laporan sentuhan | | |
Acknowledge setelah read | Tulis byte sinkronisasi | Tulis |
Alamat pada T-Deck Pro | | |
Alamat pada RP2350-Touch-LCD-2.8 | | |
Perilaku saat idle | Tidak terdokumentasi pada sumber yang kami gunakan | Sleep otomatis; LilyGO merekomendasikan interrupt daripada polling |
Kolom CST3530 berasal dari driver gabungan RS-Key yang diuji pembuatnya pada board V2, dan dari README LilyGO.
Bagaimana gejala penukaran chip terlihat
Kedua proyek yang mengalami masalah ini melaporkan hal yang sama: firmware berjalan dan display menampilkan gambar, tetapi tidak ada sentuhan yang terdeteksi. Isu reticulum-tdeck menyebutkan beberapa unit T-Deck Pro v1.1 berfungsi dan yang lain tidak, yang sesuai dengan perubahan antar batch produksi, bukan karena kesalahan wiring.
Dua jebakan lainnya:
- Pemindaian I2C tidak mengidentifikasi chip. Pada T-Deck Pro kedua chip merespons di
0x1A. Penulis reticulum-tdeck melakukan probe CST3530 terlebih dahulu, karena CST3530 "dengan senang hati mengakui pembacaan register CST328". Mereka juga menyatakan kode ini belum pernah dijalankan pada board CST3530. Uji bench meshcore-firmware pada T-Deck Pro V1.1 menunjukkan hal yang sama: pembacaan gaya CST328 diakui tetapi tidak mengembalikan tipe chip maupun resolusi, sedangkan pembacaan gaya CST3530 mengembalikan blok valid dengan penanda0xCA 0xCAdan resolusi panel 240×320. - Driver lain bisa mengira chip itu
0x1A. Sebuah pull request Meshtastic terbuka melaporkan bahwa pemindaian I2C-nya mengira chip sentuh T-Deck Pro sebagai bridge DS2482-800, karena pengujian register status kebetulan cocok.
Ini pola yang umum pada controller sentuh kecil: nomor part di board tetap sama sementara chipnya berganti. Jika Anda memproduksi dalam jumlah besar, tanyakan kepada pemasok display Anda IC sentuh apa yang terpasang, dan minta agar diberi tahu sebelum diubah. Glosarium EOL dan PCN kami menjelaskan apa saja yang seharusnya terkandung dalam change notice.
Bring-up dengan ESPHome
Platform cst328 milik ESPHome membutuhkan konfigurasi I2C serta menerima interrupt_pin dan reset_pin opsional. Proses setup-nya melakukan hal berikut:
- Memberi pulsa reset low selama 5 ms, lalu menunggu.
- Membaca CRC firmware dan mengharapkan
0xCACA. Pada nilai lain, komponen ditandai gagal. - Membaca tipe chip, project ID, revisi firmware, dan resolusi, lalu mengalihkan chip ke mode normal.
Pemeriksaan CRC adalah hal pertama yang diperiksa jika ESPHome melaporkan touchscreen gagal. ESPHome menggunakan pembacaan CST328 dengan alamat register 2 byte, dan pada uji bench meshcore-firmware pembacaan seperti itu tidak mengembalikan apa pun yang berguna dari CST3530. Jadi pada board dengan CST3530, harapkan pemeriksaan ini gagal. Ini adalah kesimpulan kami: kami belum menjalankan ESPHome pada board CST3530.
Dukungan driver
- ESPHome: platform
cst328. Dokumentasinya menyebutkan board Waveshare ESP32-S3 Touch LCD 2.8. Tidak ada platform CST3530 di sana. - ESP-IDF: Waveshare menerbitkan
esp_lcd_touch_cst328di component registry Espressif. Tabel kompatibilitasnya hanya mencantumkan CST328. - Rust: crate
cst328di crates.io, serta firmware RS-Key untuk kedua chip. - Driver milik Hynitron sendiri: LilyGO menautkan sumber
hyn_drivermilik Hynitron untuk kedua chip.
Controller terkait
Untuk sentuhan satu jari pada display bulat, lihat CST816S, juga dari Hynitron. Untuk panel lebih besar dengan hingga 5 titik sentuh, lihat GT911.
CST328: troubleshooting & FAQ
Touch bekerja pada batch board pertama saya tetapi mati pada yang baru. Mengapa?
Periksa apakah chip sentuhnya berganti. LilyGO menyatakan batch T-Deck Pro v1.1 yang lebih baru menggunakan CST3530 sebagai pengganti CST328, pada alamat yang sama 0x1A, dan Waveshare RP2350-Touch-LCD-2.8 V2 juga beralih ke CST3530. Proyek dengan driver khusus CST328 melaporkan gejala yang sama: display bekerja tetapi tidak ada sentuhan yang terdeteksi. Pemindaian I2C tidak dapat membedakan kedua chip pada T-Deck Pro, jadi bacalah tipe chip atau lakukan probe protokol CST3530 terlebih dahulu.
Berapa alamat I2C CST328?
Tabel pin T-Deck Pro milik LilyGO memberikan 0x1A, dan proyek RS-Key mencantumkan 0x1A (7-bit) untuk CST328 pada Waveshare RP2350-Touch-LCD-2.8 V1. Jangan berasumsi CST3530 berada di alamat yang sama: alamatnya 0x1A pada T-Deck Pro tetapi 0x58 pada RP2350-Touch-LCD-2.8 V2, menurut RS-Key.
Bisakah satu driver mendukung CST328 dan CST3530 sekaligus?
Ya, jika driver mendeteksi chipnya. LilyGO menyatakan modelnya "harus diidentifikasi saat inisialisasi" dan menggunakan rutinitas init yang terpisah. Proyek reticulum-tdeck melakukan probe CST3530 terlebih dahulu, karena CST3530 juga mengakui pembacaan register CST328; penulisnya menyatakan ini belum pernah dijalankan pada board CST3530. Proyek RS-Key sebaliknya memilih chip saat build.
Sumber
- README LilyGO T-Deck Pro (CST328 ke CST3530, alamat, init, interrupt)
- Issue #37 LilyGO T-Deck Pro: CST3530 menggantikan CST328
- Issue #139 RS-Key: RP2350-Touch-LCD-2.8 V1 CST328 0x1A vs V2 CST3530 0x58
- PR #138 RS-Key: driver CST3530 (report 0xD0070000, ack 0xD00002AB)
- Issue #19 reticulum-tdeck: sentuhan T-Deck Pro v1.1 tidak berfungsi pada beberapa unit
- reticulum-tdeck v1.13.0-rc1: urutan probe CST3530
- Issue #2108 meshcore-firmware: probe sentuhan T-Deck Pro V1.1 (pembacaan cst66xx vs cst3xx)
- PR #11952 Meshtastic: chip sentuh di 0x1A terdeteksi salah sebagai DS2482
- Dokumentasi touchscreen CST328 ESPHome
- Kode sumber cst328_touchscreen.cpp ESPHome
- Wiki Waveshare ESP32-S3-Touch-LCD-2.8
- Komponen esp_lcd_touch_cst328 Waveshare