触摸屏系统应用中的题目及解决方法

当前位置:首页 >> 仪器仪表技术文章

触摸屏系统应用中的题目及解决方法
本文以AD7843在触摸屏系统中的一个实际应用为例,重点分析了在使用AD7843的过程中碰到系统资源占用、丈量值偏差以及外部干扰等题目,并提出了相应的解决方法。  
    AD7843是ADI公司生产的一种四线式触摸屏控制器,目前广泛应用于电阻式触摸屏输进系统中。尽管ADI公司给出了相关的典型应用和应用留意,但是在实际使用过程中仍然会碰到一些题目,比如怎样用硬件实现AD7843的时序逻辑、如何进步丈量精度、如何抗干扰,以及进步丈量可靠性等。 
    AD7843数字转换器在一个12位逐次逼近式比较寄存器(SAR)ADC架构上集成了用于驱动触摸屏的低通阻抗开关。这些器件不使用内部基准电压,当以大于125kSaps的吞吐率运行时的最大功耗小于1.4mW。它们还带有10KeV到12KeV的模拟输进ESD保护,增强了抗ESD能力,以避免关键的内部系统元件损坏。使用单2.2V 到5.25V的电源工作。 AD7843串行接口的一次完整操纵需要24个DCLK.,前8个脉冲接收8位的命令,并在第6个脉冲的上升沿开始采样,从第9个脉冲开始进进转换阶段,输出12位采样值,转换结束进进空闲阶段。直到24个DCLK结束,CS置高电平,一次丈量结束。此外,AD7843还支持其它的工作方式,这里不予详述。浓度计 | 扭力计 | 电容表 | 工具箱 | 管钳 | 频闪仪 | 采样仪 | 测厚仪 | 温度记录仪 | 功率计 | 记录仪 | 钩表 | 温度表 | 色度计 | 硬度计 | 万能钳  
    应用实例 
    图1的硬件接口示意图为一个驱动触摸屏应用,我们的触摸屏是四线电阻屏,它可以等效成水平方向和垂直方向的两个线性电阻。当有键按下时,通过控制AD7843可以丈量到触摸位置对应的水平和垂直方向的电压值,进而通过计算得到触摸位置的坐标值。 
    AD7843的控制时序由386EX(属Intel X86系列CPU) 产生。丈量命令的发送和丈量数据的接收由386EX的同步串口完成。图1中DCLK信号是由386EX同步串口的发送时钟TXCLK和接收时钟RXCLK经过逻辑转换产生,SSIORX和SSIOTX分别是386EX同步串口的数据接收端和数据发送端。其一次丈量周期的流程如图2所示。 
    设计中的题目及解决方法 
    1. 占用系统资源题目由上面的例子可知,AD7843的所有控制时序是由软件完成的。而且为了保证时序不被影响,一次丈量周期内不应被中断打断,所以就必须屏蔽高级中断。这样在实际操纵中就碰到了一个题目,在比较频繁地操纵触摸屏时,会大量占用CPU的时间,从而影响系统其它任务的执行,例如串口数据因来不及处理而造成数据的丢失甚至通讯中断。为了解决这个题目,我们采用一个逻辑器件EPM7032,由硬件来天生AD7843的控制时序,从而大大减轻了CPU的负担。下面先容硬件逻辑如何实现。我们将这部分逻辑看作一个芯片,其引脚定义如下: 
    entity AD_ctrl_delay_cmp is 
    Port 
    ( 
    clk:in std_logic;--时钟输进(1.8432MHz) 
    dout: out std_logic;--AD7843的DIN 
    clkout: out std_logic;--AD7843的DCLK信号 
    clkssio:out std_logic;--同步串口的接收时钟 
    cs: in std_logic;--AD7843的片选信号 
    rst: in std_logic-上电复位信号 
    ); 
    end AD_ctrl_delay_cmp; 
    其工作流程是:当有键按下时,CPU(386EX)会将cs置低,CPLD逻辑首先发8个clkout脉冲,在dout脚输出丈量X坐标的命令,然后再发16个脉冲,在clkssio脚输出与clkout同步的16个脉冲到386EX的同步串口的接收时钟引脚。386ex此时从同步串口接收到16位数据,取前12位作为实际采样值。然后产生丈量Y坐标的时序,与丈量X坐标的方法相同。完成一次丈量,再延时一段时间,完成第二次丈量,与第一次丈量方法相同。丈量两次的目的是为了削除键抖动。386EX的同步串口接收到四次丈量数据后将cs置低。 
    其内部逻辑的VHDL完整代码请参见。 
    2. AD7843的丈量值有偏差 
    在实际的使用过程还碰到另外一个题目,在按触摸屏的过程中,有时丈量出的按键位置有偏差,观察AD7843相关引脚波形发现输进电压有抖动。分析后发现抖动可能由两方面产生: 
    a. AD7843的模拟地与系统的数字地不是一点相连。数字地干扰由公共阻抗耦合到AD7843的模拟地,产生干扰造成抖动。解决办法是模拟地与数字地一点连接。 
    b. 触摸屏在按下和开释过程中有抖动,所以要进行键削抖。采用两次键值比较是一个较好的方法,具体工作原理是连续丈量X 、Y坐标值两次,然后进行比较,若相同或相差在答应的误差范围内就以为是有效键,否则为无效键。这里要十分留意的是为了有效地往除抖动,在第一次丈量X、Y坐标和第二次丈量X、Y坐标之间一定要有延时,延时应大于触摸屏的抖动时间,抖动的时间在触摸屏的性能指标中有说明。本文中的硬件CPLD逻辑已经实现了两次键值比较的键削抖功能。 
    3. 因外界干扰,触摸屏按键无响应触摸屏在现场应用中有时会出现“死机”现象(触摸屏按键无响应)。分析发现现场环境较恶劣,存在较强的电磁干扰,因此在触摸屏的引脚叠加了高频干扰脉冲,影响了AD7843的正常工作时序,造成AD芯片工作不正常。解决方法是在AD的关键引脚DCLK、DIN、DOUT对地接0.001u的高频滤波电容。 
    将上述解决方法应用到触摸屏系统后,在现场应用一年多,未出现按键无响应、按键坐标值错误等故障,运行良好。
发布人:2012/8/10 11:28:001133 发布时间:2012/8/10 11:28:00 此新闻已被浏览:1133次