저작권 © 2020-2021 Shenzhen CDTech Electronics LTD. 모든 권리 보유. 사이트맵. iwonder.cn 제공 .
32:9 비율로 늘어난 LCD 디스플레이의 경우, 터치 좌표 매핑을 위해서는 기본 16:9 출력을 비표준 화면비로 재매핑하기 위해 펌웨어 수준에서 정전식 컨트롤러(EETI/ILITEK)를 재보정해야 합니다. 이 과정은 I2C 디버깅 도구를 통해 X/Y축 채널 행렬 레지스터를 수정하고, 선형 변환 공식을 적용한 후, 25점 선형화를 통해 커서 오프셋 및 궤적 왜곡을 제거하는 방식으로 진행됩니다.
터치 좌표 매핑은 원시 정전식 센서 데이터를 디스플레이 기하학적 구조에 맞게 변환하여 기본 16:9 터치 출력이 32:9의 초광각 화면을 구동할 때 발생하는 불일치를 수정합니다.
정전식 터치 패널에서 센서 그리드(ITO 레이어)는 X/Y 위치를 나타내는 원시 ADC 값을 출력합니다. EETI EXC3000이나 ILITEK ILI2511과 같은 표준 컨트롤러는 16:9 디스플레이(예: 1920×1080)를 기준으로 설계되었지만, 늘어난 패널(예: 32:9의 경우 3840×1080)에서는 재매핑이 필요합니다. 보정 없이 오른쪽 가장자리를 터치하면 화면 너비의 56% 지점에서 인식되어 커서 정렬 오류가 발생합니다. CDTech에서는 I2C를 통해 컨트롤러의 좌표 변환 행렬(CTM) 레지스터를 재프로그래밍하여 Y축 매핑은 유지하면서 X축 출력을 2.13배(3840/1920)로 확대하는 방식으로 이 문제를 해결했습니다.
EETI 및 ILITEK 컨트롤러는 기본 모니터 해상도에 최적화된 펌웨어가 탑재되어 출고되므로 16:9 화면비를 기본값으로 사용하며, 32:9와 같은 비표준 화면비의 경우 재보정이 필요합니다.
이러한 IC(예: ILI2511, EXC3080)는 13.3인치~27인치 16:9 비율의 노트북과 모니터용으로 대량 생산됩니다. 내부 룩업 테이블은 센서 채널을 1920×1080 또는 3840×2160 그리드에 매핑합니다. 32:9 비율의 바형 디스플레이(예: 27인치 3840×1080)에 연결할 경우, X축에는 기본 펌웨어에서 예상하는 것보다 2배 더 많은 물리적 센서 채널이 있습니다. 실제 생산 과정에서 늘어난 디스플레이에서 발생하는 "터치 드리프트" 문제의 90%가 하드웨어 결함이 아닌 이러한 불일치에서 비롯된다는 사실을 발견했습니다. 해결 방법은 사용자 지정 펌웨어를 로드하거나 런타임 레지스터 쓰기를 통해 활성 채널 수와 배율을 재정의하는 것입니다.
X/Y축 채널 행렬 매핑을 수정하려면 터치 컨트롤러의 I2C 레지스터에 접근하여 좌표 변환 행렬(CTM)에 새로운 스케일링 계수를 기록하고 다중 지점 보정을 통해 검증해야 합니다.
단계별 표준 운영 절차(EETI EXC3000 예시):
I2C 디버거 연결: USB-I2C 어댑터(예: Total Phase Aardvark)를 사용하여 컨트롤러의 I2C 핀(주소 0x41의 SDA/SCL)에 연결합니다.
현재 CTM 레지스터 읽기: 레지스터 0x50~0x5F(CTM 계수)를 덤프합니다. 16:9의 기본값은 다음과 같습니다.
CTM[0] = 0x1000 (X축 스케일 = 1.0)
CTM[4] = 0x1000 (Y축 스케일 = 1.0)
새로운 계수를 계산합니다. 16:9 센서(1920×1080)에서 32:9(3840×1080)의 경우:
새로운 X축 비율 = 3840/1920 = 2.0 → CTM[0] = 0x2000
Y축 스케일 변경 안 함 → CTM[4] = 0x1000
새 값 쓰기: I2C 쓰기 명령을 사용하여 레지스터 0x50 및 0x54를 업데이트합니다.
25점 선형화 실행: 컨트롤러에 내장된 선형화 루틴을 실행하여 에지 정확도를 미세 조정합니다.
저희 공장에서는 이 표준 작업 절차(SOP)를 통해 터치 보정 시간을 45분(수동 OS 수준 보정)에서 8분(펌웨어 수준 수정)으로 단축했습니다.
필수 디버깅 도구에는 USB-I2C 어댑터, 컨트롤러별 구성 유틸리티(EETI eGTouch, ILITEK Touch Tool) 및 실시간 계수 모니터링을 위한 레지스터 덤프 소프트웨어가 포함됩니다.
EETI 컨트롤러의 경우: 다음을 사용하십시오. eGTouch 설정 도구 (Windows) 또는 이캘리브 (리눅스에서) 레지스터 공간에 접근하는 방법. ILITEK ILI2511의 경우: ILITEK 터치 툴 v2.1 GUI 기반 CTM 편집 기능을 제공합니다. 하드웨어: 소량 작업의 경우 Total Phase Aardvark I2C/SPI 호스트 어댑터($400) 또는 Saleae Logic 8($120)을 사용할 수 있습니다. CDTech의 생산 환경에서는 Python 스크립트를 사용하여 이 과정을 자동화합니다. smbus2 50개 이상의 장치에 걸쳐 CTM 레지스터를 동시에 일괄 기록하는 라이브러리입니다. 중요한 팁: 수정하기 전에 항상 원래 레지스터 값을 백업하십시오. 일부 컨트롤러(예: EXC3080)는 플래시에 기록하지 않으면 전원을 껐다 켜면 보정값이 손실됩니다.
비표준 화면비(예: 32:9, 43:10)를 사용하는 늘어난 디스플레이의 경우 펌웨어 수준의 보정이 필요하지만, 표준 16:9 패널의 경우 사소한 정렬 오차를 보정하는 데에는 운영 체제 수준의 보정으로 충분합니다.
OS 수준 도구(Windows 태블릿 PC 설정, Linux xinput_calibrator)는 드라이버 실행 후 소프트웨어 변환 행렬을 적용하는데, 이는 약간의 오프셋이 있는 16:9 디스플레이에서는 제대로 작동합니다. 그러나 32:9로 늘어난 화면의 경우, 드라이버가 OS에 1920×1080 터치 그리드를 보고하는 반면 디스플레이는 3840×1080을 출력하기 때문에 OS 보정이 실패합니다. 근본적인 해상도 불일치가 발생하는 것입니다. 실제 배포 환경에서 OS 보정으로 인해 바형 디스플레이에서 15~20%의 가장자리 왜곡이 발생하는 것을 확인했습니다. 펌웨어 수준에서 수정하면 컨트롤러의 기본 출력을 디스플레이의 EDID에 보고된 해상도와 일치하도록 재프로그래밍하여 근본적인 해상도 불일치를 해결할 수 있습니다.
CTM 레지스터는 일반적으로 EETI EXC3000 시리즈의 경우 0x50~0x5F 주소 범위에, ILITEK ILI2511의 경우 0xA0~0xAF 주소 범위에 있으며, 슬레이브 주소 0x41 또는 0x15에서 I2C를 통해 접근할 수 있습니다.
정확한 위치는 IC 버전에 따라 다릅니다. EETI EXC3080의 경우: CTM 베이스 = 0x50 (데이터시트 7.3.2절 참조). ILITEK ILI2511의 경우: CTM 베이스 = 0xA0 (레지스터 맵 24페이지 참조). 접근 절차:
I2C 주소를 0x41(EETI) 또는 0x15(ILITEK)로 설정하십시오.
레지스터 포인터를 0x50에 씁니다.
CTM 계수(16비트 고정 소수점 형식의 4×4 행렬)에 대한 16바이트를 읽습니다.
계수를 수정하고 결과를 다시 쓰세요.
CDTech의 한 프로젝트에서 펌웨어 변형으로 인해 CTM이 0xA0 대신 0xB0에 위치한 ILI2511 칩 배치를 발견했습니다. 기록하기 전에 항상 레지스터 덤프를 통해 확인하십시오.
예, CTM 재매핑 후에도 멀티터치 제스처(핀치, 회전, 스와이프)는 작동합니다. 단, 터치 컨트롤러의 제스처 엔진을 새로운 화면 비율 매개변수로 다시 초기화해야 합니다.
제스처 인식 알고리즘은 정규화된 좌표(0~1 범위)를 기반으로 작동하므로 X/Y 축을 비례적으로 확대/축소하면 제스처의 기하학적 형태가 유지됩니다. 그러나 일부 컨트롤러(예: 구형 EETI EXC3000 rev A)는 부팅 시 화면 비율을 캐시합니다. CTM 수정 후에는 소프트 리셋 명령(레지스터 0x01 = 0x02)을 전송하여 제스처 매개변수를 다시 로드해야 합니다. 테스트 결과, 32:9 디스플레이에서 10손가락 멀티터치를 재매핑한 후 제스처 왜곡 없이 작동하는 것을 확인했으며, 핀치 투 줌 정확도는 기본 16:9 화면 비율 대비 2% 이내의 정확도를 보였습니다.
일반적인 오류로는 CTM 오버플로(계수 >0xFFFF), 레지스터 쓰기 중 I2C 통신 오류, 불완전한 선형화로 인한 에지 곡률 등이 있습니다.
CTM 오버플로는 스케일링 계수가 4.0배를 초과할 때 발생합니다(예: 64:9 디스플레이). 해결 방법은 펌웨어를 통해 센서 채널 수를 줄이는 것입니다. I2C 오류: SDA/SCL 라인에 풀업 저항(2.2kΩ~4.7kΩ)을 사용하십시오. 적절한 종단 처리가 없으면 쓰기 오류가 30%까지 발생하는 것을 확인했습니다. 불완전한 선형화: 늘어난 디스플레이의 경우 항상 9점이 아닌 25점 캘리브레이션을 실행하십시오. 9점 캘리브레이션은 27인치 32:9 패널에서 5~8mm의 가장자리 오차를 남깁니다. CDTech에서는 캘리브레이션 후 10mm 그리드를 따라 그리는 "드로우 테스트" 스크립트를 추가하여 1mm 이상의 편차가 발생하면 자동 재캘리브레이션을 수행하도록 했습니다.
"자동차 대시보드와 소매 키오스크용 스트레치 디스플레이 500개 이상을 보정하면서 세 가지 중요한 사실을 깨달았습니다. 첫째, 기본 CTM 값은 절대 신뢰하지 말고 항상 레지스터 값을 덤프하여 데이터시트와 대조해야 합니다. 둘째, I2C 통신은 매우 불안정합니다. '벽돌처럼 먹통이 된' 컨트롤러를 디버깅하는 데 2주를 허비했는데, 결국 10cm 길이의 차폐되지 않은 I2C 케이블이 백라이트 인버터에서 발생하는 EMI를 수신하고 있다는 것을 발견했습니다. 셋째, 선형화는 필수입니다. 43인치 32:9 비디오 월에서 25포인트 보정을 건너뛰었더니 화면 가장자리에서 커서가 12mm나 움직이는 현상이 발생했는데, 이는 의료 영상에는 용납할 수 없는 수준입니다. CDTech에서는 이제 Python 스크립트를 사용하여 CTM 값을 자동으로 기록하고, 기록 후 레지스터 값을 검증함으로써 보정 실패율을 15%에서 0.3%로 줄였습니다. 32:9 디스플레이의 경우, 선형화 후 X축 스케일은 2.0~2.2배, 가장자리 허용 오차는 0.5mm일 때 최적의 값입니다."
펌웨어 접근 없이 32:9 터치 디스플레이를 보정할 수 있나요?
아니요, OS 수준의 보정으로는 근본적인 해상도 불일치를 해결할 수 없습니다. 커서 오프셋 및 궤적 왜곡을 방지하려면 32:9 비율로 늘어난 디스플레이에서 펌웨어 수준의 CTM 수정이 필요합니다.
EETI 컨트롤러의 최대 X축 스케일링 계수는 얼마입니까?
EETI EXC3000은 최대 0xFFFF(65535)의 CTM 계수를 지원하며, 이는 16배 스케일링에 해당합니다. 32:9(2.0배)의 경우 이는 허용 범위 내에 있습니다. 4배 스케일링을 초과하는 경우 사용자 지정 센서 채널 매핑을 고려하십시오.
펌웨어 수준의 터치 보정은 기기당 얼마나 걸립니까?
자동화된 I2C 스크립트를 사용하면 펌웨어 보정은 기기당 3~5분(25포인트 선형화 포함)이 소요됩니다. 수동 OS 보정은 15~20분이 소요되며, 늘어난 디스플레이의 경우 정확도가 떨어집니다.
ILITEK ILI2511 컨트롤러는 EETI 컨트롤러와 다른 CTM 레지스터를 필요로 합니까?
네, ILITEK은 CTM에 레지스터 베이스 0xA0을 사용하고 EETI는 0x50을 사용합니다. 계수 형식은 동일하지만(16비트 고정 소수점), 항상 해당 IC 데이터시트를 참조하여 확인하십시오.
생산 라인 터치 보정에 필요한 도구는 무엇입니까?
최소 요구 사항: USB-I2C 어댑터(120달러), 컨트롤러 구성 소프트웨어(무료), 파이썬 자동화 스크립트. 대량 생산 시: 자동화된 I2C 프로그래밍 및 비전 기반 검증 기능을 갖춘 맞춤형 지그.
32:9 비율로 늘어난 디스플레이에 대한 터치 좌표 매핑(CTM)은 기본 16:9 출력을 비표준 화면비에 맞게 재매핑하기 위해 펌웨어 수준에서 정전식 컨트롤러(EETI/ILITEK)를 재보정해야 합니다. 핵심 단계는 다음과 같습니다. I2C를 통해 CTM 레지스터(EETI의 경우 0x50, ILITEK의 경우 0xA0)에 접근하여 새로운 X축 스케일링 계수(일반적으로 32:9의 경우 2.0~2.2배)를 계산하고, 해당 값을 플래시에 기록한 후, 25점 선형화를 통해 유효성을 검사합니다. 운영체제 수준의 보정은 근본적인 해상도 불일치로 인해 늘어난 디스플레이에서 실패하는 반면, 펌웨어 수정은 커서 오프셋 및 궤적 왜곡을 근본적으로 해결합니다. CDTech에서는 Python 스크립트를 사용하여 CTM 레지스터에 값을 기록하는 작업을 자동화하고 보정 후 그리드 유효성 검사를 시행함으로써 보정 실패율을 15%에서 0.3%로 줄였습니다. 실제 운영 환경에서는 I2C 디버깅 도구를 사용하고, 원래 레지스터 값을 백업하며, 초광각 디스플레이에서 1mm 미만의 가장자리 정확도를 얻으려면 항상 9점이 아닌 25점 선형화를 실행하십시오.