收藏 分享(赏)

基于s3ca4box+uclinux的触摸屏设计.doc

上传人:cjc2202537 文档编号:197051 上传时间:2018-03-23 格式:DOC 页数:5 大小:90.50KB
下载 相关 举报
基于s3ca4box+uclinux的触摸屏设计.doc_第1页
第1页 / 共5页
基于s3ca4box+uclinux的触摸屏设计.doc_第2页
第2页 / 共5页
基于s3ca4box+uclinux的触摸屏设计.doc_第3页
第3页 / 共5页
基于s3ca4box+uclinux的触摸屏设计.doc_第4页
第4页 / 共5页
基于s3ca4box+uclinux的触摸屏设计.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、基于 S3CA4BOXuClinux 的触摸屏设计第 33 卷(Ix)5)第 l2 期计算机与数字工程 I65基于 S3CA4BOX+uClinux 的触摸屏设计欧庆于张昌宏吴晓平(海军工程大学信息安全系武汉 430033)摘要Sa4130X 作为一款以 ARM7TDMI 为内核的微处理器,正日益受到广泛的应用;uClinux 作为一种运行于没有 MMU 的嵌入式微处理器的嵌式操作系统,也广泛应用到嵌入式开发中 .本文对S3Ca4130X+uClinux 嵌入式系统中的触摸屏设计进行了探讨,给出 S3CA4BOX 上触摸屏的实现硬件设计原理及结构,并针对 t;linux 触摸屏驱动程序设计中存

2、在的难点提出了解决方案.关键词:嵌入式系统 S3CA4t-t3XttinuxARM中图分类号:rI93.08DEsofTouchSernbasedOil$3C44110X+uClinuxOuQillgyII0-aIWu)(1 舯 ping(Dept.ofInformationSecuity,NavalUniv.ofEngineering,Wuhan430033):S3CA4130X,a)prrwithacoreofARM 一丁IDfvnisimmsingwidelytksod;ainux,anFmbedded(6runningOn印出 micmzprmessorwitIx3utMMUisals

3、ousedinembeddeddesign.spaperdi:弧骂9eSthedmignoftouchsLTeeIIinthesystmaOfS3CA4BOX+uainux,givesahardwaredesignandstructure,andputsforwardasolutionaimingatdiffidtyinthedriveprogramtotouchscn 瑚 oftK;linux.1eywords:FmldedSysten1,S3c44h0X,tClinux,ARMClasslrlllgrnlJ:TF393.o81 引言随着嵌入式系统的应用越来越广泛,功能也越来越强大,对系统中

4、的人机交互界面的要求也越来越高,在应用需求的驱使下,触摸输入屏已经取代鼠标,键盘,在人机交互中成为主要输入设备.从定位的机理上看,触摸屏可以分成三种:电容式,声波式,电阻式.其中电阻式触摸屏的价格较便宜,定位的精度和稳定性也已能够满足普通的使用要求,所以一般的触摸屏都是电阻式的.本文以目前国内使用最广泛的三星公司ARMTIDM1 芯片 S3CA4BOX 为硬件平台,对基于S3GNBOX+u(3inux 嵌人式系统中的触摸屏设计进行了研究.2 电阻式触摸屏原理典型的电阻式触摸屏由三个透明的压敏导电介+收到本文时间:2005 年 1 月 12 日质平面叠构成:其中夹在中间的一层用来测量触笔对触姗的

5、压力.两边的则为 x 平面与 Y 平面,分别用来测量触笔在 X/Y 方向的位置.X 和 Y 平面上各有两个电极,从而各有两根引线.这样,整个触摸屏共有四根引线,分别为 tspx,t.wnx,tspy 和 Lrny.其中前两根用于 X 平面,后两根用于 Y 平面.通过不同的连接方式,就可以通过这 4 根引线测量触笔对触摸屏的压力和位置.总而言之,就是 X 平面和 Y 平面之间的电阻反映触笔对触摸屏的压力,而 x 平面本身的电阻反映触点的 x 坐标,Y 平面本身的电阻反映触点的 Y 坐标.3S3C0X 内置 ADCS3CA4Ft)X 具有 8 路模拟信号输入的 10 位模/数转换器(ADC).它是

6、一个逐次逼近型的 ADC,内部结构中包括模拟输人多路复用器,自动调零比较器,时钟产生器,l0 位逐次逼近寄存器(R),并提供可编166 基于(4X+uClinux 的触摸屏设计第 33 卷程选择的睡眠模式,以节省功耗.但是由于C44BOX 的 ADC 不具有采样保持电路,因此虽然它具有较高的采样速度,但为了得到精确的转换数据,输人的模拟信号的频率应该不超过 100MH理论上直流和变化的非常缓慢的信号可以不使用采样保持器,而触摸屏的信号变化频率很低.网此,可以利用$3C44BOX 的内置 ADC 进行电阻式触摸屏输出信号的 A/D 转换.电阻式 4 线触摸屏图 1S3Ca4BOX 接 4 线电阻

7、原理4 基于 S3C44BoX 的触摸屏硬件设计为了将电阻式触摸屏的三种物理量转换成压力和坐标,需要对由此而产生的模拟信号进行模数转换.但是,对于触摸屏这样的低速设备,S3CA4BOX 内置的个 ADC 已经足够使用,而不必为这三个物理量分别配备模/数转换器.基于 S3C44BOX 的触摸屏设计原理如图 1 所示.利用输出管脚 TOUTI,TOLrI2,TOUT3,TOUT4 控制触摸屏 4 根引线的电平;ADC 的输人管脚 AIN),AIN1接收 X,Y 的坐标值;fib 部中断管脚 EXINT3 用来侦测触摸屏是否被触摸.当 TSPX 接高电平,TSIVIX 接低电平,X 坐标值送人 AD

8、C 的 AIN1 管脚;当 3“SPY 接高电平,TSMY接低电平,Y 坐标值送入 ADC 的 AIN0 管脚;当 TSPX和 TSMX 同时接高电平,删和 TSMY 同时接地,可以通过 X 平面与 Y 平面之间的电阻测量触笔对触摸屏的压力大小.5 基于 uClinux 的触摸屏驱动设计在 uClinux 中,设备类型分为三类:字符设备,块设备,网络设备.触摸屏属于字符设备,同时由于ADC 完成了触摸屏信号的模数转换,所以对触摸屏的驱动实际上是对 ADC 的字符设备驱动.为了在 uClinux 中能够操纵触摸屏,在触摸屏驱动程序中应该提供 open()及 read()两个接口.在 open()

9、函数中,主要实现触摸屏的初始化.首先通过 registerchrdev()注册字符设备,声明其主设备号,设备名称以及指向函数指针数组 fileoperatiors 的指针 .然后,再通过 requestirq()注册中断服务程序 ADCtsinterrupt().在 read()函数中,主要通过调用系统调用一 copytoLkqer()实现将 X/Y 方向的电压值由内核空间复制到用户空间.一旦完成了触摸屏的初始化,用户空间进程就能够通过 read()函数来读取触摸点的状态和位置.这个时候存在两种可能的情况:一种是已经有数据供读取,这时用户空间进程马上返回;另一种是暂时还没有数据可读,这时用户空

10、间进程就需要在一个等待队列里睡眠等待.因此,在 open()函数中还应该通过调用 initwaitqueuehead()创建一个等待队歹 0.为了消除震颤,用户空间进程对一个触摸动作进行 4 次取样,积累 4 个原始样本以进行平滑计算.如果这 4 个原始样本中的坐标相差不大,则可以认为取得的样本是稳定的,进行平均从而成为一个有效样本.如果相差过大,则将这四个原始样本抛弃,重新进行采样,得到一个有效样本后,将其写入缓冲区.在用户空间进程通过 read()系统调用将 x/Y 方向的电压值复制到用户空间后.由于触摸屏返回的数据是电压值,如果用户想将获得的触摸屏数据转换为触摸屏的坐标值,需要进行校正和

11、转换这两个步骤.校正是根据触摸屏对应点的电压值和坐标的比例关系计算出一组转换因子.转换因子可以事先计算,以数组的形式进行保存.该因子反映了触摸屏上的电压值和坐标的对应关系.转换是将获取的触摸屏上的电压值通过转化为 X/Y 方向的坐标值.6 结束语本文以三星公司 ARMTII3VR 内核芯片 S3CA4B0和 4 线电阻式触摸屏作为硬件基础,uClinux 作为软件平台.结合实际工程项目,重点从硬件电路的搭建,驱动程序的设计这两个方面对触摸屏在嵌入式系统的应用中的难点进行了研究.参考文献1ALESSANDRORUBINIJONMTHANCDRBET,LINUXDEVICEDRIVERS 中国电力出版社2毛德操,胡希明 ,嵌入式系统一采用公开源代码和 strongARM/XSmle 处理器M.浙江大学出版社3毛德操,胡希明 ,Linux 内核源代码情景分析M. 浙江大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报