Le FT6336 en un coup d'œil
Élément | Valeur | Source |
|---|---|---|
Points de contact | 2, ou 1 plus gestes | Datasheet FT6336G |
Adresse I2C (7 bits) | | Pilotes Adafruit et Espressif |
SCL I2C | 10 à 400 kHz | Datasheet FT6336G |
Fréquence de rapport | Jusqu'à 100 Hz | Datasheet FT6336G |
Tension de fonctionnement | 2,8 V à 3,6 V | Datasheet FT6336G |
IOVCC | Indépendante, 1,8 V à 3,6 V | Datasheet FT6336G |
Température de fonctionnement | −40 °C à 85 °C | Datasheet FT6336G |
La liste des caractéristiques de la datasheet indique 2,8 V à 3,6 V, tandis que son tableau DC liste VDDA et VDD3 à 2,8 V à 3,3 V. Concevez pour la plage la plus étroite sauf indication contraire de votre fournisseur de modules.
Quel FT6336 avez-vous ?
Composant | Canaux | Boîtier | Taille du panneau |
|---|---|---|---|
FT6336G | 31 | QFN 5×5, 40 broches | Jusqu'à 4.0″ |
FT6336DMB | 36 | QFN 6×6, 48 broches | Jusqu'à 4.5″ |
Ces chiffres proviennent de deux datasheets FocalTech : la FT6336G v1.0 et la série FT6X36 v0.3. Nous n'avons pas trouvé de datasheet pour la FT6336U ; ce que nous en disons tiré du code source du driver.
Lecture d'un point de contact
Le code source FT63x6 d'ESPHome lit ces registres :
Registre | Contenu |
|---|---|
| Mode du périphérique (ESPHome écrit |
| Nombre de contacts, 4 bits de poids faible |
| Événement dans les bits 7:6, bits de poids fort de X dans les bits 3:0 |
| Octet de poids faible de X |
| ID du contact dans les bits 7:4, bits de poids fort de Y dans les bits 3:0 |
| Octet de poids faible de Y |
| Poids du contact |
| Seuil de détection du contact |
| Taux de rafraîchissement en mode actif (ESPHome écrit |
| ID de la puce |
Le second contact suit la même répartition, 6 octets plus haut, à partir de 0x09. ESPHome ignore un nombre de contacts de 0x00 ou 0xFF.
Séquences de reset et de mise sous tension
D'après la datasheet FT6336G :
- Impulsion de reset (Trst) : au moins 5 ms à l'état bas sur RSTN.
- Après le reset (Trsi) : au moins 300 ms avant qu'il commence à signaler des points.
- Après la mise sous tension (Tpon) : au moins 300 ms avant qu'il commence à signaler des points.
- Avant la mise sous tension : maintenir RSTN à l'état bas. Il est également conseillé de maintenir INT et les lignes I2C à l'état bas.
- Coupure d'alimentation : laisser l'alimentation descendre en dessous de 0.3 V pendant plus de 5 ms.
Les drivers divergent sur ce point. Le driver edt-ft5x06 de Linux attend 300 ms après la libération du reset, ce qui correspond à la datasheet. La routine de reset d'ESPHome maintient le reset à l'état bas pendant 10 ms et n'ajoute aucune attente après sa libération. Le driver FT5x06 d'Espressif maintient le reset pendant 10 ms, puis attend 10 ms.
Modes de fonctionnement et I2C
La datasheet liste trois modes :
- Actif : balaye à 60 images par seconde par défaut, et l'hôte peut modifier cette valeur.
- Monitor : balaye à 25 images par seconde par défaut. Un contact le fait repasser en mode Actif. La datasheet indique que « le port série est fermé » dans ce mode.
- Hibernation : mode d'extinction qui nécessite un reset ou un signal de réveil de la part de l'hôte.
La remarque sur le mode Monitor peut avoir son importance pour les scans I2C sur un panneau au repos. Nous ne l'avons pas mesuré nous-mêmes ; à considérer comme une piste à écarter : touchez le panneau pendant le scan.
Symptômes et solutions
Symptôme | Vérification |
|---|---|
Rien sur | Vérifiez que RSTN est à l'état haut, attendez 300 ms après le reset, puis touchez le panneau pendant le scan. Vérifiez ensuite SDA, SCL et les résistances de tirage. |
ESPHome journalise "FT6336U touch driver failed to start" | ESPHome a lu |
La bibliothèque rejette l'ID du chip | Les ID diffèrent selon la référence : Adafruit indique |
Tactile trop sensible ou pas assez sensible | Le registre |
Un troisième doigt n'est pas détecté | C'est la limite du chip : la datasheet et le driver Linux indiquent tous deux 2 points. Pour plus de points, voir GT911. |
Support des drivers
- ESPHome : utilisez la plateforme
ft63x6avecreset_pinetinterrupt_pinen option. Le bus I2C doit être configuré. Sa documentation mentionne la carte WT32-SC01, et son code source journalise FT6336U. - Linux : il n'existe pas d'entrée FT6336. La plus proche est
focaltech,ft6236dans le driver edt-ft5x06, avec 2 points et les propriétéscompatible,regetinterruptsobligatoires. Nous n'avons pas testé cette configuration avec un FT6336. - ESP-IDF : le driver
esp_lcd_touch_ft5x06utilise l'adresse0x38et 100 kHz par défaut. Son code source couvre jusqu'à 5 points et ne mentionne pas le FT6336, vérifiez donc votre référence avant de vous y fier. - Arduino : la bibliothèque FT6206 d'Adafruit définit l'ID du chip du FT6336U et utilise
0x38par défaut.
Contrôleurs associés
Pour le tactile mono-doigt sur écrans ronds, voir CST816S. Pour les panneaux plus grands, voir GT911. La M5Stack Core2 est une carte qui utilise un FT6336U.
Guides et comparatifs
FT6336 : dépannage et FAQ
Quelle est l'adresse I2C du FT6336 ?
Les drivers Adafruit et Espressif utilisent 0x38 (7 bits), et Linux emploie la même valeur dans son exemple de binding pour la famille FT5x06. La datasheet du FT6336G que nous avons consultée ne précise pas l'adresse, confirmez-la donc par un scan I2C sur votre carte.
Pourquoi mon FT6336 ne répond-il pas sur I2C ?
Vérifiez que RSTN est à l'état haut, puis attendez au moins 300 ms après le reset : c'est le minimum indiqué par la datasheet avant qu'il ne signale des points de contact. La datasheet indique aussi que le port série est fermé en mode Monitor, touchez donc le panneau et relancez un scan avant de suspecter le câblage.
Quelle est la différence entre FT6336, FT6336G et FT6336U ?
Les datasheets de FocalTech indiquent le FT6336G avec 31 canaux pour des panneaux jusqu'à 4.0″, et le FT6336DMB avec 36 canaux pour des panneaux jusqu'à 4.5″. Nous n'avons pas trouvé de datasheet pour le FT6336U. La bibliothèque d'Adafruit lui attribue l'ID de chip 0x64, identique à celui du FT6236U.
Sources
- FocalTech : datasheet FT6336G v1.0
- FocalTech : datasheet série FT6X36 v0.3
- ESPHome : écran tactile FT63X6
- ESPHome : code source ft63x6.cpp
- Noyau Linux : drivers/input/touchscreen/edt-ft5x06.c
- Noyau Linux : binding device-tree edt-ft5x06
- Espressif ESP-BSP : pilote esp_lcd_touch_ft5x06
- Adafruit : en-tête de la bibliothèque FT6206