随着互联网技术在社会中的日益普及,信息查询终端被广泛地使用在公共场所,提供公共信息,搜集各种意见,甚至提供各种增值服务。信息终端是一个计算机系统,要实现与公众方便可靠地交互,目前最简单的办法是使用触摸屏。用于公共场所的信息终端,触摸屏几乎是唯一的交互方式。对于按键式的触摸屏应用,软硬件都相对简单,而一些比较高端的应用,如可以实现手写输入的信息查询终端,要求在手指这样粗糙的按压下能达到较高的精度,并能识别出按压轨迹。这需要使用一些硬件和软件的方法提高精度,抑制噪声。
硬件实现:
出于可靠性和成本的考虑,选用五线电阻式触摸屏,使用一个单片机来实现触摸屏控制。如图1所示,使用低成本的ARM单片机LPC2131[1],使用GPIO控制相应的开关,使触摸屏的四个角接高或接低。W点输出接到单片机的一个模数转换通道。W点还接有一个开关及电阻到地,实现对按压检测及按压力度检测。触摸屏控制策略如表1所示,当测量X轴时,打开W开关,将UL(左上)和DL(左下)接到高电平,将UR(右上)和DR(右下)接低电平,此时W输出为X轴方向触摸屏体电阻的分压。同理当测量Y轴时,打开W开关,将UL(左上)和UR(右上)接到高电平,将DL(左下)和DR(右下)接低电平此时W输出为Y轴的位置。测量Z轴时,关闭W开关,触摸屏上的其它点都接高,此时W输出为触摸索屏体电阻接触电阻之和与参考电阻之间的分压。当按压力度不同时,接触电阻会有所变化, W的输出也会有所变化,从而完成Z轴测量。测量结果使用标准串口送到查询终端。
模拟开关的设计
LPC2131内嵌的ADC模块精度为10比特,量化结果取决于ADC的电压参考值及ADC的输入。为简便起见,ADC的参考电压取为经过滤波的处理器供电电压,触摸屏的驱动电压也是一样。触摸屏在工作时,其工作电压要经过上边和下边的两个开关,这两个开关在工作时会有电压降,这样会使触摸屏输出电压范围小于ADC的最大量程,测量结果达不到满幅,从而影响到测量精度。如果采用如图1所示的触摸屏电路,为了提高测量精度,要尽可能地降低开关的压降。因为要用多个开关,使用专用的模拟开关成本太高,所以考虑使用三极管或场效应管代替。如图2所示,使用三极管的开关每个单元由一个PNP和一个NPN型三极管构成,当开关驱动输出为低时,PNP管导通触摸屏接VDDA,当开关驱动为高时NPN管导通,触摸屏接地。使用场效应管的开关每个单元由一个P管和一个N管(增强型绝缘栅场效应管)构成,当开关驱动输出为低时,P管导通触摸屏接VDDA,当开关驱动为高时N管导通,触摸屏接地。使用三极管作为开关,三极管工作在饱和区,当三极管的集电极电流为定值时,改变基极电流,对饱和压降Vce的改变不大。使用场效应管作为开关,场效应管工作在可变电阻区,当场效应管的漏极电流为定值时,改变栅极电压,压降Vds有可能变小。为了测试这个开关,选用了兼容封装的三极管和场效应管,见图2。也就是说,在实际电路中这两种器件可以互换。实际测试时发现,使用三极管HMBT8050和HMBT8550时,饱和压降大约为NPN管Vce = 0.45V,PNP管Vce = -0.45V。而使用场效应管FDN306P 和FDN327N时,压降为N管Vds = 0.2V,P管Vds = -0.2V。可见,使用MOS管作为开关更为合适。
主要噪声来源
1、 工频(50Hz)交流噪声 因为触摸屏是直接安装于显示器上,显示器是一个很强的工频交流噪声源,操作者本身也会有感应的交流噪声通过手指的接触作用于触摸屏。
2、 供电电源纹波噪声 触摸屏控制器的供电使用长线从主机引出,不良的电源退耦会影响到触摸屏控制器内模数转换器的参考电压的稳定性。
3、 触摸抖动 触摸按压释放时,上下层基板构成一个电容器,加上触摸屏本身的输出阻抗构成RC电路,阻碍电压变化。不同人按压产生的压强不一样,手指按压时的颤抖都会引入噪声。
硬件滤波器
对于工频交流噪声,一般的做法是使用由RC或LC网络构成的带阻滤波器,因为阻带的频率很低(50Hz),导致所需器件标称值较大,从而器件的体积也会较大,这不利于产品小型化。低频率的带阻滤波器会带来较大的信号延迟,对于需要实现手写输入的触摸屏应用,实时性还是很重要的,因此模拟工频带阻滤波器显然很难实现。为了降低供电电源纹波噪声的影响可以在供电线及输出控制线上加高频铁氧体磁环,电源使用穿芯电容引入,模拟供电电源加上铁氧体磁珠及电容滤波。模拟地与数字地分开。这些办法都能较好的解决电源噪声问题。在测量端(W)加一个小容值的电容与触摸屏的内阻构成低通滤波器,适当降低测量前端的通频带,达到抑制高频噪声的作用。触摸屏的输出阻抗在数十到数百欧姆范围内变化,因而这个滤波电容的容值可选为0.1~1uF,这样测量前端的带宽约为1KHz,单位阶跃信号延迟约为1ms。
软件滤波
对于频率较高的干扰,软件上一般采用有限冲击响应滤波器(FIR)。但通过实验发现,经过硬件高频滤波后,软件FIR滤波的作用不明显。所以软件上只考虑到工频交流干扰的滤波问题。为了实现对50Hz的工频干扰滤波,采用均值法。假设触摸屏受到的工频干扰是均匀的,即工频干扰的平均值为0,那么对一个干扰周期内的均匀采样点求和,即可滤除该频率及其高次谐波干扰。在实际情况中这种假设是成立的。此时滤波器的延迟为1 个周期。设计一个8点均值低通滤波器,其传递函数为:
(1) 这是一个全零点滤波器,由数字滤波器稳定性判据可知其是稳定的。它的幅频响应和相频响应如图3所示。从图3中可以看出只要适当选取采样频率,采用均值滤波就能有效地抑制工频及其高次谐波干扰。
软件实现
软件实现的流程如下:计算机使用一个精度较高的定时器,设定定时器的溢出周期为400Hz。在定时器溢出时控制单片机对X通道完成1次采样,此采样要进行10次,然后换为Y通道采样10次。因为切换到通道X或Y时,信号需要1~2毫秒才能达到稳定,所以10次采样值的前2次被舍弃,余下8次求平均值作为按压点的坐标值。在均匀400Hz采样率下,8次采样即为一个工频周期。正好符合抑制工频及高次谐波干扰的需要。完成对一个坐标的采样耗时50ms。也就是说每秒钟可以给出20个坐标值。基本符合手写识别的需要。
坐标校正通常情况下由触摸屏控制器转换的结果需要经过校正,将其映射到实际上所需的坐标中,如通常的分辨率1024X768。可以假设转换结果与所需要坐标是线性映射的
(2)变换偏移量。在实际的应用中,需要计算变换矩阵及变换偏移量。计算这些参数需要3个点的坐标信息,这3个点最好选取在中央位置。在触摸屏被安装在显示器上后,将显示区分为9等分,得到4个交点,任取其中3点求解变换矩阵及变换偏移量。如果触摸屏的线性度不好,可以采用多点插值法进行校正。
实际应用
本文提及的硬件及数字滤波坐标校正技术已应用于某型查询终端,能支持一般的触摸按键操作及手写识别操作,系统稳定。
参考文献[1] LPC21XX user’s manual Philips co.[2] Carlos E. Vidales Tekelec How To Calibrate Touch Screens
京公网安备 11011202001138号
