Rumah > Berita > Konten

Bridgetek BT81X (815/6) Mesin EVE Layar Sentuh Lanjut

May 09, 2019

Mesin layar sentuh BT815 / 6 mendukung panel sentuh resistif dan kapasitif. BT816 mendukung
Sentuhan resistif, sementara BT815 mendukung sentuhan kapasitif.

4.8.1 Kontrol Sentuh Resistif

Layar sentuh resistif terdiri dari mesin layar sentuh, ADC, Axis-switch, dan input ADC
multiplexer. Mesin layar sentuh membaca perintah dari register peta memori dan menghasilkan
diperlukan sinyal kontrol ke sumbu-switch dan input mux dan ADC. Data ADC diperoleh,
diproses dan diperbarui dalam register masing-masing untuk dibaca MPU / MCU.

image

Tuan rumah mengontrol mode operasi TOUCH SCREEN ENGINE dengan menulis REG_TOUCH_MODE.

image

Mesin Layar Sentuh menangkap koordinat X dan Y dan menulis untuk mendaftarkan REG_TOUCH_RAW
XY. Kisaran nilai-nilai ini adalah 0-1023. Jika layar sentuh tidak ditekan, kedua register membaca
65535 (FFFFh).
Nilai-nilai sentuh ini ditransformasikan menjadi koordinat layar menggunakan matriks dalam register
REG_TOUCH_TRANSFORM_A-F. Koordinat pasca-transformasi tersedia dalam register
REG_TOUCH_SCREEN_XY. Jika layar sentuh tidak ditekan, kedua register membaca -32768 (8000 jam).
Nilai untuk REG TOUCH TRANSFORM AF dapat dihitung menggunakan proses kalibrasi di layar.
Jika layar disentuh, koordinat layar akan terlihat di buffer tag layar, menghasilkan
nilai tag 8-bit terakhir, di REG TOUCH TAG. Karena pencarian tag membutuhkan bingkai penuh, dan sentuh
koordinat berubah terus menerus, dokumen asli (x; y) yang digunakan untuk pencarian tag juga tersedia di
REG_TOUCH_TAG_XY.
Tekanan layar sentuh tersedia di REG_TOUCH_RZ. Nilainya relatif terhadap resistensi sentuhan
kontak, nilai yang lebih rendah menunjukkan lebih banyak tekanan. Register default ke 32767 ketika sentuhan tidak
terdeteksi. REG_TOUCH_THRESHOLD dapat diatur untuk menerima sentuhan hanya ketika ambang paksa
terlampaui.

4.8.2 Kontrol Sentuh Kapasitif

Capacitive Touch Screen Engine (CTSE) dari BT815 berkomunikasi dengan kapasitif eksternal
modul panel sentuh (CTPM) melalui antarmuka I 2 C. CTPM akan menegaskan garis interupsi saat ada
sentuhan terdeteksi. Setelah mendeteksi jalur CTP_INT_N aktif, BT815 / 6 akan membaca data sentuhan
I 2 C. Hingga 5 sentuhan dapat dilaporkan dan disimpan dalam register BT815.
BT815 CTSE mendukung pengontrol sentuh Focaltech dan Goodix, serta mode host sentuh (lihat
bagian 4.8.7). Untuk daftar CTPM yang didukung, lihat AN_336 FT8xx - Memilih Layar LCD .
BT815 menggunakan nilai alamat I2C dalam register REG_TOUCH_CONFIG untuk membedakan Focaltech atau
Pengontrol sentuh Goodix. Untuk Focaltech IC, alamat I2C harus ditetapkan sebagai 0x38-0x3F (contoh:
REG_TOUCH_CONFIG = 0x0380), sedangkan untuk Goodix IC alamat I2C harus ditetapkan sebagai 0x5D (contoh:
REG_TOUCH_CONFIG = 0x05D0).

image

Tuan rumah mengontrol mode operasi CTSE dengan menulis REG_CTOUCH_MODE.

image

BT815 CTSE mendukung mode kompatibilitas dan mode lanjutan. Secara default CTSE berjalan di
mode kompatibilitas di mana sistem sentuh menyediakan antarmuka yang sangat mirip dengan sentuhan resistif
mesin. Dalam mode extended, makna register sentuh dimodifikasi, dan set register kedua adalah
terbuka. Ini memungkinkan deteksi multi-sentuh (hingga 5 sentuhan).

4.8.3 Mode Kompatibilitas

CTSE membaca koordinat X dan Y dari CTPM dan menulis untuk mendaftarkan REG_CTOUCH_RAW_XY. Jika
layar sentuh tidak ditekan, kedua register membaca 65535 (FFFFh).

Nilai-nilai sentuh ini ditransformasikan menjadi koordinat layar menggunakan matriks dalam register
REG_CTOUCH_TRANSFORM_A-F. Koordinat pasca-transformasi tersedia dalam register
REG_CTOUCH_SCREEN_XY. Jika layar sentuh tidak ditekan, kedua register membaca -32768 (8000 jam).
Nilai untuk REG_CTOUCH_TRANSFORM_A-F dapat dihitung dengan menggunakan proses kalibrasi di layar.
Jika layar disentuh, koordinat layar akan terlihat di buffer tag layar, menghasilkan
nilai tag 8-bit terakhir, di REG_TOUCH_TAG. Karena pencarian tag membutuhkan bingkai penuh, dan sentuh
koordinat berubah terus menerus, dokumen asli (x; y) yang digunakan untuk pencarian tag juga tersedia di
REG_TOUCH_TAG_XY.

4.8.4 Mode Extended

Mengatur REG_CTOUCH_EXTENDED ke 1b'0 memungkinkan mode diperluas. Dalam mode extended, satu set baru
register pembacaan tersedia, memungkinkan gerakan dan hingga lima sentuhan untuk dibaca. Ada dua
kelas register: register kontrol dan register status. Register kontrol ditulis oleh MCU.
Register status dapat dibaca oleh MCU dan sistem tag perangkat keras BT815 / 6.
Kelima koordinat sentuh dikemas dalam REG_CTOUCH_TOUCH0_XY, REG_CTOUCH_TOUCH1_XY,
REG_CTOUCH_TOUCH2_XY, REG_CTOUCH_TOUCH3_XY, REG_CTOUCH4_X dan REG_CTOUCH4_Y.
Koordinat yang disimpan dalam register ini ditandatangani dengan nilai 16-bit, sehingga memiliki kisaran -32768 hingga 32767.
kondisi tanpa-sentuh ditunjukkan oleh x = y = -32768. Koordinat ini sudah diubah menjadi layar
koordinat berdasarkan data mentah yang dibaca dari CTPM, menggunakan matriks dalam register
REG_CTOUCH_TRANSFORM_A-F. Untuk mendapatkan koordinat mentah (x, y) yang dibaca dari CTPM, pengguna menetapkan
REG_CTOUCH_TRANSFORM_A-F mendaftar ke matriks identitas.
Mekanisme tag BT815 / 6 diimplementasikan oleh perangkat keras, di mana hingga 5 tag dapat dilihat.


4.8.5 Perlindungan Sirkuit Pendek

Untuk sentuhan resistif, berguna untuk melindungi chip dari kerusakan permanen karena potensi hubungan arus pendek
pada 4 baris XY. Ketika terjadi hubungan pendek pada layar sentuh, BT816 dapat mendeteksi dan menghentikannya
operasi deteksi sentuh, meninggalkan 4 pin XY dalam keadaan impedansi tinggi.
Perlindungan korsleting dapat diaktifkan / dinonaktifkan oleh REG_TOUCH_CONFIG.


4.8.6 Konfigurasi Sentuhan Kapasitif

Pada sistem sentuh kapasitif beberapa pengguna mungkin perlu menyesuaikan nilai default CTPM, seperti
register yang memengaruhi sensitivitas sentuhan. Untuk melakukan ini, urutan berikut harus dijalankan satu kali setelah chip
atur ulang:
- Pegang mesin sentuh dalam pengaturan ulang (atur REG_CPURESET = 2)
- Tuliskan CTPM mengkonfigurasi alamat register dan nilai ke lokasi memori yang ditunjuk BT815
- Hingga 10 alamat register / nilai dapat ditambahkan
- Lepaskan pengaturan ulang mesin sentuh (atur REG_CPURESET = 0)
CTPM dapat diaktifkan dalam kondisi daya rendah ketika fungsi sentuh tidak diperlukan oleh aplikasi.
Mengatur bit daya rendah di REG_TOUCH_CONFIG akan mengaktifkan mode daya rendah dari CTPM. Kapan
bit berdaya rendah dihapus, mesin sentuh BT815 akan mengirim reset ke CTPM, sehingga mengaktifkan kembali
fungsi deteksi sentuh.


4.8.7 Host Multi-Touch Didorong

Jika MCU host dapat memberikan input sentuh, ia dapat memasoknya langsung ke BT815 menggunakan host sentuh
mode. Dengan menggunakan mode host sentuh, aplikasi dapat memilih untuk memilih pengontrol sentuh yang tidak ada dalam menu
Daftar dukungan langsung BT815. Misalnya, mode Touch Host akan memungkinkan pengontrol digunakan dari yang lain
produsen di luar Focaltech dan Goodix.
Untuk menggunakan mode host sentuh, MCU host harus terhubung ke panel sentuh secara langsung. Sentuhan empat
pin terkait dari BT815 dapat dibiarkan tidak terhubung pada PCB. Host MCU bertanggung jawab untuk berkomunikasi dengan pengontrol sentuh, mengambil data sentuh saat dilaporkan, dan menulis data sentuh ke BT815 untuk pencarian dan pelaporan TAG sentuh.

Mode host sentuh dapat dimasukkan dengan mengatur bit 14 di register REG_TOUCH_CONFIG dan mengatur ulang
mesin sentuh:
- Pegang mesin sentuh dalam pengaturan ulang (atur REG_CPURESET = 2)
- Tulis 1 hingga bit 14 di REG_TOUCH_CONFIG (atur REG_TOUCH_CONFIG = 0x4000)
- Lepaskan pengaturan ulang mesin sentuh (atur REG_CPURESET = 0)

image

Dalam mode host sentuh, host memasok informasi sentuh melalui empat register:

image

Tuan rumah menulis koordinat dan ID mentah (x; y) ke register di atas. Hingga 5 sentuhan dapat diatur, menggunakan
sentuh ID 0-4. Tuan rumah menunjukkan tidak ada sentuhan dengan memasok koordinat (0x8000; 0x8000). Ketika tuan rumah
menulis 0xf ke register ID, BT815 menetapkan register ACK ke 0, mengubah semua koordinat mentah, dan
menulis hasilnya ke register sentuh biasa.
Kodesemu:

tunggu hingga REG_EHOST_TOUCH_ACK adalah 1

untuk setiap sentuhan:

tulis x koordinasikan ke REG_EHOST_TOUCH_X

tulis kamu koordinasikan ke REG_EHOST_TOUCH_Y

tulis id ke REG_EHOST_TOUCH_ID

tulis 0xf ke REG_EHOST_TOUCH_ID

Segera setelah BT815 mengkonversi koordinat, ia menulis 1 ke register ACK dan menetapkan INT_CONV
Bendera interupsi _COMPLETE.


ID harus nol dalam mode kompatibilitas sentuh. Tuan rumah harus menunjukkan tidak ada sentuhan sama sekali dengan menulis
(0x8000; 0x8000) dengan ID 0.
Dalam mode yang diperluas, beberapa sentuhan dapat dikirim dalam urutan apa pun. ID apa pun yang tidak ditugaskan diasumsikan
jangan ditekan. Sekali lagi, tuan rumah harus menunjukkan tidak ada sentuhan sama sekali dengan menulis (0x8000; 0x8000) dengan ID 0.
Tuan rumah dapat menggunakan tiga metode untuk memastikan bahwa BT815 siap menerima input sentuh:

1. polling daftar ACK sampai 1

2. gunakan bendera interupsi INT_CONV_COMPLETE

3. pasokan menyentuh lebih lambat dari 1000 Hz, karena BT815 menjamin untuk memproses sentuhan di bawah 1 ms. Perhatikan bahwa tingkat laporan dari panel sentuh kapasitif adalah sekitar 100 Hz


Seperti driver kapasitif langsung, mode host sentuh ini berfungsi saat REG_CTOUCH_EXTENDED keduanya
CTOUCH_MODE_EXTENDED dan CTOUCH_MODE_COMPATIBILITY. CTOUCH_MODE_COMPATIBILITY
harus digunakan untuk prosedur kalibrasi, sama seperti ketika menggunakan dukungan kapasitif asli. Setelah berubah
mode, mesin sentuh BT815 harus diatur ulang.


4.8.8 Sentuh Deteksi dalam kondisi non-AKTIF

Ketika BT815 / 6 tidak dalam keadaan AKTIF, acara sentuh masih dapat dideteksi dan dilaporkan ke tuan rumah
melalui pin INT_N. Dengan kata lain, acara sentuh dapat membangunkan tuan rumah jika diperlukan.
Untuk sentuhan resistif, pin INT_N akan dinyatakan rendah saat layar disentuh, apa pun itu
pengaturan register interupsi. Ini akan terjadi ketika BT816 dalam keadaan STANDBY atau SLEEP, tetapi tidak
dalam status POWERDOWN.
Untuk sentuhan kapasitif, pin INT_N akan mengikuti pin CTP_INT_N saat BT815 berada di STANDBY, SLEEP atau
Status POWERDOWN.