Il FT6336 in sintesi
Voce | Valore | Fonte |
|---|---|---|
Punti di tocco | 2, oppure 1 più gesti | Datasheet FT6336G |
Indirizzo I2C (7 bit) | | Driver Adafruit ed Espressif |
I2C SCL | 10 a 400 kHz | Datasheet FT6336G |
Frequenza di riporto | Fino a 100 Hz | Datasheet FT6336G |
Tensione di funzionamento | Da 2,8 V a 3,6 V | Datasheet FT6336G |
IOVCC | Indipendente, da 1,8 V a 3,6 V | Datasheet FT6336G |
Temperatura di funzionamento | da −40 °C a 85 °C | Datasheet FT6336G |
L'elenco delle caratteristiche del datasheet indica da 2,8 V a 3,6 V, mentre la tabella DC riporta VDDA e VDD3 come da 2,8 V a 3,3 V. Progettare per l'intervallo più ristretto, salvo indicazioni diverse del fornitore del modulo.
Quale FT6336 avete?
Componente | Canali | Package | Dimensione pannello |
|---|---|---|---|
FT6336G | 31 | QFN 5×5, 40 pin | Fino a 4,0″ |
FT6336DMB | 36 | QFN 6×6, 48 pin | Fino a 4,5″ |
Questi dati provengono da due datasheet FocalTech: l'FT6336G v1.0 e la serie FT6X36 v0.3. Non abbiamo trovato un datasheet per l'FT6336U, quindi ciò che riportiamo al suo proposito deriva dal codice sorgente del driver.
Lettura di un tocco
Il sorgente FT63x6 di ESPHome legge questi registri:
Registro | Contenuto |
|---|---|
| Modalità del dispositivo (ESPHome scrive |
| Numero di tocchi, 4 bit bassi |
| Evento nei bit 7:6, bit alti di X nei bit 3:0 |
| Byte basso di X |
| ID del tocco nei bit 7:4, bit alti di Y nei bit 3:0 |
| Byte basso di Y |
| Peso del tocco |
| Soglia del tocco |
| Frequenza di scansione in modalità attiva (ESPHome scrive |
| ID del chip |
Il secondo tocco usa lo stesso schema, 6 byte più in alto, a partire da 0x09. ESPHome ignora un numero di tocchi pari a 0x00 o 0xFF.
Timing di reset e accensione
Dal datasheet dell'FT6336G:
- Impulso di reset (Trst): almeno 5 ms basso su RSTN.
- Dopo il reset (Trsi): almeno 300 ms prima che inizi a riportare i punti.
- Dopo l'accensione (Tpon): almeno 300 ms prima che inizi a riportare i punti.
- Prima dell'accensione: tenere RSTN basso. Si consiglia di tenere bassi anche INT e le linee I2C.
- Ciclo di alimentazione: lasciare che l'alimentazione scenda sotto 0,3 V per più di 5 ms.
I driver differiscono su questo punto. Il driver edt-ft5x06 di Linux attende 300 ms dopo il rilascio del reset, in accordo con il datasheet. La routine di reset di ESPHome tiene il reset basso per 10 ms e non aggiunge alcuna attesa dopo il rilascio. Il driver FT5x06 di Espressif tiene il reset per 10 ms, quindi attende 10 ms.
Modalità di funzionamento e I2C
Il datasheet elenca tre modalità:
- Attiva: esegue la scansione a un valore predefinito di 60 fotogrammi al secondo, e l'host può modificare questo valore.
- Monitor: esegue la scansione a un valore predefinito di 25 fotogrammi al secondo. Un tocco la riporta in modalità Attiva. Il datasheet indica che "la porta seriale è chiusa" in questa modalità.
- Ibernazione: modalità di power-down che richiede un reset o un segnale di wake-up dall'host.
La nota sulla modalità Monitor può essere rilevante per le scansioni I2C su un pannello inattivo. Non l'abbiamo misurata personalmente, quindi consideratela come un'ipotesi da escludere: toccate il pannello durante la scansione.
Sintomi e soluzioni
Sintomo | Verifica |
|---|---|
Nulla all'indirizzo | Verificare che RSTN sia alto, attendere 300 ms dopo il reset, quindi toccare il pannello durante la scansione. Controllare poi SDA, SCL e le resistenze di pull-up. |
ESPHome registra "FT6336U touch driver failed to start" | ESPHome legge |
La libreria rifiuta l'ID del chip | Gli ID variano in base al modello: Adafruit elenca |
Touch troppo sensibile o non abbastanza sensibile | Il registro |
Un terzo dito non viene rilevato | È un limite del chip: sia il datasheet che il driver Linux indicano 2 punti. Per più punti, vedere GT911. |
Supporto driver
- ESPHome: usare la piattaforma
ft63x6con i facoltativireset_pineinterrupt_pin. L'I2C deve essere configurato. La documentazione cita la scheda WT32-SC01 e il codice sorgente registra FT6336U. - Linux: non esiste una voce per FT6336. La più vicina è
focaltech,ft6236nel driver edt-ft5x06, con 2 punti e le proprietà obbligatoriecompatible,regeinterrupts. Non abbiamo testato questa configurazione con un FT6336. - ESP-IDF: il driver
esp_lcd_touch_ft5x06usa l'indirizzo0x38e 100 kHz come predefiniti. Il suo codice sorgente copre fino a 5 punti e non cita il FT6336, quindi verificare il proprio modello prima di affidarsi ad esso. - Arduino: la libreria FT6206 di Adafruit definisce l'ID del chip del FT6336U e usa
0x38come predefinito.
Controller correlati
Per il touch a un dito su display rotondi, vedere CST816S. Per pannelli più grandi, vedere GT911. Il M5Stack Core2 è una delle schede che impiega un FT6336U.
Guide e confronti
FT6336: risoluzione dei problemi e FAQ
Qual è l'indirizzo I2C del FT6336?
I driver Adafruit ed Espressif usano 0x38 (a 7 bit), e Linux usa lo stesso valore nell'esempio di binding della famiglia FT5x06. Il datasheet del FT6336G che abbiamo consultato non indica l'indirizzo, quindi confermarlo con una scansione I2C sulla propria scheda.
Perché il mio FT6336 non risponde sull'I2C?
Verificare che RSTN sia alto, quindi attendere almeno 300 ms dopo il reset: è il valore minimo indicato nel datasheet prima che riporti i punti. Il datasheet precisa inoltre che la porta seriale è chiusa in modalità Monitor, quindi toccare il pannello ed eseguire di nuovo la scansione prima di sospettare il cablaggio.
Qual è la differenza tra FT6336, FT6336G e FT6336U?
I datasheet di FocalTech elencano il FT6336G con 31 canali per pannelli fino a 4.0″ e il FT6336DMB con 36 canali per pannelli fino a 4.5″. Non abbiamo trovato un datasheet per il FT6336U. La libreria di Adafruit gli assegna l'ID chip 0x64, lo stesso del FT6236U.
Fonti
- FocalTech: datasheet FT6336G v1.0
- FocalTech: datasheet serie FT6X36 v0.3
- ESPHome: touchscreen FT63X6
- ESPHome: sorgente ft63x6.cpp
- Kernel Linux: drivers/input/touchscreen/edt-ft5x06.c
- Kernel Linux: binding device-tree edt-ft5x06
- Espressif ESP-BSP: driver esp_lcd_touch_ft5x06
- Adafruit: header della libreria FT6206