触摸屏在S3C2410上的应用实例_第1页
触摸屏在S3C2410上的应用实例_第2页
触摸屏在S3C2410上的应用实例_第3页
触摸屏在S3C2410上的应用实例_第4页
触摸屏在S3C2410上的应用实例_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Evaluation Warning: The document was created with Spire.Doc for .NET.触摸屏在S3C2410上的应用实例日期:220066-8-26来源:中国国电子爱爱好者家家园 作者者:8667字体: HYPERLINK javascript:ContentSize(16) 大大 HYPERLINK javascript:ContentSize(14) 中 HYPERLINK javascript:ContentSize(12) 小 摘要:给出S3C2410上触摸屏的实现原理、硬件结构和软件程序;对软件进行优化,改进软件滤波的实现方法。其算

2、法使用C语言实现,可移植到任何操作系统的触摸屏驱动程序中。 关关键词:触摸屏屏 S33C24410 滤波引言随着个人数数字助理理(PDDA)、瘦瘦容户机机等的普普及,触触摸屏作作为终端端与用户户交互的的媒介,在在我们的的生活中中使用得得越来普普遍。触触摸屏分分为电阻阻式、电电容式、声声表面波波式和红红外线扫扫描式等等类型,使使用得最最多的是是4线电电阻式触触摸屏。本文以三星星公司AARM99内核芯芯片S33C24410触触摸屏接接口为基基础,通通过外接接4线电电阻式触触摸屏构构成硬件件基础。在在此基础础上,开开发了触触摸屏面面图板程程序。1 触摸屏屏原理S3C24410接接4线电电阻式触触摸屏

3、的的电路原原理如图图1所示示。整个个触摸屏屏由模向向电阻比比和纵向向电阻线线组成,由由nYPPON、YYMONN、nXXPONN、XMMON四四个控制制信号控控制4个个MOSS管(SS1、SS2、SS3、SS4)的的通断。SS3C24410有有8个模模拟输入入通道。其其中,通通道7作作为触摸摸屏接口口的X坐坐标输入入(图11的AIIN77),通通道5作作为触摸摸屏接口口的Y坐坐标输入入(图11的AIIN55)。电电路如图图2所示示。在接接入S33C24410触触摸屏接接口前,它它们都通通过一个个阻容式式低通滤滤器滤除除坐标信信号噪声声。这里里的滤波波十分重重要,如如果传递递给S33C24410

4、模模拟输入入接口的的信号中中干扰过过大,不不利于后后续的软软件处理理。在采采样过程程中,软软件只用用给特殊殊寄存器器置位,SS3C24410的的触摸屏屏控制器器就会自自动控制制触摸屏屏接口打打开或关关闭各MMOS管管,按顺顺序完成成X坐标标点采集集和Y坐坐标点采采集。22 S33C24410触触摸屏控控制器S3C24410触触摸屏控控制器有有2种处处理模式式:X/Y位位置分别别转换模模式。触触摸屏控控制器包包括两个个控制阶阶段,XX坐标转转换阶段段和Y坐坐标转换换阶段。X/Y位位置自动动转换模模式。触触摸屏控控制器将将自动转转换X和和Y坐标标。本文使用XX/Y位位置自动动转换模模式。3 S3C

5、C24110触摸摸屏编程程由于触摸屏屏程序中中参数的的选取优优化需要要多次试试验,而而加入操操作系统统试验参参数,每每次编译译下载耗耗费时间间过多,不不易于试试验的进进行,因因而我们们直接编编写裸机机触摸屏屏程序。三三星公司司开放了了S3CC24110测试试程序224100tesst(可可在三星星网站下下载),提提供了触触摸屏接接口自动动转换模模式的程程序范例例ts_autto.cc,见本本刊网站站。本本文在此此范例的的基础上上编写了了触摸屏屏画图板板程序在显显示屏上上画出触触摸笔的的流走痕痕迹。针对坐标点点采样时时产生的的噪声,本本文采用用噪声滤滤波算法法,编写写了相应应的噪声声滤波程程序,

6、滤滤除干扰扰采样点点。整个个触摸屏屏画图板板程序的的处理流流程如图图3所示示。31 程程序初始始化初始化触摸摸屏控制制器为自自动转换换模式。其其中寄存存器ADDCDLLY的值值需要根根据具体体的试验验选取,可可运行本本文提供供的程序序看画线线的效果果来选取取具体的的参数。触触摸屏中中断处理理程序AAdc_or_TsAAutoo是判断断触摸屏屏是否被被按下了了。触摸摸屏被按按下,给给全局变变量 FFlagg_Toouchh赋值为为Touuch_Dowwn,否否则赋值值为Toouchh_Upp。 初始化化脉宽调调制计时时器(PPWM TIMMER),选选择计时时器4为为时钟,定定义100ms中中断

7、1次次,提供供触摸屏屏采样时时间基准准,即110mss触摸屏屏采样11次。计计数器中中断处理理程序TTimeer4IIntrr 中判判断Fllag_Touuch被被赋值为为Touuch_Dowwn,则则给全局局变量ggTouuchSStarrtSaamplle置位位,以控控制触摸摸屏采样样。之后清除触触摸屏中中断和计计时器中中断屏蔽蔽位,接接受中断断响应,同同时计时时器开始始计时。32 触触摸屏采采样程序序如果gToouchhStaartSSampple为为TRUUE,触触摸屏接接口开始始对坐标标X和YY的模拟拟量进行行采样,根根据试验验选取适适合的的的采集次次数。本本文中使使用9次次采集,分

8、分别记入入到pttxTToucchSaamplle和和ptyyToouchhSammplee数组组中, TouuchSSampple为为采集次次数。为了减少运运算量,将将ptxx和和ptyy分分别分三三组取平平均值,存存储在ppx33和ppy33中。这这里以处处理X坐坐标为例例:px0=(pptx0+ptxx1+pttx22)/3;px1=(pptx3+ptxx4+pttx55)/3;px2=(pptx6+ptxx7+pttx88)/3;计算以上三三组数据据的差值值:dlXDiiff00=pxx0-pxx1;dlXDiiff11=pxx1-pxx2;dlXDiiff22=pxx2-pxx0;然

9、后对上述述差值取取绝对值值,所得得结果简简称绝对对差值:dlXDiiff00=dllXDiiff000?dlXXDifff0:-dllXDiiff00;dlXDiiff11=dllXDiiff110?dlXXDifff1:-dllXDiiff11;dlXDiiff22=dllXDiiff220?dlXXDifff2:-dllXDiiff22;判断上述计计算的色色对差值值是否都都超过差差值门限限,如果果这3个个绝对差差值都超超过门限限值,判判定这次次采样点点为野点点,抛弃弃采样点点,程序序返回等等待下次次采样。其其中的差差值门限限需要根根据试验验测试得得到,本本文取值值为2。找出其中绝绝对差值值

10、最小的的2组数数据,再再将它们们作平均均,同时时赋值给给tmxx:if(dllXDiiff00dllXDiiff11)if(dllXDiiff2211);elsetmx=(pxx0+pxx1)1);else if(dlXXDifff21);elsetmx=(pxx1+pxx2)1); HYPERLINK /upload/eWebUpload/20060222223841134.gif 图3 函数TToucch_CCoorrdinnatee Coonveersiion完完成触摸摸屏采样样值转换换成显示示坐标,根根据不同同的硬件件有不同同的转换换方法。本本触摸屏屏采样坐坐标及显显示坐标标如图44、

11、图55所示。其其中 TTOUCCH_MMAX_X和TTOUCCH_MMIN_X是触触摸屏XX坐标采采样值的的最大和和最小值值;Y坐坐标同理理。可以以运行本本文程序序,同时时使用触触摸笔在在触摸屏屏的4个个角取得得最大最最小采样样值。这这里使用用的是33202400的TFFT屏,所所以TOOUCHH_X值值为3220。下下面是XX坐标的的转换程程序:Touchh_CooorddinaateCConvverssio(intt*pxx)TmpX=(tmmx=TOUUCH_MAXX_X)?(TTOUCCH_MMAX_X):*pxx;TmpX-=TOOUCHH_MIIN_XX;TmpX=(TmmpX)?

12、TmmpX:0;*px=(TmppX*TTOUCCH_XX)/(TOUUCH_MAXX_X-TOUUCH_MINN_X);3.3 坐坐标滤波波程序坐标滤波程程序Toouchh_Peen_ffiltteriing,考考虑人机机界面中中对触摸摸屏的操操作有33种:*触摸笔在在触摸屏屏上的位位置不变变;*触摸笔在在触摸屏屏上连续续滑过;*触摸笔在在触摸屏屏上有大大幅度的的跳跃。假设三次连连续采样样时刻为为T1、TT2、TT3(TT3TT2TT1),采采样间隔隔为 110mss。由于于采样间间隔远小小于人的的反应时时间,所所以在前前两种操操作模式式下,如如果采样样点有效效,将TT1和TT3时刻刻的采样

13、样值作平平均。其其平均值值和T22时刻的的采样值值比较一一般不会会大于某某个门限限,否则则判定此此次采样样点为野野点。而而对于第第三种模模式下,采采样点数数据会有有很大的的跳变。跳跳变过程程中的数数据是不不稳定的的,虽然然记入了了数据,但但被判定定成无效效的采样样点,所所以需要要在程序序中定义义一个静静态数组组x22记录录相邻的的两次采采样数据据。只有有当前后后数据持持续稳定定一段时时间,才才认为这这时的采采样点有有效。程程序中使使用的间间隔门限限FILLTERR_LIIMITT是需要要经过试试验来选选取的。这这里只给给出X坐坐标的滤滤波过程程。/*pxx为T33时刻的的采样值值,coount

14、t是记录录连续有有效采样样点次数数的静态态变量,标标志当前前数据持持续稳定定时间,一一旦发现现大于/FIILTEER_LLIMIIT,ccounnt的值值又要从从0开始始计数。Int TToucch_PPen_fillterringg(innt *px)BOOL rettVall;Statiic iint couunt=0;countt+;/如果连连续有效效采样点点次数大大于2次次,开始始进行滤滤波算法法if(coountt2)countt=2;/将T33时刻采采样值和和T1时时刻采样样值作平平均TmpX=(x0+*pxx)/22;/计算平平均值和和T2时时刻采样样值的差差值dx=(xx1Tm

15、mpX)?(xx1-TmmpX):(TTmpXX-x1); /如如果差值值大于门门限值,说说明T33的采样样值无效效,判为为野点返返回值为为FALLSE。为为了避免免过大的的跳跃,认认为触摸摸笔坐标标沿变,使使用T22时刻采采样值来来代替本本次采样样点,同同时静态态变量xx中中的数据据不变,ccounnt重新新开始记记录连续续有效采采样点次次数if(ddxFFIL TERR_LIIMITT)*px=xx1;retVaal=FFLASSE;countt=0;/否则采采样点有有效返回回值为TTRUEE,将TT3的采采样点记记入到xx1中,TT2的采采样点移移到x0中中elsex0=x11;x1=*pxx;retVaal=TTRUEE;else/连续有有效采样样次数小小于2,将将T3的的采样值值记入到到x11,TT2的采采样值移移动到xx0,并不不进行滤滤波处理理x0=x11;x1=*pxx;retVaal=FFLASSE;returrn rretVVal;34 后后续处理理经过上述的的筛选和和滤波,如如果被判判定采样样值有效效,则将将其滤波波值送给给操作系系统进行行后续处处理,否否则程序序返回,等等待下一一次采样样。在224100 teest程程序中,可可以结合合LCDD的画点点函数,将将有效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论