연락처 TI 글로벌 : 한국 my.ti 로그인 All Searches 키워드로검색 GO 제품번호로검색 GO 터치스크린컨트롤러의보조입력활용하기 파워애플리케이션을위한열시뮬레이션 전원공급장치애플리케이션을위한 IC 의선택 가동코일식미터설계를부활시키는저가의전류션트모니터 IC 배터리수명을연장할때단일프로세서보다유리한듀얼프로세서 친환경으로의전환 : 플라이백컨버터효율성제고 RS-485 버스의디바이스공간배치 충전시스템안전을향상시키는배터리차저프론트엔드 IC WLED 구동시항상 4V 가필요한것은아니다 고속 ADC THS1041 의클램프기능 시스템에서의터치스크린보정 [Contributed Article] 시스템에서의터치스크린보정 Wendy Fang, 정밀아날로그애플리케이션, 고성능아날로그 Tony Chang, 정밀아날로그나이키스트, 고성능아날로그텍사스인스트루먼트 (Texas Instruments) 서론오늘날더욱다양한분야에서인간 / 기계또는인간 / 컴퓨터인터페이스를갖춘애플리케이션용터치스크린또는터치패널이도입되고있다. 그림 1 은터치스크린센서가시스템디스플레이 ( 이경우 LCD 패널 ) 의위쪽에위치한터치스크린시스템의블록다이어그램이다. 그림 1 의터치스크린컨트롤러는자체보정이필요하지않다. 하지만, 완벽하게터치스크린의좌표를그아래의디스플레이의좌표에할당하는것이어려우므로, 일반적으로터치스크린을장착한제품또는장비는파워업상에보정경로를필요로한다. 스크린의터치된영역의좌표가디스플레이상의좌표와가깝지않은경우반드시보정이필요하다. 적절한보정없이소프트버튼또는아이콘을누른경우소프트웨어는정확하게반응할수없다. 이글은터치스크린시스템의보정을위한개념과방법들을제시한다. 소프트웨어 - 프로그래밍알고리즘과그구현에대해서도논의할것이다. 터치 - 좌표에러터치스크린에압력이가해졌을때, 터치스크린컨트롤러가이를감지하고 X 및 Y 좌표를측정한다. 몇가지에러소스는이러한측정의정확도와신뢰성에영향을미친다. 이러한에러의대부분은전기적잡음, 스케일링팩터, 기계적정렬불량등에기인할수있다. 전기적잡음은디스플레이및백라이트, 휴먼인터페이스, 패널표면의진동및사용자와환경에의한정전기방전과전자기펄스등으로인해발생한다. 본고는잡음문제는다루지않는다. 잡음처리에대한자세한정보는참고문헌 1 을참고하면된다. 스케일링팩터와기계적정렬불량은터치스크린과디스플레이의부품및조립품에서발생한다. 일반적으로시스템내의터치스크린컨트롤러와디스플레이는동일한해상도를가지고있지않으므로스케일링팩터가서로의좌표를일치시키는데필요하다. 예를들어, 1024 768 의해상도를가진 LCD 와 12 비트 (4096 4096) 의해상도를가진 TI 의 TSC2005 터치스크린컨트롤러를사용하는터치스크린시스템을고려해보자. 이들을결합하기위한스케일링팩터는 X 축좌표의경우 kx = SX/S X = 1024/4096 = 0.25 이며, Y 축좌표의경우 ky = SY/S Y = 768/4096 = 0.1875 이다. 여기서 SX 는 LCD 의 X 축해상도이며, S X 는터치스크린컨트롤러의 X 축해상도이다. 또한 SY 는 LCD 의 Y 축해상도이며, S Y 는터치스크린컨트롤러의 Y 축해상도이다. 따라서터치스크린컨트롤러의 X 좌표, X 는 LCD( 호스트 ) 에의해 X = kx X 로이해되어야하고, 터치스크린컨트롤러의 Y 좌표, Y 는 LCD( 호스트 ) 에의해 Y = ky Y 로이해되어야한다. 앞서예제에서 kx 와 ky 는디스플레이와터치스크린컨트롤러에대한해상도사양에기반한간단한선형스케일링팩터다. 실제의스케일링팩터는부품에따라다양해질수있으며, 모든불일치를감소시키거나제거하기위해서보정되어야한다. 그림 2 에나타낸예제에서는 X 축스케일이 LCD 와터치스크린상의것과동일하거나 kx = SX/S X = 1 이다. 하지만 LCD 상의 Y 축스케일이터치스크린의것보다크기때문에 ky = SY/S Y = 3.6/4 = 0.9 의스케일링팩터를가진다. 따라서터치스크린상의포인트 P (X, Y ) = (2, 2.222) 는 LCD( 호스트 ) 용? (X, Y) = (2, 2) 로스케일링되어야만한다. 디스플레이와터치스크린사이의기계적정렬불량은그림 3 에나타낸것과같은이동및회전에러를포함한다. 그림 3a 는상대적인위치이동인 X 방향에서 ΔX 와 Y 방향에서 ΔY 를나타낸것이며, 그림 3b 는 LCD 와터치스크린사이의상대적인회전 Δθ 을나타낸것이다. 포인트 P 를고려할경우, 터치스크린상의 (X, Y ) 로읽어야한다. 디스플레이는그림 3a 에나타낸것과같은이동에러는 (X + ΔX, Y + ΔY) 로읽어야만한다. 그림 3b 에나타낸것과같은회전에러의경우, 터치스크린상의포인트가 (R cosθ, R sinθ) 이거나디스플레이상의포인트가 [R cos(θ?δθ), R sin(θ?δθ)] 이다. 여기서 R 은원포인트 C 또는 (0.0) 으로부터의포인트 P 까지의거리이다. 수학적표현터치스크린의보정은터치스크린컨트롤러에의해보고된좌표를디스플레이또는 LCD 상의포인트와이미지위치를정확하게나타내는좌표로전환한다. 보정의결과는수학적정렬불량으로인한이동및회전에러를수정가능하게하는스케일링팩터의집합이다. 디스플레이상의 (X, Y) 와터치패널상의 (X, Y ) 로표시되는포인트 P 를고려해보자. 그림 2 에서스케일링팩터를계산하고그림 3 에서이동및회전에러들을계산하여터치스크린좌표 X 를다음과같이표현할수있다 : 여기서 X = R cosθ, Y = R sinθ, αx = kx cos(δθ), 그리고 βx = kx sin(δθ) 이다. 마찬가지로터치스크린좌표 Y 는다음과같이표현될수있다 :
여기서 αy =? ky sin(δθ), βy = ky cos(δθ) 이다. 등식 1 과 2 로부터계수들 αx, αy, βx, βy, ΔX, ΔY 를구하기위해서최소 3 개의독립된포인트가필요하다. 포인트들이하나의선형라인위에있지않다면독립적인것이다 ( 그림 4 참조 ). (X1, Y1), (X2, Y2), (X3, Y3) 이 LCD 상의 3 개의독립적인포인트이고, (X 1, Y 1), (X 2, Y 2), (X 3, Y 3) 은터치스크린상의일치하는포인트들이라가정하고, 등식 1 과 2 를사용하여등식 3 을작성할수있다. 등식 3 을다음과같이매트릭스형식으로재작성할수있다 : 여기서 A 는다음과같다 : 보정방법등식 4 에나타낸 3 개의독립적인보정포인트들은터치스크린과시스템디스플레이사이의기계적정렬불량을수정하는데필요한스케일링팩터를구할수있을만큼충분해야한다. 등식 4 를풀기위해양측을매트릭스 A 의역수를곱하여다음을구할수있다 : 여기서 A-1 은매트릭스 A 의역수이다. 3 개의포인트? (X1, Y1), (X2, Y2), and (X3, Y3)? 은디스플레이표면상에설계및선택되며, 매트릭스 A 의요소는보정시에터치스크린으로부터측정된다. 예 1: 3 포인트보정 256 768 해상도의디스플레이에서 3 개의보정포인트들은 (64, 384), (192, 192), (192, 576) 로선택된다. 그림 5a 를참조하자. 보정시에 12 비트또는 4096 4096 의해상도를가진터치패널로부터 3 개의포인트 (678, 2169), (2807, 1327), (2629, 3367) 가측정된다. 다음으로등식 4 가이러한알려진값을통해위치가확정될수있다. 등식 5 를적용하면 αx = 0.0623, βx = 0.0054, ΔX = 9.9951, αy =?0.0163, βy = 0.1868, ΔY =?0.1458 이된다. 따라서등식 1 로부터 X 에대한등식은다음과같다. 그리고등식 2 로부터 Y 에대한등식은다음과같다. X = 0.0623 X + 0.0054 Y + 9.9951; Y =?0.0163 X + 0.1868 Y? 10.1458. 많은애플리케이션에서사용자들은터치스크린컨트롤러부터의잡음량평균을구하거나필터링하기위해그들의보정경로내의 3 개의포인트보다더많은포인트를사용할수있다. n > 3 인보정의경우,
이며여기서 A 는 n > 3 인 n 3 매트릭스이며 (A) = 3 으로정렬되거나 이다. 등식 6 을풀기위해양측을 (AT A)?1 AT 와같이 A 의의도된역수매트릭스로곱할수있으며, 여기서 AT 는 A 의전치행렬매트릭스이다. 다시말하면, 알려지지않은변수들 αx, βx, ΔX, αy, βy, ΔY 를다음과같이풀수있다 : 등식 7 의풀이는이러한알려지지않은변수들의최소제곱에러추정 2 이다. 예 2: 5 포인트보정예제 1 과동일한시스템을사용하지만, 디스플레이상에서 5 개의보정포인트 (128, 384), (64, 192), (192, 192), (192, 576), (64, 576) 를선택한다. 그림 5b 를참조하라. 다음으로등식 6 을 5 포인트를통해위치를확정하고터치패널로부터 (1698, 2258), (767, 1149), (2807, 1327), (2629, 3367), (588, 3189) 를측정할수있다. 등식 7 을사용하여예제 1 에서찾은것과동일한해법 X = 0.0623 X + 0.0054 Y + 10.0043, 그리고 Y =?0.0163 X + 0.1868 Y? 10.1482 을얻을수있다 : 보정알고리즘 임베디드시스템내에서이러한보정방식들을수행하기위해서선형대수등식집합, 등식 4 또는등식 6 을풀어야만한다. 해법은크래머의규칙을통해간단하게도출될수있다. 선형등식집합 b = A x 의경우, b 는 (x1, x2,..., xn)t 와동일한알려진실제벡터이고, A 는알려진실제제곱완전 - 계수매트릭스이며 ;? x 는 (x1, x2,..., xn)t 와동일한알려지지않은실제벡터이다. x 내에서알려지지않은요소들은 x1 = Δ1/Δ, x2 = Δ2/Δ,..., xn = Δn/Δ 를통해계산될수있으며, 여기서 Δ 는매트릭스 A 의행렬식 det(a) 이며, Δk = det(ak) for k = 1, 2,..., n 이고 ; 매트릭스 Ak 는매트릭스 A 지만 k 번째칼럼을벡터 x 로치환한것이다. 3- 포인트보정알고리즘 A 의영역이 3 3 이라고가정하면, 클래머의규칙에근거하여등식 8 을등식 4 를통해다음과같이결정할수있다 : 등식 8 의변수들을페이지 9 의사이드바에정의하였다. n- 포인트보정알고리즘등식 6 에서와같이 A 의영역을 n 3 (n > 3) 이라고가정할수있다. 선형등식집합의최소제곱솔루션을얻기위해서우선등식 7 을다음과같이다시작성한다 : 여기서 A = AT A, (X1, X2, X3)T = AT (X1, X2, X3)T 와 (Y1, Y2, Y3)T = AT (Y1, Y2, Y3)T 이다. 다음으로크래머의규칙에근거하여등식 10 을다음과같이구할수있다 :
여기서 등식 8 의정의 알고리즘구현앞서의보정알고리즘을실행하기위해서시스템의전원이켜진후첫번째해야할일중하나는다음의단계들을수행하기위한소프트웨어경로를개발하고동작시키는것이다 :? 디스플레이보정포인트 (Xk, Yk) 를선택한다 (k = 1, 2,..., n 이고,? n 3 이다 ).? 터치스크린컨트롤러기능이터치스크린데이터에액세스하도록요청한다.? 디스플레이상의첫번째포인트 (X1, Y1) 를터치하고, 터치스크린컨트롤러로부터의데이터를획득하여터치좌표 (X 1, Y 1) 를저장한다.? 모든 (X k, Y k) 를구하기위해이전단계들을반복한다 (k = 2, 3,..., n 이고, n 3 이다 ).? αx, βx, ΔX, αy, βy, ΔY 등을계산하기위한기능들을요청한다. 예를들어 5- 포인트보정용등식 10 을요청한다. 참고문헌이글에보다자세한정보는 www-s.ti.com/sc/techlit/litnumber 에서 litnumber 를아래에열거된자료를위한 TI Lit. # 로대체하여다운로드할수있다.
문서제목?TI Lit. # 1. Wendy Fang, 터치스크린시스템내아날로그입력잡음의저감 애플리케이션리포트? sbaa1552 2. Frank L. Lewis 확률론적제어이론의도입을통한최적의추정법 (John Wiley & Sons, Inc., 1986) ㅡ 관련웹사이트 dataconverter.ti.com www.ti.com/sc/device/partnumber partnumber 를 ADS7843, ADS7845, ADS7846, TSC2003, TSC2004, TSC2005, TSC2006, TSC2007, TSC2046 등으로대체 그림 1. 일반적인 4- 선저항터치스크린시스템 그림 2. LCD 와터치스크린의 Y 축상의스케일링팩터 그림 3. 기계적정렬불량
그림 4. 독립 ( 선형선상에있지않은 ) 및종속포인트 그림 5. 보정포인트선택을위한예제
- Monthly Display 11 월호 제품 응용분야 설계지원 샘플신청및구입 TI 글로벌 TI 소개 연락처 투자정보 보도자료 기업윤리 채용정보 태그 my.ti 로그인 전체검색 Copyright 1995-2008 Texas Instruments Incorporated. All rights reserved. 상표 개인정보취급방침 이용약관