提高红外触摸屏性能的结构和方法

文档序号:6618725阅读:297来源:国知局
专利名称:提高红外触摸屏性能的结构和方法
技术领域
本发明涉及一种应用在显示屏幕表面的触摸输入设备,尤其是以红外线为传感介质的红外触摸屏,属于计算机多媒体技术领域。
触摸屏作为最简单、成熟的计算机多媒体人机交互设备已经得到了广泛的应用。现有的触摸屏技术主要有电阻膜、电容、表面声波和红外线等几种形式。在这些触摸屏技术之中,红外触摸屏以其生产工艺简单、生产成本较低等优势得到了很大的发展,并被应用到了许多领域。红外触摸屏的基本结构,是在一个适合安装在显示器边缘的框架内,沿着显示器的显示表面的四个边缘按照一定的顺序,安装许多对红外发射接收管;这些发射接收对管沿显示表面边缘纵向和横向排列,构成一个互相垂直的发射接收阵列,其中每一对发射接收管均安装在一条轴线上;因而这些轴线就在显示表面上构成了一个栅格的结构;上述阵列中的发射和接收管与两个模拟开关阵列相连接;模拟开关阵列与一个产生开关顺序通断指令的地址扫描发生器相连接;红外发射管通过与其连接的模拟开关阵列,被一个驱动电路所驱动;与红外接收管相连接的模拟开关阵列的光电信号输出端与一个信号放大处理电路耦合连接;上述这些部分分别与一个微型计算机系统的I/O线相连接,并且在其控制下工作;该微型计算机系统通过一个端口与上位计算机的输入输出端口相连接;在上位机内安装有使用该触摸屏的驱动程序。这里的微型计算机系统基本上都是单片机系统,因此下文均统称为单片机系统。这种结构的红外触摸屏的基本工作原理,是通过地址扫描发生器按照一定的顺序分别接通每一对发射接收管,然后由单片机系统检验每一对红外发射接收管之间红外光线是否被阻断,来判定是否有触摸事件发生。更详细的工作原理请参阅号码为5,162,783美国专利申请及其相关专利。
以上述技术方案构成的红外触摸屏,对于某一对红外发射接收对管来讲,性能容易得到保证,但一个触摸屏需要数十对至上百对管子,在量产条件下,即使同一厂商同一批次的产品也很难保证性能一致,尤其当发射管工作一段时间后,老化速度不一样,导致这种差异明显加大,最后当某只接收管的光电信号输出太弱,以至于接收电路的放大量相对不足时,就会导致触摸屏失效,因而整个触摸屏的工作寿命很短,常常只有一两年的时间。同时,通过判断每对发射接收管的光线是否被阻断的检测原理,导致其分辨率一般只能与其每个方向的发射接收管的对数相同,即使软件倍增,分辨率也只能增加一倍。由于光电元件均有一定的尺寸,所以在显示器边缘不可能排列下更多的发射接收管,所以触摸分辨率很低。再有,脉冲形式的光线还常常受电光源和自然光的干扰,导致发生操作错误以至死机。申请号为95105303中国专利申请就公布了一种使用脉冲计数和宽度调整的方法使系统工作更稳定,但多脉冲技术会导致扫描的频率降低,因此存在系统的反应速度减慢的缺点,同时也没有解决工作寿命和触摸分辨率的问题。
针对以上的缺点和问题,本发明提供了一套解决方案。因此,本发明的一个主要目的,是提供一种提高红外触摸屏的使用寿命的电路结构和方法,同时提高红外触摸屏抵抗各种光干扰的能力。本发明的另一个目的,是提供一种提高红外触摸屏分辨率的电路结构和方法。
为了实现本发明的目的,在红外触摸屏的电路设计和信号处理方法上,采用了增加调控元器件,并以增加的调控元器件为基础重新设计程序流程等措施。
为了提高红外触摸屏的使用寿命,本发明在普通触摸屏电路结构的基础上,增加了一个光电信号放大量的数控反馈控制环,以及一个发射管驱动电流限制电路,具体结构变化如下在所述的与红外发射管相连接的模拟开关的驱动输入端,连接有一个驱动电流限制电路或元件;并在所述的信号处理放大电路中,还串连有一个数控增益放大器和一个A/D变换器;数控增益放大器的输入端与其它信号处理电路耦合连接,输出端与所述A/D变换器的模拟输入端耦台连接,增益控制端与单片机系统的I/O口线相连接;A/D变换器的数据输出端与单片机系统的I/O口线耦合连接;在所述单片机系统的存储器内,存储有一个二极管标准参考值、一个增益比较运算代码模块和一段增益控制代码;该增益比较代码能够对从所述A/D变换器得到的各个数据,与所述标准数据进行比较运算,并将运算结果按照一定的地址排列方式,存储到单片机系统内存储器的存储单元内,构成一个“增益控制表”;增益控制代码嵌入在触摸检测主程序内,能够在所述主程序检测触摸事件时,按照被所述扫描发生器通过模拟开关阵列所控制的红外发射接对管的接通顺序,依次读取上述增益控制表,通过所述与数控增益放大器连接的I/O口线反馈输出。
为了提高触摸屏的抗干扰性能,该红外触摸屏的电路中,可以安装一个载波发生器,该发生器通过所述限流驱动电路或元件、模拟开关与红外发射管相连接;与此对应在信号处理电路中,还包含有一个检波电路,该检波电路安装在所述A/D变换器之前,与数控增益放大器串连耦合连接。
对应于上述的电路结构,本发明利用上述的代码构成,在上述条件下,通过控制光电信号放大器的增益,主要通过如下步骤方法,实现延长触摸屏工作寿命的目的1.单片机系统通过扫描发生器、模拟开关阵列,将第一对红外发射管和接收管接通,使发射管发射红外线,接收管接收红外线;同时打开与A/D变换器连接的I/O口线,接收该接收管产生的光电信号经放大处理、A/D变换得到的数据;2.将步骤1得到的数据与所述单片机系统内存储的标准数据,通过其CPU进行比较运算,并将运算结果存储到所述单片机系统内一定地址的存储单元内,作为数控增益放大器的增益控制数据;3.按照步骤1、2的方法,依次读取打开与每一对红外发射接收管所得到的A/D变换数据,按照一定的地址排列方式,存储到所述单片机系统的存储器内,构成一组数控增益放大器的增益控制数据即“增益控制表”,直到最后一对红外发射接收对管;4.结束步骤3,并向进行数据处理的触摸屏内的单片机系统发出开始下一步操作的指令;5.启动包含有增益控制代码模块的触摸检测主程序;6.触摸检测主程序通过扫描发生器,控制模拟开关阵列,重新依次开启红外发射接收对管;同时按照红外发射接对管的接通顺序,调用增益控制代码模块,依次输出上述预置数据中的每一个增益控制数据到数控增益放大器。
7.重复步骤6,开始新的循环。
如果单纯为了提高触摸屏的触摸分辨率,则可以在上述电路结构的基础上作适当简化,去掉光电信号通道内的数控增益放大器,而且发射管的驱动电流限制电路也不是必须的,按照一般的电路设计即可。这时电路的具体结构改变如下在信号处理放大电路中,包含有一个A/D变换器,其模拟量输入端与信号处理电路的输出端耦合连接,其数据输出端与单片机系统的数据线耦合连接;在单片机系统的程序存储器之中,除了有用于触摸事件判定的触摸检测程序外,还存储有一个二极管标准参考值,一个数据归一化代码模块;在触摸检测主程序或使用该触摸屏的上位机驱动程序中,包含有一个触摸点计算代码模块;所述增益差值表代码模块,能够循环读取每一个由红外接收管产生的、经信号放大和A/D变换后光电信号数据,并将所述数据与上述标准参考值进行比较运算,生成一个与发射接收对管一一对应的、用于所述光电信号数据归一化的数据表;触摸点计算代码模块能够根据触摸判定程序的判定结果,通过计算对所述由AD变换器输出、经过归一化的光电信号进行曲线方程计算,得到触摸点的精确坐标值。
对应于这里的电路设计,本发明采用光电信号增益差值补偿的方法,实现精确计算触摸点坐标的目的,主要步骤如下1.单片机系统通过扫描发生器、模拟开关阵列,将第一对红外发射管和接收管接通,使发射管发射红外线,接收管接收红外线;同时打开与A/D变换器连接的I/O口线,接收该接收管产生的光电信号经放大处理、A/D变换得到的数据;2.由步骤1得到的数据经单片机系统的CPU运算处理后,存储到存储器内的一定地址的存储单元内;3.按照步骤1、2的方法,依次读取打开与每一对红外发射接收管所得到的A/D变换数据,按照一定的地址排列方式,存储到所述单片机系统的存储器内,构成一个“增益差值表”或“归一化数据表”,直到最后一对红外发射接收管;4.结束步骤1、2、3,并向进行数据处理的触摸屏内的单片机系统或上位计算机系统输出开始下一步操作的指令;5.启动触摸判断主程序,进入定时中断重复步骤C,并进行数据归一化处理;6.比较处理上述归一化的数据和二极管参考值,判定是否有触摸事件发生;7.将由步骤5和6得到的相邻的数个数据,送到单片机系统或上位计算机的CPU进行运算比较,判断数据值的变化趋势,是否符合所选定曲线的变化趋势,即是否符合触摸点精确计算的条件;8.在步骤7的判定结果满足精确计算的条件的情况下,计算触摸点的精确坐标值;9.按照步骤5、6的方法,依次运算比较每一对红外发射接收管的A/D变换数据,并输出结果,直到最后一对红外发射接收管;10.步骤9结束后,按照步骤5的方法,开始新的循环。
对比这两个发明目的所使用的电路结构和方法,可以看到,以提高触摸分辨率为目的方法,完全可以建立在前述以提高触摸屏工作寿命的电路结构和方法的基础之上,而省略掉“增益差值补偿”的程序代码,成为一种对性能的改善更全面的设计。当然,发射管驱动电路内的载波发生器也可以加上,以提高触摸屏的抗干扰能力。
本发明的优点在于第一,采用数控增益控制环,并降低发射管的驱动电流,在降低发射管老化速度的同时,实现动态的增益补偿,极大地扩展了接收电路的有效范围,也就极大地增加了触摸屏的使用寿命;第二,使用曲线拟合的触摸点计算方法,根据相邻接收管的光电信号强度变化,用曲线拟合的方式精确计算触摸点的位置,使其触摸分辨率提高十几倍,不仅能够应用在一般的大图标触摸输入界面,还能够应用在要求在对分辨率要求很高的书写、绘画、网页浏览等方面,扩展了它的用途;第三,采用高频载波的方式,进一步加强了触摸屏对一般常见的各种电光源和自然光的抗干扰能力。


图1给出了本发明的总体物理结构图。从图一可以看到,红外发射接收管阵列安装在构成工作区域的框架101上,分为纵横两个方向构成发射——接收阵列;其中发射管和接收管每两只构成一对,位置相对安装在框架101内;发射管发射的红外线如图中102所示,在纵横两个方向上交叉而覆盖整个触摸工作区域。红外发射管阵列中的每个发射管均连接到一个模拟开关阵列103上,被红外发射驱动电路模块105所驱动;红外接收管阵列中的每个接收管均连接到模拟开关阵列106上;每一对发射接收管拥有一个固定的识别地址,即地址扫描发生器107产生的、控制两个模拟开关阵列同时接通一对发射和接收管的“顺序号码”。红外发射、接收管与模拟开关的连接方法有两种第一种是每一个发射或接收管均于一个模拟开关相连接,模拟开关的数量不小于相对应的发射、接收管的数量,适用于发射接收管数量较小的情况;第二种是由模拟开关的开关通道线路再构成一个“纵横方向”的控制阵列,每一个发射接收管均连接在这些通道线路的相交结点上,在发射接收管数量较大的情况下,可以节省大量模拟开关并简化电路结构。这两种方法均是现有各种“多单元”驱动电路常用的形式,在此无需详述。当发射发射接收管从控制接收管的模拟开关阵列输出的红外光电信号,作为触摸扫描的判定信息,通过由预放电路109、高通或带通滤波电路110等构成的信号处理电路,输入到单片机系统(MCS)115的I/O口线上。最后,整个触摸屏通过单片机系统的接口117,与使用或接收该触摸屏信息的上位机输入输出端口相连接。这里,本发明与上位机之间的连接端口可以是上位机的串口、并口或USB接口,一般使用串口或USB接口。所有这些部分均由单片机系统115通过控制总线或I/O口线117协调工作。发射管驱动电路105除了可以直接由单片机系统控制外(图中未画出),也可以由地址扫描发生器107通过同步线108控制。但作为一个独立的能量供给电路,也可以自行工作,而由模拟开关阵列103控制其对发射管的驱动。在所述上位机的物理存储器内,安装有使用该触摸屏的驱动程序。
与现有触摸屏物理结构的不同之处在于,在图1中光电信号的通道中,增加了由111和114构成的数控增益放大器;一个D/A变换器113,并且在红外发射管的驱动电路中串连了一个电流限制电路104。为了提高系统的抗干扰能力,在红外发射管的驱动电路105内还可以安装装一个载波发生器,经实验得到,载波频率可以设定在50——300KHz之间,将红外发射管发射的红外脉冲进行高频调制;相应在光电信号处理电路中的滤波器110,应当是与载波的频率相对应的高通或带通滤波器。
按照图1中的电路构成和单片机系统内置程序功能,并根据不同的发明目的,本发明的工作过程分为两类主要的过程,现分别详细说明如下。
对于以增加触摸屏的工作寿命为主的目的,第一类过程的功能是建立一个和增益控制表;第二类过程是利用已经建立的增益控制表,通过调节数控放大器的增益,统一光电信号的最终幅度、检测触摸事件和确定触摸点。具体的工作过程如下由单片机系统115控制地址扫描发生器107按照一定的顺序和频率,依次接通每一对红外发射和接收管;每一只发射管的驱动电流均被电流限制电路104限制在一个较小的数值上,以保证发射能够长时间工作而不降低性能;在发射管被接通的同时,与其对应构成一对的那只红外接收管也被选通,将接收到的红外信号转变为电信号,从模拟开关阵列106的信号输出端输出到固定增益前置放大器(预放大器)109输入端,被其以一定的比例放大。由于发射管的发射效率和接收管的接收灵敏度不同,所以尽管发射电流和放大增益相同,但前置放大器输出的信号幅度,即A点的波形也是不同的,如图2或图3的电压波形201和301所示。图2所示的波形201,在没有载波的情况下,可以是图1中A点的波形,也可以是经过滤波单元112后C点的波形,而无论是否有载波;图3所示的波形301,是有载波的情况下图1中A点的波形或B点的波形。放大后的光电信号被送到滤波器110,滤除包含自然光在内的其它无用信号,然后送到数控增益放大器进行第二级放大。这时该放大器的增益被固定在一个适当的值上,使其能够将光电信号放大到足够大,而对于任何一个有用的信号又不会产生过载失真。经过这次放大后的信号随后被送到A/D变换器,经模——数变换后输出到单片机系统的I/O口线上,被该计算机系统读取。在该计算机系统内,读取的数据将被与一个预置的二极管标准参考值相比较,即与该参考值相减或相除,得到一系列与发射接收对管相对应数值,存储在单片机系统内的存储器内,作为后面工作过程中调节数控增益放大器增益的依据。这里,所述标准参考值,原则上可以选取任意的数值,但为了得到最高的增益控制精度,最好选取一个绝对值尽量大的数值,但又要兼顾数控增益放大器的增益调节范围,即对于输入数控放大器的的光电信号,当其幅值较小时,能够被以较大的增益充分放大;当其幅值较大时,数控放大器能够降低到较低的增益,不使其出现过载失真。对于增益调节范围一定的数控放大器,这个数值的确定可以通过实验确定,也可以根据红外发射接收管的技术数据经计算得到。为叙述方便起见,本发明中选取的该参考值,可以是本过程中的参考值,又可以是下面第二类过程中触摸判定的参考值。当本发明的触摸屏经过一次地址扫描过程后,所有的红外发射和接收对管均被检测一遍,即可得到一个增益控制表。当然,这个过程可以进行多次,按照一定规则产生这个控制表,以排除或减小各种偶然因素产生的误差。
得到这个增益控制表之后,触摸屏开始进入第二类工作过程——触摸检测。这个过程的某些方面与上面的过程相似,也是依次扫描接通每一对红外发射接收管,所产生的光电信号经放大、滤波等处理后,送到A/D变换器产生与光电信号强度对应的数据,供单片机系统使用。不同之处在于第一,在地址扫描电路接通某一对发射接收管的同时,单片机系统从“增益控制表”内调用与该对发射接收管对应的增益控制数据,及时调节数控增益放大器的增益,使其正常接收到的光电信号被放大到上述的标准参考值,如图5和图6所示。这里,图5中电压波形501的取样点与图2的相同;图6中电压波形601的取样点与图3的相同,具体含意见前面介绍。第二,单片机系统可以用上述参考值与从A/D变换器得到的光电信号数值相减,然后根据得到差值的大小来判定是否有光线被阻挡,即是否有触摸事件发生;也可以如图8所示的原理,设定一个参考阀值电压Vf,单片机系统通过检测从A/D输出的数据是否小于Vf,来判断是否有触摸事件发生。在图8中,801是经过检波(有载波的情况下)和简单滤波后的光电信号电压波形,Vf是参考阀值电压,虚线表示的凹陷802是因手指或其等效物阻挡红外线而产生的电压跌落。这里,Vf也可以作为后面各种触摸判定过程中的“参考阀值电压”使用,包括使用后面所述的“归一化数据表”处理从A/D变换器得到的数据后,判断是否有触摸事件发生。具体选用前面增益控制表生成程序内使用的参考值,还是使用Vf作为触摸基本判定的参考值,可根据方便自由选定,在本发明中统称为“触摸判断处理”。
在本目的的应用中,数控增益放大器可以由一个压控增益放大器111和一个D/A变换器114构成,达到很高的控制精度;也可以使用通用的数控增益放大器,以降低成本和电路的复杂程度。具体选用哪一种形式,根据所本发明的实际需要确定。图4所示图1中D点的电压波形401,就是上述单片机系统根据被接通的发射接收对管的顺序,调用增益控制表中相应的数据,经运算通过I/O接口输出到D/A变换器114变换后,控制压控增益放大器111的增益控制电压的幅值。对于电流限制电路104,可以一般的恒流源构成,但对于电压降比较一致的红外发射管,在驱动电压固定的通常情况下,完全可以仅用一只限流电阻实现。
对于以增加触摸屏的触摸分辨率为主的目的,可以对图1中的电路进行简化,去掉电流限制电路104、由压控增益放大器111和D/A变换器114构成的数控增益放大器。在这种情况下,第一类过程的功能是建立一个和增益差值表;第二类过程是利用已经建立的增益差值表,检测触摸事件和确定触摸点。具体的工作过程如下依然由单片机系统115控制地址扫描发生器107按照一定的顺序和频率,与前面目的的过程相同,依次接通每一对红外发射和接收管;从模拟开关阵列106的信号输出端输出到固定增益放大器109输入端,被其以一定的比例放大。由于只有这一个放大单元,所以放大器的增益选择要合适,使其能够将幅值较小的光电信号放大到足够大,而对于任何一个有用的信号又不会产生过载失真,这时滤波电路112可以移到放大器的前面或插入放大单元内部,以免包含自然光在内的其它无用信号使放大器产生饱和失真。同样由于发射管的发射效率和接收管的接收灵敏度不同,所以尽管发射电流和放大增益相同,但前置放大器输出的信号幅度,即A点的波形也是不同的,同样如图2、图3所示,含意与前面相同。经过放大后的信号随后被送到A/D变换器,经模——数变换后输出到单片机系统的I/O口线上,被该计算机系统读取。在该计算机系统内,读取的数据将被与一个预置的标准参考值相比较,即与该参考值相减或相除,得到一系列与发射接收对管相对应数值,存储在单片机系统内的存储器内,作为后面工作过程中进行数据归一化处理的依据。这里标准参考值的选取方法也与前面介绍的相同。当本发明的触摸屏经过一次地址扫描过程后,所有的红外发射和接收对管均被检测一遍,即可得到一个增益差值表。当然这个过程可以进行多次,按照一定规则产生这个比例表,以排除或减小各种偶然因素产生的误差。
得到这个增益差值表之后,触摸屏开始进入第二类工作过程——触摸检测。与前面相似,红外接收管所产生的光电信号经处理后被送到A/D变换器,产生与光电信号强度对应的数据;单片机系统同时从“增益差值表”内调用与该对发射接收管对应的增益比例数据,与接收到的数据相加或相乘,使其正常接收到的光电信号被归一化到上述的标准参考值。然后,运用前面阀值电压判断的原理,判定是否有触摸事件发生,与图8所示相同。图7给出了图1中C点经检波、简单滤波后被送到A/D变换器之前的光电信号电压波形701,和发生触摸事件时光电信号被阻挡的情况。虚线表示的波形702是被阻挡后光电信号电压跌落的波形。可以看到,在数据归一化之前,尽管也基本上可以判定触摸事件是否发生,但由于信号幅度的差别,不容易精确地计算触摸点的位置。
在以提高触摸分辨率为目的的情况下,上述数据的归一化处理,尽管不是触摸判定的必要条件,但却是为下面对触摸点的精确计算提供的必要条件。发明人通过实验发现,当一个尺寸与人的手指相仿、近似圆柱体的物体在触摸屏上阻挡了红外光线时,由于红外发射管有一定的发射角度,以及周围环境物体的反射和空气中各种颗粒的散射,所以对应的红外接收管还是有一定的输出;而在扫描检测的过程中,相邻的几对红外发射接收管所接收到的信号也被一定程度地削弱。这时如果以发射接收对管的序号为一个坐标轴,以电压值为另一个坐标轴,其光电信号的强度,尤其是在靠近被最大阻挡的接收管附近,近似地构成一个含有常数值开放型二次曲线;或指数、对数曲线及正切曲线的一部分。曲线根据所选的坐标轴不同而开口方向不同,曲线的顶点就是触摸点,即光电信号最小的点;所述的触摸点计算代码模块,是通过已知点坐标求解二次曲线或指数、对数曲线及正切、余切曲线的顶点坐标值的算法模块。利用这些曲线的方程,都可以得到精度很高的触摸定位。由于其它曲线的数值求解方法比较复杂,所以在本发明中,兼顾计算的简单性和精确性,利用双曲线的曲线方程来精确计算点的坐标,如图20所示。该算法代码模块存储在触摸屏的单片机系统内,或嵌入在该触摸屏上位机的驱动程序内。
在本发明中,上述两个不同目的的信号处理过程,完全可以兼而有之融合在一起。比如在使用数控增益放大器实现硬件方式的光电信号数据的归一化,在提高触摸屏工作寿命的同时,再采用能够实现高触摸分辨率的算法,就可以实现提高触摸分辨率和极大增加触摸屏工作寿命的双重目的。而使用频率较高的载波驱动发射管,又能够提高系统的抗干扰能力。但为了叙述清晰,下面依然根据不同的主要目的,来说明触摸屏内单片机系统的工作程序代码,以及可以移植到使用或处理该触摸屏输入信息的上位计算机内代码构成和工作流程。
一切软件的运行都必须有硬件基础,因此本发明中的程序流程建立在图1所示结构的基础上。这里硬件之间的连接,包括光电信号通道内各单元之间的连接,A/D、D/A变换器与光电信号通道和单片机系统之间的连接,以及发射二极管与模拟开关阵列、驱动电路之间的连接,均需要根据传输信号的属性和所需的时序,采用相应的连接模式,如模拟电路的电容耦合、数字电路的数据锁存等,在此统称为耦合连接。
针对以较小的驱动电流来驱动红外发射管,然后使用数控增益调节方法,以延长其工作寿命的设计,图9给出了生成增益控制表的程序代码流程。这个程序的工作过程如下触摸屏电源接通后,这个程序首先开始启动,进入901和902,对整个单片机系统最基础的检测和复位,即初始化,这时也为数控增益放大器设置了一个基础的增益值。初始化完成后,从存储器内读入接收二极管的参考值903,同时读入发射接收管的总数,并进入步骤904,置发射接收对管的地址计数器N=0。然后通过一个转移环节905,即程序从其它步骤进入步骤906的入口,进入步骤906开始扫描循环,解析第一对发射接收管的地址,令N=1,在控制模拟开关阵列接通第一对发射接收管后,进入步骤907,驱动与A/D变换器113的I/O接口及其附属的数据锁存等电路,接收来自A/D变换器的数据。这一步需要注意安排好时序,考虑到系统各种延时,保证I/O口接收到真实稳定的数据。数据接收完毕后,进入下一步908,将接收到的数据与先前读入的二极管参考值相比较,结合现有的增益值,通过计算得到将这一对发射接收管的光电信号放大到参考值的标准,需要对数控增益放大器进行调节的数值,并将这个数值存储到存储器的一个特定地址的存储单元内,形成增益控制表909的第一个数据。这里的比较可以是相除,也可以是相减,由于一般单片机系统计算乘除的能力比较弱,所以一般采用减法。至此,针对第一对发射接收管的增益控制调整设定完成,单片机系统进入步骤910,将地址计数器N的值加一,令N=N+1,然后通过判断语句911,将N与已知的发射接收对管总数相比较。根据比较的结果决定程序的走向如果N小于对管总数,就返回转移环节905,检测下一对发射接收管,直到最后一对;如果完成了最后一对,则N就等子对管总数,通过步骤912最后完成增益控制表,结束增益控制表生成程序。这个增益控制表中的每一个数值,均按照一定的地址排列规则,存入单片机系统的存储器。此后经过一段延时程序913,执行启动触摸检测程序的步骤914。当然,如果希望增益控制表的数值能更精确,排除一切干扰,还可以将上面的程序运行数次,然后根据平均值并剔除明显与平均值差异较大的数据,来选取每一个控制值。这个增益差值表可以存储在随机存储器内随时更新,也可以存储在EEPROM存储器内定期更新。
图10是在此目的下的触摸检测主程序代码流程。该程序在增益控制表完成之后进入启动步骤1001,再次进行初始化步骤1002,清除在寄存器等存储单元内不需要的数据。同上面的程序类似,首先通过步骤1003设置一些必要的数值,如对管总数、发射接收对管的地址计数器置0(N=0)等。然后进入一个或多个转移环节1004、1005,通过定时中断及判断步骤1006,读取第一对发射接收对管被选通后的A/D变换结果。完成A/D数值的读取接收后,进入数据比较处理步骤1007,通过判断步骤1008判断是否有触摸。如果没有触摸,则返回转移环节1004或1005,如果有触摸事件发生,则根据设定的需要,确定是直接将初步判定和触摸点计算的结果通过与上位机的接口驱动1010发出,还是通过算法程序1009进行触摸点的精确计算(这里用虚线表示该步骤,意义是可选的步骤)。如果直接将初步判断的结果输出到上位机,则触摸屏的触摸分辨率与现有的触摸屏相同,只能判断某一对发射接收管的光线是否被阻断;如果经过精确算法程序1009,就能够达到本发明的第二个目的——提高触摸分辨率。经过上面的各个过程之后,主程序返回到转移环节1004或1105,开始下一次触摸检测。
图11给出了触摸检测主程序中,读取A/D变换器的的定时中断子程序代码模块流程图。这个程序的工作过程也很简单定时中断的指令1101被执行后,单片机系统就开始根据前面程序运行的结果解析发射接收对管的地址N,完成后读取增益控制表1102。这时第N对发射接收对管已经被接通,程序根据N找到了对应的增益控制数据,执行步骤1103,在单片机系统的I/O口线输出经运算后增益控制值,调节数控增益放大器的增益到预定值。为了保证能够得到稳定的A/D变换值,这里插入了一个延时步骤1104,保证接收到的数值不会因为系统软硬件的各种延时而出错。这个延时的尺度很小,以延时后A/D变换器的数据稳定为准。经过这个步骤后,计算机系统通过I/O口线读取A/D变换器的输出值,即步骤1106,然后由步骤1107将这个数值存入缓存,供以后计算触摸点的位置使用。步骤1108是一个循环次数的判断步骤,判定是否已经完成了一次循环,如果完成了一次全部发射接收对管的循环,就由步骤1110将扫描地址计数器清零,即N=0;否则转向分支1109将N+1,为读取下一对发射接收管做好准备。无论是否N的数值是多少,均汇总到转移步骤1111而进入中断结束步骤1112,返回主程序。在这里,触摸检测主程序的循环功能是在这个中断例程中实现的,是实现循环的一种方式。但实现循环检测每一对发射接收管的循环检测,判断N的数值以及加1的步骤,完全可以在主程序中实现,程序的设计可以根据所用语言的语法规则,灵活多样地编写执行代码。
图12是基本的触摸点判断子程序代码模块。定时中断完成后,主程序通过步骤1201读取前述缓存中的本次循环得到的A/D变换值,同时通过步骤1202读取预设的二极管参考值,经过比较代码断1203将这两个数值相比较。这里为方便起见,选定前述的Vf作为二极管的参考值,判断通过A/D得到的数值是否小于Vf,来确定是否有触摸事件发生。比较的结果通过步骤1204存储到接口缓冲区,以备传送到上位机。这个步骤可以根据上位机中安装的本触摸屏的驱动程序来确定是否需要,如果上位机中的驱动程序不需要无触摸时的数据,则这一步完全可以省略。在一般情况下,这一步是可以省略的。当然还可以有其它的判定方法,如使用前面增益控制表中使用的二极管参考值作为本次判断的参考值,判断该参考值与A/D变换值之间的差值是否大于某个设定标准来确定是否有触摸发生。如果判断有触摸发生,就通过步骤1207在接口的缓冲区内置触摸标志码,然后进入下一步,根据对触摸屏性能的要求决定是进入主程序中触摸点精确计算模块1208,还是直接通过主程序向与上位机的连接端口发送数据。上述判断在步骤1205中执行,如果没有触摸事件发生,则转向步骤1206,返回主程序中的转移继续语句1004或1005。
至此,以提高触摸屏工作寿命为目的的两个程序——增益控制表生成程序和触摸检测主程序的运行介绍完毕,下面将说明提高本发明触摸屏触摸分辨率程序结构。
图14是生成增益差值表的程序代码流程图。与生成增益控制表的程序相类似,这个程序也是由步骤1401、1402开始,首先对系统进行初始化,设置系统的基本工作状态,并读入一些基本的必须数据,如发射接收对管的总数等。由于提高触摸分辨率的设计可以不涉及数控增益放大器,不需要这方面的基础设置。初始化之后,经步骤1403读入一个与发射接收管有关的参考值,类似于图9中步骤903所读入的参考值,作为产生针对每一对发射接收管的发射效率和灵敏度的基准参考。然后进行步骤1404,设置发射接收对管的地址计数器N=0,再经过一个转移环节1405后,开始扫描循环,进入步骤1406,解析第一对发射接收管的地址,令N=1,在控制模拟开关阵列接通第一对发射接收管后,进入步骤1407,驱动与A/D变换器113的I/O接口及其附属的数据锁存等电路,接收来自A/D变换器的数据。数据接收完毕后,进入下一步1408,将先前读入的参考值与接收到的数据相比较。同图9的过程相似,这里的比较一般采用减法,得到这一对发射接收管的光电信号与参考值的差值,将这个数值存储到存储器的一个特定地址的存储单元内,形成增益控制表1409的第一个数据。然后,单片机系统进入步骤1410,将地址计数器N的值加一,令N=N+1,然后通过判断语句1411,将N与已知的发射接收对管总数相比较,根据比较的结果决定程序的走向如果N小于对管总数,就返回转移环节1405,检测下一对发射接收管,直到最后一对;如果N等于对管总数,则经步骤1412完成增益控制表,结束增益差值表生成程序。这个增益差值表中的每一个数值,也按照一定的地址排列规则,存入单片机系统的存储器。此后经过一段延时程序1413,执行启动触摸检测程序的步骤1414。当然,也可以如前面生成增益控制表一样,多次运行这段程序,以排除偶然的干扰,使结果更准确。这个增益差值表可以存储在随机存储器内随时更新,也可以存储在EEPROM存储器内定期更新。
事实上,这里所述的“增益差值表”是一个用于光电信号数据归一化的“归一化数值表”在后面可以看到,如果在前述提高触摸屏工作寿命的结构和方法的基础上再提高触摸分辨率,那么这个“归一化数值表”可以用“增益控制表”替代。
图15是检测触摸事件并精确计算触摸点的触摸判定主程序代码流程图。这个主程序与图10所示的触摸检测主程序基本内容大部分相同,因而在此简要对程序流程内的各个步骤说明如下步骤1501由步骤1414引导启动该程序;步骤1502系统初始化,读入各种必须的数据;步骤1503将发射接收对管的地址计数器置0;步骤1504定时中断,读取A/D变换器的数据;步骤1505触摸判定过程,初步判断是否有触摸事件发生;步骤1506触摸判定转移语句,根据触摸判定的结构决定程序下一步的走向,并在触摸发生时在接口缓冲区内置触摸标志,可以与步骤1505合而为一;步骤1507进行详细的触摸点计算的算法子程序,并把计算结果存入接口缓冲区,以便传输给上位机;步骤1508通过与上位机的接口发送数据,将触摸标志、触摸点坐标等内容发送到上位机,而后返回步骤1504,重新接收A/D变换器的光电信号数据。
图16是图15所示的触摸检测主程序中的定时中断子程序代码模块,与图11的内容相似,不同之处在于不需要读取与增益有关的预置数据,下面按照图示步骤说明。
步骤1601定时中断开始;步骤1602解析目前需要得到光电信号数据的发射接收对管的地址N,控制地址扫描发生器和模拟开关阵列接通这对发射接收管;步骤1603读取A/D变换器输出的光电信号数据;步骤1604将上一步得到的光电信号数据存入单片机系统的缓存;步骤1605判断是否已经将全部发射接收对管扫描了一遍,决定对其地址计数器的操作和状态;步骤1606在已经完成一遍对发射接收对管全部光电信号数据扫描接收的情况下,将所述地址计数器置0;步骤1607在本次没有完成对全部发射接收对管的数据接收扫描的情况下,将地址计数器加1;步骤1608转移语句,步骤1607、1608的汇合处;步骤1609中断返回,继续主程序的工作。
图17是图15所示触摸检测主程序中的触摸判定子程序代码模块。该子程序模块与在图12中所示的触摸判定子程序模块基本相同,下面按照图示的步骤说明。
步骤1701将图16中的步骤1604存储在缓存中的A/D数据读出;步骤1702通过分支步骤1703访问由增益差值表生成程序生成的发射接收对管的增益差值表,找到并取出与该对发射接收管对应的、增益归一化所需要的差值,然后对本次得到A/D变换器数值归一化;步骤1704从单片机系统的存储器内取出设定的二极管参考值;步骤1705将归一化以后的A/D变换器数值与二极管参考值相比较;步骤1706将步骤1705比较的结果存入输出端口的缓冲区;步骤1707判断结果转移语句,根据是否有触摸事件发生而决定程序的走向;步骤1708在判断没有触摸发生的情况下,返回主程序中,开始下一个定时中断;步骤1709在有触摸事件发生的情况下,在输出接口的缓冲区内置触摸标志;步骤1710调用算法子程序模块,精确计算触摸点。
如果要达到提高触摸分辨率的目的,必须调用一个算法子程序模块。图13和图19给出了两种算法程序模块的流程图,分别对应于安装在触摸屏内的单片机系统的程序存储器和上位机的物理存储部件内。
图13所示的程序模块安装在触摸屏内的单片机系统的存储器内,即步骤1009、1208、1507或1710所对应的程序模块。当上述各个主程序或子程序中的触摸判定步骤,即本模块中的步骤1301判定有触摸事件发生后,算法模块就进入另外一个判定步骤1303,判定缓存中的几个相邻的数据是否基本符合如图20所示预定的光电幅值曲线。在图20中纵轴N表示发射接收管的地址编号;横轴V代表数控增益放大器调整后或者A/D输出值归一化以后的光电信号幅值度量单位;2001是没有阻挡时的幅值;2002是被不同程度阻挡后的幅值;2003表示手指之间部分的横切面。的判断的过程如下对缓存内相邻的几个数据进行比较,判断后一次存入缓存单元的数值是否小于前一次的数值,如果这种趋势存在,则认为光电信号在连续不断地减弱,认为有手指尺寸的物体阻挡了发射管发射的红外线,在这种情况下就启动曲线拟合计算步骤,按照双曲线的曲线方程,根据已知点计算出曲线的顶点的位置坐标,也就是光线最弱、光电信号最小的点的位置,即图20中的点P。由于全部红外发射接收对管是在纵向和横向两个方向排列的,所以在对全部发射接收管的一次光电信号数据的接收扫描过程中,会有两次这种由强变弱的变化,也就需要计算两次,分别计算出相应的横坐标和纵坐标,也就确定了触摸点的位置。如果前述的这种光电信号变化趋势不存在,则直接跳转到转移继续语句1306,继续主程序中的其它操作,并且认为不是真正的触摸,不计算触摸点的精确坐标,而是认为是干扰等其它原因引起了信号强度的变化,或不予理会,不向上位机输出坐标值,或者先传送一个低分辨率的触摸坐标到上位机,或者在这种状况长期存在的情况下,修正二极管的增益差值表(在图9中是增益控制表),以消除干扰。事实上,由于有这种趋势判定的过程存在,所以在程序一开始发现有光电信号减弱时,并不马上开始计算;只有在连续对几对发射接收管进行数据接收的扫描过程之后,即有一定的延迟之后,才开始曲线的拟合计算。
因为精确计算触摸点坐标必须有这种延迟,所以这种数据变化趋势的判定还可以进一步,即不仅判断数值的下降趋势,还在下降趋势结束后,再判断数值的上升趋势。单纯判断下降趋势最多有3对发射接收管的扫描周期就可以了,如果加上上升趋势的判断,一般需要5个扫描周期,但最少也同样只需要3个周期。如果加上上升趋势的判定,其计算精度要高一些。由于地址扫描的速度非常高,所以这种延迟时间非常短,使用者根本感觉不到。
步骤1304就是上述的曲线拟合计算部分,计算结果经步骤1305存储到接口缓冲区,经转移继续语句1306后,通过接口将计算结果等内容输出到上位机。有关曲线方程的计算方法,请参阅有关计算方法的资料。
图19是存储在上位机物理存储器内的触摸点精确计算程序代码模块,该代码模块与图18所示的触摸屏单片机系统内的触摸检测主程序相对应。在图18中,步骤1801开始这个触摸检测主程序,经步骤1802初始化之后,读入必要的初始数据,包括地址计数器置0,然后经步骤1803将发射接收对管的,经转移继续环节后进入前述的定时中断模块,扫描读取A/D变换器输出的光电信号数据。再经过步骤1804读入二极管参考值,而后经过判断语句1805判断是否有触摸事件发生。如果有触摸事件发生,进入一个数据格式处理程序段1806,在经过预置数据访问的分支步骤1807读取增益差值表和二极管参考值之后,按照与上位机的触摸点计算程序模块约定的方案组织数据格式,然后经过步骤1808,从与上位机连接的端口,将组织好的数据发送到上位机。当然,这里依然需要使用输出端口的缓冲区,与前面介绍的步骤相同。图19与图18相结合,经初始化步骤1901后,通过端口驱动程序,由步骤1902接收从触摸屏发送过来的数据,然后经归一化处理步骤1903,利用增益差值表将前述的A/D变换数据进行归一化处理。下面的步骤1904与图13中的步骤1303相同,是一个光电信号变化趋势的判定程序段,不同之处在于这里的数据不是存在于触摸屏的单片机系统,而是存储在上位机的内存或缓存之中的数据P,N的意义不变;步骤1905与图13中的步骤1304相同,是二次曲线,或本发明选定的双曲线的数值计算程序段。在所有的计算完成之后,该程序经步骤1906,或者直接将各种数据、指令直接传送到应用程序,或者存储到内存之中供调用。这一段触摸点计算子程序一般嵌入触摸屏的驱动程序之内,在安装驱动程序时拷贝到上位机的硬盘上,在操作系统启动触摸屏后开始运行。
使用上位机实现触摸点计算,能够充分发挥PC机强大的计算功能,使计算速度极大地提高,触摸屏的反应更灵敏。因为对于触摸屏内的单片机而言,数值运算的能力实在太弱,用汇编语言编写这种程序困难也比较大。
如前面所述,本发明的两个主要目的可以应用到一个触摸屏上,即在提高触摸屏工作寿命的基础上再提高其触摸分辨率。实现这样的且的,只要在图10所示的触摸检测主程序内真正插入“计算方法”子程序代码模块,这时前述的“增益差值表”或“归一化数据表”就是图9中程序流程所生成的“增益控制表”;而且图10还可以按照图18所述的方式改造触摸检测主程序,在上位机内安装的驱动程序内实现精确计算功能。
权利要求
1.一种提高红外触摸屏性能的结构,该结构使用在由沿着显示器的显示表面的四个边缘,按照一定的顺序纵向和横向排列的红外线发射接收对管阵列;分别与上述阵列中每一只发射及其对应的接收管相连接的两组模拟开关阵列与模拟开关阵列相连接、产生开关顺序通断指令的扫描发生器;以及耦合连接在与红外接收管对应的模拟开关阵列信号输出端的信号放大处理电路;一个与上位计算机的输入输出端口相连接,并通过I/O口线分别与上述各部分相连接、控制上述部分工作的微型计算机系统;一个存储在所述微型计算机的程序存储器内、用于触摸判定的触摸检测程序;和安装在上位机中的驱动程序所构成的红外触摸屏内;其特征在于在所述的与红外发射管相连接的模拟开关的驱动输入端,连接有一个驱动电流限制电路或元件;并在所述的信号处理放大电路中,还串连有一个数控增益放大器和一个A/D变换器;数控增益放大器的输入端与其它信号处理电路耦合连接,输出端与所述A/D变换器的模拟输入端耦合连接,增益控制端与微型计算机系统的I/O口线相连接;A/D变换器的数据输出端与微型计算机系统的I/O口线耦合连接;在所述微型计算机系统的存储器内,存储有一个二极管标准参考值、一个增益比较运算代码模块和一段增益控制代码;该增益比较代码能够对从所述A/D变换器得到的各个数据,与所述标准数据进行比较运算,并将运算结果按照一定的地址排列方式,存储到微型计算机系统内存储器的存储单元内,构成一个增益控制表;增益控制代码嵌入在触摸检测主程序内,能够在所述主程序检测触摸事件时,按照被所述扫描发生器通过模拟开关阵列所控制的红外发射接对管的接通顺序,依次读取上述增益控制表,通过所述与数控增益放大器连接的I/O口线反馈输出。
2.根据权利要求1或2所述的提高红外触摸屏性能的结构,其特征在于所述的数控增益放大器,由一个压控增益放大器和一个D/A变换器构成;其中D/A变换器的输入端与所述微型计算机系统的I/O口线相连接,输出端与压控增益放大器的压控增益控制端相连接。
3.根据权利要求1所述的提高红外触摸屏性能的结构,其特征在于该红外触摸屏的电路中,还包含有一个载波发生器,该发生器依次通过所述限流驱动电路或元件、模拟开关与红外发射管相连接;与此对应在信号处理电路中,还包含有一个检波电路,该检波电路安装在所述A/D变换器之前,与数控增益放大器串连耦合连接。
4.根据权利要求3所述的提高红外触摸屏性能的结构,其特征在于在所述的信号处理电路中,还包含有一个高通滤波器;该滤波器串连安装所述检波电路之前。
5.根据权利要求4所述的提高红外触摸屏性能的结构,其特征在于在所述的信号处理电路中,还包含有一个以载波频率为中心频率的带通滤波器;该带通滤波器串连安装在所述检波电路之前。
6.一种提高红外触摸屏工作寿命的方法,该方法包含以下步骤A.在红外触摸屏的电路部分,安装由所述的数控增益放大器、A/D变换器构成的增益控制环路,和红外发射管的驱动电流限制电路;B.微型计算机系统初始化,设定数控增益放大器的初始增益和红外发射管的驱动电流;C.微型计算机系统通过扫描发生器、模拟开关阵列,将第一对红外发射管和接收管接通,使发射管发射红外线,接收管接收红外线;同时打开与A/D变换器连接的I/O口线,接收该接收管产生的光电信号经放大处理、A/D变换得到的数据;D.将步骤C得到的数据与所述微型计算机系统内存储的标准数据,通过其CPU进行比较运算,并将运算结果存储到所述微型计算机系统内一定地址的存储单元内,作为数控增益放大器的增益控制数据;E.按照步骤C、D的方法,依次读取打开与每一对红外发射接收管所得到的A/D变换数据,按照一定的地址排列方式,存储到所述微型计算机系统的存储器内,构成一组数控增益放大器的增益控制数据,即“增益控制表”,直到最后一对红外发射接收对管;F.结束步骤E,并向进行数据处理的触摸屏内的微型计算机系统发出开始下一步操作的指令;G.启动包含有增益控制代码模块的触摸检测主程序;H.触摸检测主程序通过扫描发生器,控制模拟开关阵列,重新依次开启红外发射接收对管;同时按照红外发射接对管的接通顺序,调用增益控制代码模块,依次输出上述预置数据中的每一个增益控制数据到数控增益放大器;I.重复步骤H,开始下一个循环。
7.一种提高红外触摸屏触摸分辨率的结构,该结构使用在由沿着显示器的显示表面的四个边缘,按照一定的顺序纵向和横向排列的红外线发射接收对管阵列;分别与上述阵列中每一只发射及其对应的接收管相连接的两组模拟开关阵列;与模拟开关阵列相连接、产生开关顺序通断指令的扫描发生器;以及耦合连接在与红外接收管对应的模拟开关阵列信号输出端的信号放大处理电路;一个与上位计算机的输入输出端口相连接,并通过I/O口线分别与上述各部分相连接、控制上述部分工作的微型计算机系统;一个存储在所述微型计算机的程序存储器内、用于触摸判定的触摸检测程序;和安装在上位机中的驱动程序所构成的红外触摸屏内;其特征在于在信号处理放大电路中,包含有一个A/D变换器,其模拟量输入端与信号处理电路的输出端耦合连接,其数据输出端与微型计算机系统的数据线耦合连接;在微型计算机系统的程序存储器之中,还存储有一个二极管标准参考值,一个数据归一化代码模块;在触摸检测主程序或使用该触摸屏的上位机驱动程序中,包含有一个触摸点计算代码模块;所述数据归一化代码模块,能够循环读取每一个由红外接收管产生的、经信号放大和A/D变换后光电信号数据,并将所述数据与上述二极管标准参考值进行比较运算,生成一个与发射接收对管一一对应的、用于所述光电信号数据归一化的数据表;触摸点计算代码模块能够根据触摸判定程序的判定结果,通过计算对所述由AD变换器输出、经过归一化的光电信号进行曲线方程计算,得到触摸点的精确坐标值。
8.根据权利要求7所述的提高红外触摸屏触摸分辨率的结构,其特征在于所述的数据归一化的数据表,由数据归一化代码模块利用所述二极管标准参考值,与每一个由红外接收管产生的、经信号放大和A/D变换后光电信号数据相减而得到。
9.根据权利要求7所述的提高红外触摸屏触摸分辨率的结构,其特征在于在所述的与红外发射管相连接的模拟开关的驱动输入端,还连接有一个限流驱动电路或元件;所述的信号处理放大电路中,还串连有一个数控增益放大器;数控增益放大器的输入端与其它信号处理电路耦合连接,输出端与所述A/D变换器的模拟输入端耦合连接,增益控制端与微型计算机系统的I/O口线相连接;A/D变换器的数据输出端与微型计算机系统的I内口线耦合连接;所述微型计算机系统存储器内数据归一化代码模块,由一个增益比较运算代码模块和一段增益控制代码构成;该增益比较代码能够对从所述A/D变换器得到的各个数据,与所述标准数据进行比较运算,并将运算结果按照一定的地址排列方式,存储到微型计算机系统内存储器的存储单元内,构成一个增益控制表;增益控制代码嵌入在触摸检测主程序内,能够在所述主程序检测触摸事件时,按照被所述扫描发生器通过模拟开关阵列所控制的红外发射接对管的接通顺序,依次读取上述增益控制表,通过所述与数控增益放大器连接的I/O口线反馈输出。
10.根据权利要求7所述的提高红外触摸屏触摸分辨率的结构,其特征在于所述的触摸点计算代码模块,是通过已知点坐标求解二次曲线或指数、对数曲线及正切、余切曲线的顶点坐标值的算法模块。
11.根据权利要求10所述的提高红外触摸屏触摸分辨率的结构,其特征在于所述触摸点计算代码模块,是一个通过双曲线上已知点求解双曲线顶点的算法模块。
12.根据权利要求7、10或11所述的提高红外触摸屏触摸分辨率的结构,其特征在于所述触摸点计算代码模块,存储在触摸屏内微型计算机系统的程序存储器之中;并能够被微型计算机系统的CPU执行。
13.根据权利要求7所述的提高红外触摸屏触摸分辨率的结构,其特征在于在所述触摸屏的触摸检测主程序内,嵌入有一段数据传输代码该代码能够将触摸点精确计算所需要的全部数据,即上述归一化的光电信号数据和触摸事件判定结果,按照一定的格式,通过微型计算机系统与所述上位机的接口,传输运算结果到上位计算机中。
14.根据权利要求13所述的提高红外触摸屏触摸分辨率的结构,其特征在于所述的触摸点计算代码,存储在上位计算机的存储器中;该运算比较代码模块,能够被所述上位计算机的CPU执行,并接收从所述从微型计算机系统通过与该计算机的接口传输而来的全部数据。
15.根据权利要求7、8、10、11或12所述的提高红外触摸屏触摸分辨率的结构,其特征在于所述的触摸点精确计算代码模块中,包含有一段判断光电信号强度变换趋势的代码,该代码能够将一个经过归一化处理的光电信号数据,与提供该数据的红外接收管据相邻其它红外接收管所提供的数据相比较,并判断数据值的变化趋势,是否符合所选定曲线的变化趋势,即是否符合触摸点精确计算的条件。
16.一种提高红外触摸屏分辨率的方法,该方法包含以下步骤A.在红外触摸屏的电路部分,安装由所述A/D变换器构成的模数变换电路;B.微型计算机系统初始化;C.微型计算机系统通过扫描发生器、模拟开关阵列,将第一对红外发射管和接收管接通,使发射管发射红外线,接收管接收红外线同时打开与A/D变换器连接的I/O口线,接收该接收管产生的光电信号经放大处理、A/D变换得到的数据;D.由步骤C得到的数据经微型计算机系统的CPU运算处理后,存储到存储器内的一定地址的存储单元内;E.按照步骤C、D的方法,依次读取打开与每一对红外发射接收管所得到的A/D变换数据,按照一定的地址排列方式,存储到所述微型计算机系统的存储器内,构成一个“增益差值表”或“归一化数据表”,直到最后一对红外发射接收管F.结束步骤C、D、E,并向进行数据处理的触摸屏内的微型计算机系统或上位计算机系统输出开始下一步操作的指令;G.启动触摸判断主程序,进入定时中断重复步骤C,并进行数据归一化处理;H.通过主程序进行触摸判断处理,判定是否有触摸事件发生;I.将由步骤G和H得到的相邻的数个数据,送到微型计算机系统或上位计算机的CPU进行运算比较,判断数据值的变化趋势,是否符合所选定曲线的变化趋势,即是否符合触摸点精确计算的条件;J.在步骤I的判定结果满足精确计算的条件的情况下,计算触摸点的精确坐标值;K.按照步骤G、H的方法,依次运算比较每一对红外发射接收管的A/D变换数据,并输出结果,直到最后一对红外发射接收管;L.步骤K结束后,按照步骤G的方法,开始新的循环。
17.在权利要求16所述的方法中,触摸屏内的光电信号处理通路中还安装了所述的数控增益放大器,故步骤D的内容如下M.将步骤C得到的数据与所述微型计算机系统内存储的二极管标准数据,通过其CPU进行比较运算,并将运算结果存储到所述微型计算机系统内一定地址的存储单元内,作为数控增益放大器的增益控制数据;N.重复步骤M,生成数控增益放大器的增益控制表作为归一化数据表。
18.在权利要求16所述的方法之中,步骤I内容如下O.启动所述微型计算机系统内的数据传输程序;传输归一化处理的A/D数据和其她触摸点计算所需要的预置数据到上位计算机中;P.启动在所述上位机中的触摸点精确计算代码,接收由触摸屏连接端口输入的数据。
全文摘要
一种提高红外触摸屏性能的结构和方法,主要结构是在其光电信号通路内插入A/D变换环节,实现其单片机系统对光电元件性能的预检,以及根据检测结果实现触摸判定过程中的数据归一化,提供给曲线拟合方式的触摸点计算模块,极大地提高触摸分辨率;再在该通路中插入数控增益环节,与单片机系统构成一个增益控制环路,依照上述预检结果自动调节其增益实现数据归一化,弥补元件间的性能和老化差异,极大地延长其工作寿命。
文档编号G06F3/02GK1335548SQ0012146
公开日2002年2月13日 申请日期2000年7月24日 优先权日2000年7月24日
发明者刘建军, 刘新斌 申请人:北京汇冠科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1