其实不管在任何设计中,人性化都是非常重要的一环。信息技术的发展,为人们带来了触摸屏的福利。由于触摸屏可以使操作简单直观,因此越来越多的手持产品,公共服务类设备采用触摸屏。触摸屏有电阻式触摸屏、电容式触摸屏、表面声波式触摸屏、红外线触摸屏等多种。电阻式触摸屏是目前应用比较广泛的一种,有4线、5线、7线等几种。
2 电阻式触摸屏的工作原理 2.1 电阻式触摸屏结构
典型触摸屏的工作部分一般由3部分组成,如图1所示,这一个电阻式触摸屏的横截面,两层透明的电阻性导体层(玻璃)、两层导体之间的隔离层(隔离玻璃珠)、以及电阻性涂层。电阻性导体层必须选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。
隔离层为粘性绝缘液体材料,如聚脂薄膜。电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。
2.2 电阻式触摸屏原理
电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间会产生接触。所有的电阻式触摸屏都采用分压器原理来产生代表X坐标和Y坐标的电压。如图2所示,分压器是通过将两个电阻进行串联来实现的。上面的电阻(R1)连接正参考电压(VREF),下面的电阻(R2)接地。两个电阻连接点处的电压测量值与下面那个电阻的阻值成正比。为了在电阻式触摸屏上的特定方向测量一个坐标,需要对一个阻性层进行偏置:将它的一边接VREF,另一边接地。同时,将未偏置的那一层连接到一个ADC的高阻抗输入端。当触摸屏上的压力足够大,使两层之间发生接触时,电阻性表面被分隔为两个电阻。它们的阻值与触摸点到偏置边缘的距离成正比。触摸点与接地边之间的电阻相当于分压器中下面的那个电阻。因此,在未偏置层上测得的电压与触摸点到接地边之间的距离成正比。
3 ADS7846的基本特性与典型应用 3.1 基本特性
ADS7846是ADI公司生产的一种4线式触摸屏控制器,目前广泛应用于电阻式触摸屏输入系统中。ADS7846数字转换器在一个12位逐次逼近式比较寄存器(SAR)ADC架构上集成了用于驱动触摸屏的低通阻抗开关。这些器件不使用内部基准电压,当以大于125kp/s的吞吐率运行时的最大功耗小于1.4mW。它们还带有10keV到12keV的模拟输入ESD保护,增强了抗ESD能力,以避免关键的内部系统元件损坏。使用单2.2V到5.25V的电源工作。AD7846串行接口的一次完整操作需要24个DCLK.,前8个脉冲接收8位的命令,并在第6个脉冲的上升沿开始采样,从第9个脉冲开始进入转换阶段,输出12位采样值,转换结束进入空闲阶段。直到24个DCLK结束,CS置高电平,一次测量结束。
3.2 电阻式触摸屏的接口电路与坐标值获取
图3为ADS7846与PhilipsARM7芯片LPC2210的接口电路。
ADS7846芯片通过片内模拟电子开关的切换,将X+(Y+)端接正电源VCC,X-(Y-)接地,将X+(Y+)和X-(Y-)端以差动形式接到A/D转换器的输入端。
当用笔点击触摸屏的不同位置时,由于输入到A/D转换器的电压不同(见前面的分压原理),经过A/D转换后就得到笔触点的输出值,该输出值与笔触点的位置成近似线性关系。因此ADS7846就可以得到笔触点在触摸屏上的相对位置。
3.3 误差产生的原因及消除方法 对坐标值精度产生影响的原因主要有:
①触摸屏本身电阻材料的均匀性,由于材料均匀性的问题,可能导致电压分压的不均匀,必然影响输出的精度。
②触摸在按下和释放过程中的抖动问题。
③ADS7846模拟开关的内阻和A/D转换器自身的转换精度。 ④ESD干扰问题。
第①个和第③个问题是器件的固有问题,无法消除。对第②个问题,可通过软件进行键削抖。采用两次键值比较是一个较好的方法,具体工作原理是连续测量X,Y坐标值两次,然后进行比较,若相同或相差在允许的误差范围内就认为是有效键,否则为无效键。
关于ESD问题,这个是设计时主要面对的问题,具体措施主要采取一下几点: (1)ADS7846的模拟地与系统的数字地不是一点相连。数字的干扰由公共阻抗耦合到ADS7846的模拟地,产生干扰造成抖动。解决办法是模拟地与数字地一点连接。
(2)ADS7846的逐次比较型A/D转换器对电源及数字写入非常敏感,解决方法是在电源引脚附近放置一个10μF的旁路电容,在参考电压输入端也放置一个0.1μF的旁路电容。
(3)在电磁干扰比较强的场合,为了防止触摸屏的引脚产生的高频干扰脉冲对ADS7846产生干扰,应在关键引脚DCLK,DIN,DOUT对地接0.001μF的高频整波电容。在PCB布线的时候屏到芯片的连线也应该以短粗为主。
3.4 ADS7846控制字及数据传送方式 (1)控制字
ADS7846的控制字由表1所列,其中S为数据传输起始标志位,该位必为“1”,A2~A0进行通道选择。MODE用来选择A/D转换的精度,“1”选择8位,“0”选择12位。SER/DFR选择参考电压的输入模式。PD1,PD0选择省电模式:“00”省电模式允许,在两次A/D转换之间掉电,且中断允许;“01”同“00”但不允许中断;“10”保留;“11”禁止省电模式。
(2)数据传送方式
ADS7846与LPC2210(微控制器)之间通过标准的SPI接口相连,由LPC2210启动3次SPI传送来完成转换,如图4所示。第一次SPI传送由LPC2210向ADS7846发送控制字,包括起始位、通道选择、8/12位模式、差分/单端选择和掉电模式选择,接下来的两次SPI传送的则是LPC2210读取ADS7846A/D转换的结果数据(12位时最后4位自动补0),到此完成触摸屏控制器和微控制器之间的一次通信。ADS7846还设置有触摸识别电路,当检测到有触摸时,该电路输出一个低电平信号,称为PENIRQ#(笔中断),ADS7846以这个信号向微控制器提出测量触点坐标的中断请求。
4 坐标定位与坐标变换
触摸屏常和LCD屏叠加,配套使用。触摸屏的坐标原点、标度和LCD的坐标原点、标度不一样,且电阻式触摸屏的坐标原点通常不在有效点触区内。因此必须进行坐标变换。
常用的坐标定位方法有,最值法,4点定位法,以及矩阵校准法。矩阵校准法对位精度最高,但也最为复杂,一般不常用。这里重点分析最值法和4点定位法。
4.1 最值法 触点坐标公式为:
式中,X和Y分别为触点在X工作面和Y工作面上产生的电压的数字量的测量值,可通过采样得到;(X﹐Y)反映了触点在触摸屏上的坐标。Xmin,Ymin,Xmax和Ymax分别为触摸屏上最小和最大坐标点在X工作面和Y工作面上产生的电压的数字量的实际测量值,它们是常量,可通过测量得到;(Xmin,Ymin)和(Xmax,Ymax)反映了触摸屏上最小、最大坐标点的坐标;W和H分别是LCD显示屏X轴和Y轴上的像素点总数;(XLCD,YLCD)为触点映射到LCD显示屏上的像素点坐标。
最值法算法实现比较简单,不过定位精度有所欠缺,只适合用于触摸屏与LCD尺寸相差不大,并对精度要求不高的场合。
4.2 4点定位法
如图5所示,ABCD为触摸屏对应LCD4个顶点的坐标点,分别触击这4点,得到4组坐标值:
(XA﹐YA),(XB﹐YB),(XC﹐YC),(XD﹐YD)。计算出触摸屏中心点坐标(XO﹐YO)为:
设ΔX=(XBXA+XDXC),ΔY=(YBYA+YDYC),最终可得触点坐标公式:
式中,X和Y分别为触点在X工作面和Y工作面上产生的电压的数字量的测量值,可通过采样得到;(X﹐Y)反映了触点在触摸屏上的坐标。W和H分别是LCD显示屏X轴和Y轴上的像素点总数;(XLCD﹐YLCD)为触点映射到LCD显示屏上的像素点坐标。
4点定位法,在触摸屏中心点坐标的定位上优于最值法,所得到的触点坐标更为精确。在一些手写识别领域应用较多。
5 实现流程以及注意事项
触摸屏和微控制器之间的互动通过外部中断实现。在程序设计中重要功能块包括以下几个部分(见图6):
ADS7846的初始化,包括有:初始化SPI寄存器、可编程定时器中断和笔中断;MCU外部中断的配置;LCD控制器的初始化配置:LCD驱动IC的一些初试化配置,一般由LCD的厂家提供;坐标定位子程序;以及LCD逐点显示子程序。
程序设计中,需要注意触摸抖动和连击问题。
可以采用延迟测量法来解决,即在接收到触摸屏笔中断时延迟一段时间(抖动时30ms)后再测量,可消除抖动;测量完后再次延迟一段时间(连击延时300ms)后打开笔中断,可避免连击现象的出现。
6 结语
本文讨论了在电阻式触摸屏开发应用中遇到的几个技术问题以及解决方法,电阻式触摸屏的应用既有硬件接口技术问题,也有软件处理方法的问题。
因篇幅问题不能全部显示,请点此查看更多更全内容