嵌入式系统中的触摸屏及其控制

更新时间:2023-06-10 15:46:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件人才与时代和社会的需求 工作效能

 第20卷 第1期

文章编号:100325850(2007)0120039203

电脑开发与应用(总41) 39

嵌入式系统中的触摸屏及其控制

Touch-screenanditsControlintheEmbeddedSystem

温景阳1 于 同2 付梦印1 陶 然1 张全海3

1

北京理工大学2中国兵器科学研究院3中信昊园北京公司北京 100081 北京 100089 北京 100000

【摘 要】触摸屏逐渐取代键盘成为嵌入式系统常选用的人机交互工具。并以四线电阻式触摸屏和触摸屏控制器

ADS7843,从系统的硬件入手,分析整个系统的硬软件原理及其实现方法,结合硬件的实现原理,阐述在Win2dowsCE系统下,触摸屏驱动的结构以及软件的实现方法。【关键词】嵌入式系统,触摸屏,控制器,驱动软件

中图分类号:TP334.23

文献标识码:A

ABSTRACT Thetouch2screengraduallyreplacesthekeyboardandbecomesman2machineinlsoftheembeddedsystem.Andtakingfourresistancestouch2screenanditscontrollerADasanexampistheoryofhard2wareandsoftwareofthesystemandtheimplementationapproach.Onofarepprinciple,thispaperal2soexpoundsthestructureoftouch2drivenscreenandsoftwiWssystem.KEYWORDS embeddedsystem,touch2,ller,、占用空间少、,此项技术引用到军用便携式通信设备上也同样具有很方便使用的优点,便于使用者进行输入信息的操作。

触摸屏的输入系统硬件上是由触摸屏、触摸屏控制器、微控制器及其相应软件构成,本文从系统的硬件组成入手,分析整个系统的硬软件原理及其实现方法,结合硬件的实现原理,阐述在WindowsCE系统下,触摸屏驱动的结构以及软件的实现方法。

1 硬件系统组成原理

触摸屏输入系统由触摸屏、触摸屏控制器和微控制器三部分组成。图1示出了一个实际的触摸屏输入系统,在该系统中触摸屏采用SHARP公司的四线电阻式触摸屏,触摸屏控制器采用BB公司的ADS7843,微控制器为SHARPARM9处理器,型号:LH7A400。

1.1 触摸屏原理

触摸屏附着在LCD的表面,与L

CD相配合使用,如果能测量出触摸点在屏幕上的坐标位置,则可根据显示屏上对应坐标点的显示内容或图符获知触摸者的意图。触摸屏按其技术原理可分为五类:矢量压力传感式、电阻式、电容式、红外线式、表面声波式,其中电阻式触摸屏在嵌入式系统中用的较多。

3 2006206230收到,2006211218改回

33温景阳,男,1970年生,博士,研究方向:信息安全与对抗。

电阻触摸屏是一块4层的透明的复合薄膜屏

,如

图2所示,最下面是玻璃或有机玻璃构成的基层,最上面是一层外表面经过硬化处理从而光滑防刮的塑料层,中间是两层金属导电层,分别在基层之上和塑料层内表面,在两导电层之间有许多细小的透明隔离点把它们隔开。当手指触摸屏幕时,两导电层在触摸点处接触。

图2 电阻触摸屏

软件人才与时代和社会的需求 工作效能

40 (总42)

嵌入式系统中的触摸屏及其控制2007年 

触摸屏的两个金属导电层是触摸屏的两个工作面,在每个工作面的两端各涂有一条银胶,称为该工作面的一对电极,若在一个工作面的电极对上施加电压,则在该工作面上就会形成均匀连续的平行电压分布。如图1所示,当在X方向的电极对上施加一确定的电压,而Y方向电极对上不加电压时,在X平行电压场中,触点处的电压值可以在Y+(或Y-)电极上反映出来,通过测量Y+电极对地的电压大小,便可得知触点的X坐标值。同理,当在Y电极对上加电压,而X电极对上不加电压时,通过测量X+电极的电压,便可得知触点的Y坐标。电阻式触摸屏有四线和五线两种。四线式触摸屏的X工作面和Y工作面分别加在两个导电层上,共有四根引出线,分别连到触摸屏的X电极对和Y电极对上。

1.2 ADS7843触摸屏控制器的工作原理

BB公司的ADS7843图5 ADS7843

基本电路图

器,X压,X、Y坐标。

①操作原理ADS7843内部有一个由多个模拟开关组成的供电-测量电路网络和12位的A D转换器(参见图3)。ADS7843根据微控制器发来的不同测量命令导通

图6 转换时序

②ADS7843原理图

ADS7843基本工作原理图如图5所示,工作电压为+2.7V到+5.0V,IN3,IN4为两路附加的模拟输入通道,触摸屏占用IN1和IN2通道。

③数字接口

ARM控制器SHARPLH7A400通过SSP接口与ADS7843之间相连,SSP为同步串行接口(Syn2chronousSerialPort)通过配置寄存器可以设置成SPI通讯方式。

ARM启动3次SPI传送来完成转换,如图6所

不同的模拟开关,以便向工作面电极对提供电压,并把相应测量电极上的触点坐标位置所对应的电压模拟量引入A 在触摸点X、D转换器。Y坐标的测量过程中,测量电压与测量点的等效电路如图4所示,图中P为测量点

示。第一次SPI传送向ADS7843发控制字,包括起始位、通道选择、8 12位模式、差分 单端选择和掉电模式选择,接下来的两次SPI传送则是从ADS7843取A D转换结果数据(最后四位自动补零),完成触摸屏

图3 ADS7843

的功能框图

控制器和微控制器之间的一次通信。

当触摸屏受到点击或者挤压的时候,ADS7843通过笔中断请求通知ARM有触摸发生。如图6所示,当没有触摸时,MOSFET①和②打开、③关闭,则笔中断输出引脚通过外加的上拉电阻输出为高。

图4

 测量关系

图7 笔中断请求当有触摸时,①和③打

开、②关闭,则笔中断输出引脚通过③内部连接到地而

软件人才与时代和社会的需求 工作效能

 第20卷 第1期电脑开发与应用

INTR

TOUCH和SYSINTR

TOUCH

TOUCH

(总43) 41

输出为低,从而向ARM提中断请求。CHANGED。

2 WINCE下的触摸屏实现

WINCE系统通过驱动程序才能够访问物理硬

SYSINTRSYSINTR

TOUCH指示触摸屏有中断产生

CHANGED指示触摸屏数据有改

件。WINCE设备驱动程序可以直接对设备进行操作实现软件接口称为单片的(monolithic)驱动程序,也可以将软件接口和针对的设备进行的操作分散到两个层上称为分层的(layered)驱动程序。由微软提供的许多驱动程序都采用了分层结构。分层驱动程序分为上层和下层,上层是模型设备驱动

(ModelDeviceDriver,MDD),下层是依赖平台的驱动程序(PlatformDe2pendentDriver,PDD)。WINCE系统触摸屏驱动程序

在中断相应(ISR)中响应中通过如下方法实现

elseif(ipregcopy&INTC{intv

disable

触摸屏中断GPIO5INTR)

GPIO5INTRBIT);

interrupt(INTC

配置触摸屏终端状pDrvGlob->tch.touchIrq=1;

vpDrvGlob->tch.timerIrq=0;vpOSTTouch->load=10;vpOSTTouch->clear=0;intenabintINTRCBIT);

CTRL

508K

CTRL

FREERUN;

pOST-lIE IMER

为分层驱动程序。

WINCE动程序(MDD)。动程序(MDD)是通用的①连接,通常这些(DEVICEDRIVERSERVICEPInterface,DDSI)。

}ipreg{ int

copy&INTCdisable

TC1OINTR)

TC1OINTRBIT);

CTRL

EN2

interrupt(INTC

vpOSTTouch->clear=0;

vpOSTTouch->control&=~TIMERABLE;

if(vpDrvGlob->tch.touchIrq==1){ 有触摸屏中断产生

②把不同的函数集提供给操作系统,通常把这些函数叫做设备驱动程序接口(DeviceDriverInterface,DDI)。

  发送中断消息 returnSYSINTR

}else

{vpDrvGlob->tch.touchIrq=0;vpDrvGlob->tch.timerIrq=1;

TOUCH;

③负责与、GWES模块和内核通讯,包括一些复杂的操作,例如中断等。2.1 WindowsCE下驱动结构

●触摸屏采集和校准触摸点流程

①调用TouchPanelEnable函数开始屏幕。②调用TouchPanelGetDeviceCaps查询采样的个数。

③每一个采样点进行如下操作:

a.调用TouchPanelGetDeviceCaps函数获得采

发送触摸屏数据改变消息 returnSYSINTR }

}

TOUCH

CHANGED;

3 结 论

本文简单介绍了WindowsCE下触摸屏驱动的开发,由于当前触摸屏的应用越来越广泛,嵌入式系统的应用范围也越来越广,将对其他嵌入式系统下驱动的开发有一定的借鉴意义。

参考文献

[1][2][3]

样点坐标。

b.显示X并返回坐标。

c.调用TouchPanelReadCalibrationPoint函数获

得校准数据。

④调用TouchPanelSetCalibration函数计算校准点的系数。

2.2 触摸屏笔中断的实现

ADS7843的Pin7为中断引脚,当触摸屏受到点

微软公司1MicrosoftWindowsCE设备驱动程序开发指南[M].北京:北京希望电子出版社,19991

陈向群,马洪兵系统分析及实验教程[M].北京:机械工业出版社,20031

陈贵强,宁 扬内核定制及应用开发[M].北京:电子工业出版社,20041

击和压触地时候,此脚信号由高电平变为低电平,点击取消时此脚电平变为高。

在WindowsCE中使用定时器维护者两种中断信号SYS2

本文来源:https://www.bwwdw.com/article/er51.html

Top