触摸屏驱动设计与坐标数据处理

触摸屏驱动设计与坐标数据处理

ID:39306970

大小:709.45 KB

页数:4页

时间:2019-06-30

触摸屏驱动设计与坐标数据处理_第1页
触摸屏驱动设计与坐标数据处理_第2页
触摸屏驱动设计与坐标数据处理_第3页
触摸屏驱动设计与坐标数据处理_第4页
资源描述:

《触摸屏驱动设计与坐标数据处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、工程应用DOI:10.3969/.jissn.1001-3824.2011.01.021触摸屏驱动设计与坐标数据处理陈勇,蒋康康,吕霞付(重庆邮电大学自动化学院,重庆400065)摘要:在介绍触摸屏工作原理和接口电路的基础上,分析了基于C/OS-II的嵌入式实时系统,深入探讨了触摸屏驱动程序的优化设计。针对坐标采集中的抖动和飞点问题作了分析和处理,并从软硬件设计角度提出了消除抖动和飞点的解决方案,实验结果表明该方案切实可行且实际效果显著。关键词:触摸屏驱动;抖动;飞点;中位值平均滤波算法[1]转换,就可相应

2、地判断出接触点的坐标。0引言12S3C2440触摸屏控制器在便携式的电子类产品中,触摸屏由于其轻S3C2440是基于ARM920T内核的一款MCU,便、反应速度快、节省空间和易于交流等优点,已经主频高达400MHz。该芯片内部集成了众多的外围成为嵌入式系统的主流输入设备,但是触摸屏容易设备,其中包括4线电阻式触摸屏控制器和8路模受到电气噪声和电压抖动的影响而产生误差,定位拟输入通道等。S3C2440提供的8路A/D模拟输精度较低。因此,研究设计高效、定位精确的触摸入,其中有4路是与触摸屏复用的,如果TSX

3、P,屏驱动程序就有了重要的意义。本文分别选择嵌TSXM,TSYP,TSYM不做触摸屏输入的时候可以作入式实时操作系统C/OS-II和S3C2440作为驱动为普通的A/D转换使用。图1为S3C2440的ADC开发的软件和硬件平台,针对当前触摸屏数据采样和触摸屏接口电路。中存在的飞点和抖动问题,从软硬件设计的角度提出了切实可行的解决方法,并通过实验加以验证。1硬件平台11电阻式触摸屏的工作原理电阻式触摸屏通常由三部分组成:上下两层透明的ITO(氧化铟)导体层、两层导体之间的间隔层和电极。触摸屏工作时,上下

4、导体层各自构成了一图1ADC和触摸屏接口电路个电阻网络,分别称为X层、Y层,X层在左右两电S3C2440提供的触摸屏接口有以下几种工作模极,Y层在上下两电极分别引出信号,一共引出4个式:正常转换模式;X/Y坐标独立的转换模式;信号,构成所谓的四线电阻。当某一层加上电压X/Y坐标自动转换模式;等待中断模式。工作时,会在该网络上形成电压梯度。如有外力使得上模式的选定可以通过设置触摸屏控制寄存器的相下两层在某一点接触,则在电极未加电压的另一层应位实现。文中选用的是X/Y坐标自动转换模式。可以测得接触点处的电压

5、,得到的电压值通过A/D2C/OS-II下触摸屏驱动设计收稿日期:2010-11-03在C/OS-II下没有统一的设备驱动接口79工程应用不像Windows或Linux通过设备文件的定义模式。1)Touch_Init()函数。在C/OS-II一类的微内核操作系统中,设备驱动一Touch_Init()函数实现触摸屏的初始化,完成般都是由应用程序在内核外部实现的,即它们对硬中断向量设置和触摸屏控制寄存器设置,并打开中件的操作和控制是通过一般函数来完成的。因此,断。主要涉及过程如下:为使C/OS-I

6、I能够操作和控制触摸屏,需要在触摸ADC控制寄存器设置[2]屏驱动模块中提供相应驱动函数。rADCCON=(1<<14)+(ADCPRS<<6);ADC延时寄存器21驱动流程rADCDLY=ADC_DELAY_TIME;C/OS-II触摸屏驱动程序采用中断方式对触[3]触摸屏控制寄存器的设置摸笔的按下状态进行检测。C/OS-II实时系统rADCTSC=(1<<7)

7、(1<<6)

8、(0<<5)

9、(1<<4)

10、运行后,首先调用Touch_Init()初始化触摸屏,然后(1<<3)

11、(1<<2)

12、(0);

13、通过OSTaskCreat()创建触摸屏任务TouchTask()。指定中断服务函数此任务优先级较高,创建后立即抢占CPU获得运pISR_ADC=(U32)TSIrqISR;行,不停地侦测触摸屏是否被按下。当触摸笔按下开中断[5]的时候,内核响应中断,进入中断处理程序。中rINTMSK&=~(BIT_ADC);断设为下降沿有效,当中断来到之后,首先屏蔽中rINTSUBMSK&=~(BIT_SUB_TC)。断,以保证在触摸屏被连续按下的时候,不会连续2)GetPenXY()函数。触发中断,进入中断处理程序;然后

14、采集坐标数据,发生触摸事件时,通过采样函数GetPenXY()并经过一系列数据处理得到准确采样点数据。相获取触摸屏按下点的位置坐标。为便于后续滤波关数据传递给操作系统后,判断触摸笔是否抬起,处理,GetPenXY()对每点X/Y坐标进行9次采样,如果已经抬起,结束采集数据;如果没有抬起,则进分别记录在TP_X[9]和TP_Y[9]数组中。行下一个数据的采集过程,直到触摸笔

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。