发表于:2005-08-06 21:54:00
3楼
这样子吧!我这有份资料让你参考下。
嵌入式系统中的触摸屏及其控制
摘要:触摸屏逐渐取代键盘成为嵌入式系统常选用的人机交互工具。本文以电阻式触摸屏和触摸屏控制器ADS7846为例介绍触摸屏及其控制器的原理,并以一个应用实例说明如何用触摸屏及其控制器构成嵌入式系统的输入系统。
关键词:嵌入式系统、触摸屏、触摸屏控制器
Touch-screen and its controller in the embedded system
Abstract: The touch-screen gradually replaces the keyboard and becomes the input system of the embedded system. This paper introduces the theory of the resistance touch-screen and its controller ADS7846, and gives an example to show how to form the input system of the embedded system with them.
Key word: embedded system, touch-screen, touch-screen controller.
在便携式的电子类产品中,触摸屏由于其轻便、占用空间少、方便灵活等优点,已经逐渐取代键盘成为嵌入式计算机系统的输入设备。基于触摸屏的输入系统实际上是由触摸屏、触摸屏控制器、微控制器及其相应软件构成的,本文从系统的硬件组成入手,分析整个系统的硬软件原理及其实现方法。
一. 系统组成原理
触摸屏输入系统由触摸屏、触摸屏控制器和微控制器三部分组成。图1示出了一个实际的触摸屏输入系统,在该系统中触摸屏采用信利公司的四线电阻式触摸屏,触摸屏控制器采用BB公司的ADS7846,微控制器为Motorola M·CORE系列的MMC2107。
图1 触摸屏输入系统的组成
图2触摸屏的触摸示意图
1. 触摸屏原理
触摸屏附着在显示器的表面,与显示器相配合使用,如果能测量出触摸点在屏幕上的坐标位置,则可根据显示屏上对应坐标点的显示内容或图符获知触摸者的意图。触摸屏按其技术原理可分为五类:矢量压力传感式、电阻式、电容式、红外线式、表面声波式,其中电阻式触摸屏在嵌入式系统中用的较多。电阻触摸屏是一块4层的透明的复合薄膜屏,如图2所示,最下面是玻璃或有机玻璃构成的基层,最上面是一层外表面经过硬化处理从而光滑防刮的塑料层,中间是两层金属导电层,分别在基层之上和塑料层内表面,在两导电层之间有许多细小的透明隔离点把它们隔开。当手指触摸屏幕时,两导电层在触摸点处接触。
触摸屏的两个金属导电层是触摸屏的两个工作面,在每个工作面的两端各涂有一条银胶,称为该工作面的一对电极,若在一个工作面的电极对上施加电压,则在该工作面上就会形成均匀连续的平行电压分布。如图1所示,当在X方向的电极对上施加一确定的电压,而Y方向电极对上不加电压时,在X平行电压场中,触点处的电压值可以在Y+(或Y-)电极上反映出来,通过测量Y+电极对地的电压大小,便可得知触点的X坐标值。同理,当在Y电极对上加电压,而X电极对上不加电压时,通过测量X+电极的电压,便可得知触点的Y坐标。电阻式触摸屏有四线和五线两种。四线式触摸屏的X工作面和Y工作面分别加在两个导电层上,共有四根引出线,分别连到触摸屏的X电极对和Y电极对上。五线式触摸屏把X工作面和Y工作面都加在玻璃基层的导电涂层上,但工作时,仍是分时加电压的,即让两个方向的电压场分时工作在同一工作面上,而外导电层则仅仅用来充当导体和电压测量电极。因此,五线式触摸屏的引出线需为5根。
2. ADS7846触摸屏控制器的工作原理
各种类型的触摸屏均有其相应的控制器,如:ADS7846是四线式触摸屏的控制器,而ADS7845是五线式触摸屏的控制器。控制器的主要功能是分时向X、Y电极对施加电压,并把测量电极上的电压信号转换为相应触摸点的X、Y坐标。
1).操作原理
ADS7846内部有一个由多个模拟开关组成的供电-测量电路网络和12位的A/D转换器(参见图3)。ADS7846根据微控制器发来的不同测量命令导通不同的模拟开关,以便向工作面电极对提供电压,并把相应测量电极上的触点坐标位置所对应的电压模拟量引入A/D转换器。在触摸点X、Y坐标的测量过程中,测量电压与测量点的等效电路如图4所示,图中P为测量点。
图3 ADS7846的功能框图
图4 测量关系
2).数字接口
ADS7846与MMC2107之间通过标准的SPI口相连,由MMC2107启动3次SPI传送来完成转换,如图5所示。第一次SPI传送由MMC2107向ADS846发控制字,包括起始位、通道选择、8/12位模式、差分/单端选择和掉电模式选择,接下来的两次SPI传送则是MMC2107从ADS7846取A/D转换结果数据(最后四位自动补零),完成触摸屏控制器和微控制器之间的一次通信。
图5 转换时序
图6笔中断请求
3).笔中断(PENIRQ#)输出
ADS7846通过笔中断请求向MMC2107表示有触摸发生。如图6所示,当没有触摸时,MOSFET①和②打开、③关闭,则笔中断输出引脚通过外加的上拉电阻输出为高。当有触摸时,①和③打开、②关闭,则笔中断输出引脚通过③内部连接到地而输出为低,从而向MMC2107提中断请求。
二. 实际应用举例
触摸屏输入系统的硬件连线如图1所示,当有触摸时ADS7846向MMC2107提中断请求,由MMC2107响应该中断请求,启动图5所示的通信过程,读取ADS7846的转换结果,从而得到触摸点的坐标,其软件接口如图7所示,包括系统初始化(图中省略)、中断服务程序和ADS7846测量程序三部分。在ADS7846测量程序中,完成一次MMC2107和ADS7846之间的通信过程。
在测量过程中发现ADS7846的外时钟为50KHz~60KHz时是比较适宜的。ADS7846只能作为SPI的从设备,各信号的时序是完全固定的,因此需要配置MMC2107 SPI接口信号的时序使之完全符合ADS7846的时序,尤其是从选择信号SS#在一次通信过程中应一直为低(见图5)。
图7 软件接口流程图
实际测量结果如表1、表2所示: 表1是在一条基本竖直的直线上等距离测量的几个点的坐标值,从表中可得X坐标的斜率为64.25/mm,表2是一条基本水平的直线上等距离测量的几个点的坐标值,可知Y坐标变化斜率为46.33/mm。
表1:
X坐标 2223 2198 2192 2180 2182 2198 2173 2188
Y坐标 157 380 620 849 1079 1326 1551 1801
表2:
X坐标 3935 3621 3311 2999 2669 2327 2012 1701 1387 1055
Y坐标 2056 2059 2059 2062 2057 2057 2053 2086 2066 2032
白杜李:13119514782