Перейти к содержимому
Display Engineer
Контроллер сенсора · FocalTech

FT6336: настройка и устранение неполадок

FT6336 — контроллер ёмкостного сенсорного экрана (самоёмкость) от FocalTech с интерфейсом I2C, поддержкой до 2 точек касания и частотой опроса до 100 Гц; применяется на небольших сенсорных дисплеях размером примерно до 4″.

DEDisplay Engineer Applications Team · Инженеры по применению дисплеевОбновлено 10 нояб. 2026 г.
ПроизводительFocalTech
ТипКонтроллер сенсора
ИнтерфейсыI2C
Макс. разрешение2 touch points

FT6336 вкратце

Параметр

Значение

Источник

Точки касания

2 или 1 плюс жесты

Даташит FT6336G

I2C-адрес (7 бит)

0x38

Драйверы Adafruit и Espressif

I2C SCL

10–400 кГц

Даташит FT6336G

Частота опроса

До 100 Гц

Даташит FT6336G

Напряжение питания

2,8 В – 3,6 В

Даташит FT6336G

IOVCC

Отдельное, 1,8 В – 3,6 В

Даташит FT6336G

Рабочая температура

от −40 °C до 85 °C

Даташит FT6336G

В списке характеристик даташита указано 2,8 В – 3,6 В, тогда как в таблице режимов по постоянному току VDDA и VDD3 указаны как 2,8 В – 3,3 В. Проектируйте под более узкий диапазон, если поставщик модуля не скажет иное.

Какая у вас версия FT6336?

Модификация

Каналы

Корпус

Размер панели

FT6336G

31

QFN 5×5, 40 выводов

До 4,0″

FT6336DMB

36

QFN 6×6, 48 выводов

До 4,5″

Эти данные взяты из двух документации FocalTech: FT6336G v1.0 и серии FT6X36 v0.3. Datasheet на FT6336U мы не нашли, поэтому сведения о нём получены из исходного кода драйвера.

Чтение данных касания

Исходный код FT63x6 в ESPHome читает следующие регистры:

Регистр

Содержимое

0x00

Режим устройства (ESPHome записывает 0x00)

0x02

Количество касаний, младшие 4 бита

0x03

Событие в битах 7:6, старшие биты X в битах 3:0

0x04

Младший байт X

0x05

ID касания в битах 7:4, старшие биты Y в битах 3:0

0x06

Младший байт Y

0x07

Вес касания

0x80

Порог срабатывания касания

0x88

Частота опроса в активном режиме (ESPHome записывает 0x0E)

0xA3

Chip ID

Второе касание использует ту же структуру со смещением на 6 байт, начиная с 0x09. ESPHome игнорирует количество касаний 0x00 или 0xFF.

Тайминги сброса и включения питания

Из datasheet на FT6336G:

  • Импульс сброса (Trst): не менее 5 мс низкого уровня на RSTN.
  • После сброса (Trsi): не менее 300 мс до начала передачи координат.
  • После включения питания (Tpon): не менее 300 мс до начала передачи координат.
  • Перед подачей питания: удерживайте RSTN на низком уровне. Также рекомендуется удерживать низкими линию INT и линии I2C.
  • Циклы питания: дайте напряжению питания упасть ниже 0.3 В более чем на 5 мс.

Здесь драйверы различаются. Драйвер edt-ft5x06 в Linux ждёт 300 мс после снятия сброса, что соответствует datasheet. Процедура сброса в ESPHome удерживает сброс 10 мс и не добавляет паузы после его снятия. Драйвер FT5x06 от Espressif удерживает сброс 10 мс, затем ждёт 10 мс.

Режимы работы и I2C

В datasheet перечислены три режима:

  • Active: сканирование с частотой по умолчанию 60 кадров в секунду, хост может её изменить.
  • Monitor: сканирование с частотой по умолчанию 25 кадров в секунду. Касание возвращает контроллер в режим Active. Согласно datasheet, в этом режиме «последовательный порт закрыт».
  • Hibernation: режим отключения питания, для выхода из которого требуется сброс или сигнал пробуждения от хоста.

Замечание о режиме Monitor может быть важным при сканировании I2C на панели в режиме ожидания. Мы сами это не измеряли, поэтому рассматривайте это как версию, которую стоит исключить: касайтесь панели во время сканирования.

Симптомы и решения

Симптом

Проверка

По адресу 0x38 ничего нет

Убедитесь, что RSTN в высоком уровне, подождите 300 мс после сброса, затем коснитесь панели во время сканирования. После этого проверьте SDA, SCL и подтягивающие резисторы.

ESPHome пишет в лог "FT6336U touch driver failed to start"

ESPHome считал 0 из регистра 0xA3. Он записывает это в лог и продолжает работу, поэтому проверьте подключение и тайминги сброса.

Библиотека отклоняет ID чипа

ID различаются у разных версий: Adafruit указывает 0x06 для FT6206, 0x36 для FT6236 и 0x64 для FT6236U и FT6336U. Проверьте, какие значения принимает ваша библиотека.

Слишком высокая или слишком низкая чувствительность касаний

Значение регистра 0x80 зависит от панели. Adafruit по умолчанию задаёт 128 — «откалибровано» под её экран 2.8″, а драйвер FT5x06 от Espressif записывает 70. Не думайте, что одно из этих значений подойдёт вашей панели.

Третье касание не регистрируется

Это ограничение самого чипа: и в даташите, и в драйвере Linux указано 2 точки. Если нужно больше точек, см. GT911.

Поддержка драйверов

  • ESPHome: используйте платформу ft63x6 с опциональными reset_pin и interrupt_pin. I2C должен быть настроен. В её документации упоминается плата WT32-SC01, а в исходном коде фигурирует FT6336U.
  • Linux: отдельной записи для FT6336 нет. Ближайший вариант — focaltech,ft6236 в драйвере edt-ft5x06: 2 точки касания и обязательные свойства compatible, reg и interrupts. Мы не тестировали это с FT6336.
  • ESP-IDF: драйвер esp_lcd_touch_ft5x06 по умолчанию использует адрес 0x38 и частоту 100 кГц. Его исходный код поддерживает до 5 точек и не упоминает FT6336, поэтому проверьте свой компонент, прежде чем на него полагаться.
  • Arduino: библиотека FT6206 от Adafruit определяет ID чипа FT6336U и по умолчанию использует адрес 0x38.

Смежные контроллеры

Для одноточечного касания на круглых дисплеях см. CST816S. Для более крупных панелей см. GT911. M5Stack Core2 — одна из плат, использующих FT6336U, — см. M5Stack Core2.

Руководства и сравнения

FT6336: устранение неисправностей и FAQ

Какой I2C-адрес у FT6336?

Драйверы Adafruit и Espressif используют адрес 0x38 (7-битный), и Linux использует то же значение в примере биндинга для семейства FT5x06. В прочитанном нами даташите FT6336G адрес не указан, поэтому подтвердите его I2C-сканированием на своей плате.

Почему мой FT6336 не отвечает по I2C?

Убедитесь, что RSTN в высоком уровне, затем подождите не менее 300 мс после сброса: это минимум по даташиту, прежде чем контроллер начнёт сообщать точки касания. В даташите также сказано, что в режиме Monitor последовательный порт закрыт, поэтому коснитесь панели и выполните сканирование ещё раз, прежде чем подозревать подключение.

В чём разница между FT6336, FT6336G и FT6336U?

В даташитах FocalTech указано, что FT6336G имеет 31 канал для панелей до 4.0″, а FT6336DMB — 36 каналов для панелей до 4.5″. Даташит на FT6336U мы не нашли. Библиотека Adafruit присваивает ему ID чипа 0x64 — тот же, что у FT6236U.

Источники

  1. FocalTech: даташит FT6336G v1.0
  2. FocalTech: даташит серии FT6X36 v0.3
  3. ESPHome: FT63X6 touchscreen
  4. ESPHome: исходный код ft63x6.cpp
  5. Ядро Linux: drivers/input/touchscreen/edt-ft5x06.c
  6. Ядро Linux: биндинг device-tree edt-ft5x06
  7. Espressif ESP-BSP: драйвер esp_lcd_touch_ft5x06
  8. Adafruit: заголовочный файл библиотеки FT6206

Не знаете, какой дисплей подойдёт вашему проекту?

Пришлите размер, интерфейс и хост-процессор. Инженер по дисплеям в течение 12 часов ответит с 2–3 вариантами, даташитами и кодом инициализации. Образцы от 1 шт.