触摸屏调试终结

来源:互联网 发布:baocms源码 编辑:程序博客网 时间:2024/04/29 05:14

(一)遇到问题

1.

采集的数据有剧烈抖动    

症状
   
    触摸屏压下以后,即使保持位置不动,所取得的XY坐标也会不时发生较大范围的跳动,幅度达到十几个到几十个像素
 
分析
   
    通常触摸屏的抖动是不可避免的,毕竟是一个模拟信号的AD转换的过程,但是正常抖动应该在几个像素以下。大范围的坐标抖动,说明AD转换采样取得的电压值有较大变化。理论上大致会有两类原因造成:
 
    AD转换的参考电压跳动
    取样PIN脚输入电压跳动
 
因此,外推一下,不外乎是:
   
    参考电压或取样PIN脚电压受到干扰
    取样时刻,对应PIN脚的电压值还未稳定
    触摸屏本身质量原因(如贴合存在空隙等),触压时电阻值变化较大,造成输出电压的抖动
 
解决
   
    具体解决时就要具体分析跳动的现象和规律了
    通常如果是内置触摸屏控制模块的MPU,取样PIN脚数据受到干扰的可能性较大,因为这时候,电阻式触摸屏的4个PIN脚的走线相对独立的触摸屏控制芯片来说,可能会比较长,周边的其它信号线可能也比较多。要注意保护好信号。
    后两者对应的措施包括延迟消抖,合理安排采样时间,间隔。 改进触摸屏本身等。
 
    最后,抖动有时候是不能完全消除的,可以通过数据平滑的措施在一定程度上减弱抖动带来的干扰。

2.在第一次触摸屏幕,pendown中断产生,并完成测量后,即使放开触摸屏,依然连续不断的有pendown中断信号产生,反复进入测量过程。
 
分析
   
    测量触摸屏X+ pin 上的电平发现,即使在等待中断的过程中,X+ pin 也始终为低电平,而理论上,此时该pin应该为高电平,由于Y- pin 接地,在触摸屏被按下的时候,X+ pin 电压被拉低,从而产生pendown中断。
   
    反复调试发现该pin电压为低的原因在于在上一次测量中,最后一次测量的是Z1,在触摸屏放开的时候,测量Z1的过程中,X+为低电平。而后回到等待中断状态的时候,X+ pin 由于外部电容的原因,被上拉电阻重新拉高为高电平需要一段的时间,在此之前,如果打开中断,就会误判,错误的收到中断信号
 
解决
 
    有几种办法可以解决:
 
    减小外部电容
    将中断由电平触发改为下降沿触发
    在完成测量之后,打开中断之前,延迟一段时间。等待X+ Pin回到高电平状态
 
    改变电容涉及到硬件电路改变,而改变触发方式则因为目前使用的中断线无法改成边沿触发,不可行,所以目前是用最后一种方式。

 
    可以尝试改变测量顺序,先测Z1再测X,Y看是否这样可以避免最后一种方式所需的延迟。减小cpu占用率。