FT6336 개요
항목 | 값 | 출처 |
|---|---|---|
터치 포인트 | 2점, 또는 1점 + 제스처 | FT6336G 데이터시트 |
I2C 주소 (7비트) | | Adafruit 및 Espressif 드라이버 |
I2C SCL | 10~400 kHz | FT6336G 데이터시트 |
리포트 레이트 | 최대 100 Hz | FT6336G 데이터시트 |
동작 전압 | 2.8 V ~ 3.6 V | FT6336G 데이터시트 |
IOVCC | 독립 전원, 1.8 V ~ 3.6 V | FT6336G 데이터시트 |
동작 온도 | −40 °C ~ 85 °C | FT6336G 데이터시트 |
데이터시트의 특징 목록에는 2.8 V ~ 3.6 V로 기재되어 있지만, DC 특성 표에는 VDDA와 VDD3가 2.8 V ~ 3.3 V로 명시되어 있습니다. 모듈 공급사가 별도로 안내하지 않는 한 좁은 범위(2.8 V ~ 3.3 V) 기준으로 설계하시기 바랍니다.
어떤 FT6336을 사용하시나요?
부품 | 채널 수 | 패키지 | 패널 크기 |
|---|---|---|---|
FT6336G | 31 | QFN 5×5, 40핀 | 최대 4.0″ |
FT6336DMB | 36 | QFN 6×6, 48핀 | 최대 4.5″ |
이 수치들은 FocalTech의 두 데이터시트, 즉 FT6336G v1.0과 FT6X36 시리즈 v0.3에서 가져온 것입니다. FT6336U용 데이터시트는 찾지 못했으므로 이와 관련된 내용은 드라이버 소스 코드를 근거로 한 것입니다.
터치 값 읽기
ESPHome의 FT63x6 소스 코드는 다음 레지스터를 읽습니다:
레지스터 | 내용 |
|---|---|
| 디바이스 모드 (ESPHome은 |
| 터치 수, 하위 4비트 |
| 비트 7:6에 이벤트, 비트 3:0에 X 상위 비트 |
| X 하위 바이트 |
| 비트 7:4에 터치 ID, 비트 3:0에 Y 상위 비트 |
| Y 하위 바이트 |
| 터치 가중치(weight) |
| 터치 임계값 |
| Active 모드 터치 보고 주기 (ESPHome은 |
| 칩 ID |
두 번째 터치는 동일한 레이아웃으로 0x09부터 6바이트 위에 위치합니다. ESPHome은 터치 수가 0x00 또는 0xFF인 경우 무시합니다.
리셋 및 전원 인가 타이밍
FT6336G 데이터시트에 따르면:
- 리셋 펄스 (Trst): RSTN을 최소 5 ms 동안 Low로 유지합니다.
- 리셋 후 (Trsi): 좌표 보고를 시작하기까지 최소 300 ms가 필요합니다.
- 전원 인가 후 (Tpon): 좌표 보고를 시작하기까지 최소 300 ms가 필요합니다.
- 전원 인가 전: RSTN을 Low로 유지합니다. INT 및 I2C 라인도 Low로 유지하는 것이 권장됩니다.
- 전원 재인가: 전원이 0.3 V 미만으로 5 ms 이상 유지되도록 합니다.
드라이버마다 동작이 다릅니다. Linux의 edt-ft5x06 드라이버는 리셋 해제 후 300 ms를 대기하며, 이는 데이터시트와 일치합니다. ESPHome의 리셋 루틴은 리셋을 10 ms 동안 Low로 유지하지만, 해제 후에는 별도의 대기 시간을 두지 않습니다. Espressif의 FT5x06 드라이버는 리셋을 10 ms 동안 유지한 뒤 10 ms를 대기합니다.
동작 모드와 I2C
데이터시트에는 세 가지 모드가 기술되어 있습니다:
- Active: 기본값인 초당 60프레임으로 스캔하며, 호스트가 이 주기를 변경할 수 있습니다.
- Monitor: 기본값인 초당 25프레임으로 스캔합니다. 터치가 발생하면 Active 모드로 복귀합니다. 데이터시트는 이 모드에서 "시리얼 포트가 닫힌다"고 기술합니다.
- Hibernation: 전원 차단 모드로, 호스트로부터의 리셋 또는 웨이크업 신호가 필요합니다.
Monitor 모드 관련 주의사항은 대기 상태의 패널에서 I2C 스캔을 수행할 때 문제가 될 수 있습니다. 우리가 직접 측정한 것은 아니므로, 배제해야 할 가능성 중 하나로 다루시기 바랍니다: 스캔하는 동안 패널을 터치해 보십시오.
증상과 해결 방법
증상 | 확인 사항 |
|---|---|
| RSTN이 High인지 확인하고, 리셋 후 300 ms를 기다린 다음 스캔하는 동안 패널을 터치하세요. 이후 SDA, SCL 및 풀업 저항을 확인합니다. |
ESPHome에 "FT6336U touch driver failed to start" 로그가 출력됨 | ESPHome이 |
라이브러리가 칩 ID를 거부함 | 칩 ID는 부품마다 다릅니다. Adafruit는 |
터치가 너무 민감하거나 너무 둔감함 | 레지스터 |
세 번째 손가락이 인식되지 않음 | 이것은 칩의 한계입니다. 데이터시트와 Linux 드라이버 모두 2포인트로 명시하고 있습니다. 더 많은 포인트가 필요하면 GT911을 참고하세요. |
드라이버 지원
- ESPHome:
ft63x6플랫폼을 사용하며, 선택적으로reset_pin과interrupt_pin을 지정할 수 있습니다. I2C 구성이 필요합니다. 공식 문서에서는 WT32-SC01 보드를 언급하고 있으며, 소스 코드에는 FT6336U가 기록되어 있습니다. - Linux: FT6336 항목은 없습니다. 가장 근접한 것은 edt-ft5x06 드라이버의
focaltech,ft6236으로, 2포인트를 지원하며compatible,reg,interrupts속성이 필수입니다. FT6336으로 이 구성을 테스트해 보지는 않았습니다. - ESP-IDF:
esp_lcd_touch_ft5x06드라이버는 기본적으로 주소0x38과 100 kHz를 사용합니다. 소스 코드는 최대 5포인트까지 지원하지만 FT6336을 명시하지는 않으므로, 사용 전에 해당 부품에 맞는지 확인하세요. - Arduino: Adafruit의 FT6206 라이브러리는 FT6336U의 칩 ID를 정의하며 기본 주소는
0x38입니다.
관련 컨트롤러
원형 디스플레이의 1점 터치는 CST816S를, 보다 큰 패널은 GT911을 참고하세요. M5Stack Core2는 FT6336U를 사용하는 보드 중 하나입니다.
가이드 및 비교
FT6336 문제 해결 및 FAQ
FT6336의 I2C 주소는 무엇인가요?
Adafruit 및 Espressif 드라이버는 0x38(7비트)을 사용하며, Linux의 FT5x06 계열 바인딩 예제에서도 동일한 값을 사용합니다. 확인한 FT6336G 데이터시트에는 주소가 명시되어 있지 않으므로, 사용 중인 보드에서 I2C 스캔으로 직접 확인하시기 바랍니다.
FT6336이 I2C에서 응답하지 않는 이유는 무엇인가요?
RSTN이 High인지 확인한 후 리셋 후 최소 300 ms를 기다리세요. 이는 데이터시트에 명시된, 포인트 보고가 시작되기까지의 최소 시간입니다. 또한 데이터시트에 따르면 Monitor 모드에서는 직렬 포트가 닫히므로, 배선 문제를 의심하기 전에 패널을 터치하고 다시 스캔해 보세요.
FT6336, FT6336G, FT6336U의 차이점은 무엇인가요?
FocalTech의 데이터시트에 따르면 FT6336G는 4.0″까지 패널용 31채널, FT6336DMB는 4.5″까지 패널용 36채널입니다. FT6336U의 데이터시트는 찾지 못했습니다. Adafruit의 라이브러리는 이 부품의 칩 ID를 FT6236U와 동일한 0x64로 정의합니다.