关于触摸屏跳点问题

oldhouse05   2010-6-12 15:04 楼主
  记得去年已经发现了这个问题,情况是这样,点击触摸屏任何区域都没有问题,很稳定,没有抖动,可是打开软键盘输入字符,偶尔就会按下一些字符,就会跳到退格键和回车键上,这是咋回事?刚开始以为是系统的自带软件的问题,我也想不到好办法解决,后来发现立宇泰的2440 开发板也存在这个问题,我们就是买它的板子来照着做的,后来弄了几个开发板来尝试,发现FL2440不存在这种问题,我对比了触摸屏驱动,几乎一摸一样。后来对比硬件,发现触摸屏的AD参考电压 那里我们和立宇泰都没有在就进接个电阻和电容。飞凌接了个110欧的电阻和0.1 uf的电容。
  产品已经量产,并且这个现象不是很严重,所以就几个月都没有去理会,后来再做一款,问题相当的严重,三次就有一次退格,现在不得不解决了。
  大家有什么招数?这个不是不准的问题,不启动这个软键盘按别的他还是很准的,所以用去抖动的方法是无效的。
  我正在想办法,正在纠结。

回复评论 (56)

输入法有问题? 换一个输入法看看。
点赞  2010-6-12 15:18
引用: 引用 1 楼 fishly_0 的回复:
输入法有问题? 换一个输入法看看。


是自带的,不可能是这个软键盘的问题,应该是硬件引起的。正在想办法解决。
我准备按下就采样三次,然后比较其中两个的差值,差值最大的舍弃。
应该可以的,慢慢来。
点赞  2010-6-12 15:38
多采样几次试试啊,我采样8次
点赞  2010-6-12 15:53
我采样 4 各点,取最接近的两个点做平均
作为有效点~!
点赞  2010-6-12 16:21
引用: 引用 3 楼 myearth 的回复:
多采样几次试试啊,我采样8次


这个调点,不是不准,所以没有用的,我采样了20 次都还是一个结果。
点赞  2010-6-12 16:27
引用: 引用 4 楼 dengchonglin 的回复:
我采样 4 各点,取最接近的两个点做平均
作为有效点~!

跳点, 我发现这个问题很难解决。非常麻烦。
这个办法倒是不错。
点赞  2010-6-12 16:28
帮 顶
点赞  2010-6-12 16:29
记得你所说的这个情况。
硬件上的问题可能性最大,我们有在使用中发现某些不好的屏,放在那里,都不用调什么软键盘就能看到屏幕一直有响应,就像是有东西在按,实际上是和屏有关,触摸屏安装时边缘压得太紧也会导致这个问题,松松现象就会有很大改观。

要从软件上解决的话似乎只能是多采样过滤了。
点赞  2010-6-12 16:45
引用: 引用 6 楼 gooogleman 的回复:
引用 4 楼 dengchonglin 的回复:
我采样 4 各点,取最接近的两个点做平均
作为有效点~!

跳点, 我发现这个问题很难解决。非常麻烦。
这个办法倒是不错。


这样只能使点击的区域更加准,但是跳点的现象是无法解决的。
想了很久也找不到办法。
点赞  2010-6-12 16:48
引用: 引用 8 楼 veabol 的回复:
记得你所说的这个情况。
硬件上的问题可能性最大,我们有在使用中发现某些不好的屏,放在那里,都不用调什么软键盘就能看到屏幕一直有响应,就像是有东西在按,实际上是和屏有关,触摸屏安装时边缘压得太紧也会导致这个问题,松松现象就会有很大改观。

要从软件上解决的话似乎只能是多采样过滤了。

嗯,不错,不过我的LCD都还没有装模具丫呢。真是晕死了,看来的确是那个参考电压在作怪。
点赞  2010-6-12 16:50
引用: 引用 8 楼 veabol 的回复:
记得你所说的这个情况。
硬件上的问题可能性最大,我们有在使用中发现某些不好的屏,放在那里,都不用调什么软键盘就能看到屏幕一直有响应,就像是有东西在按,实际上是和屏有关,触摸屏安装时边缘压得太紧也会导致这个问题,松松现象就会有很大改观。

要从软件上解决的话似乎只能是多采样过滤了。


这个是模具不平,我们也发现过。
点赞  2010-6-12 17:21
楼主 gooogleman 借问,wince 5  at91sam9261,我要修改lcd屏的参数要怎么做?
我从网上查来 要修改3个地方,但我没有找到传统的 #define 文件, wince 5 刚搞2天,只会ads。
WINCE500\PLATFORM\AT91SAM9261EK\SRC\DRIVERS\AT91SAM9261Display\
WINCE500\PLATFORM\COMMON\SRC\SOC\ATMEL\COMMON\INC\LCDC\
WINCE500\PLATFORM\COMMON\SRC\SOC\ATMEL\COMMON\DRIVERS\LCDC\
你能否把要修改的地方 指点下?
还有我在mode.h 发现这个数组
GPEMode aModes[8]{...}  定义了很多分辨率
可哪儿在调用啊
点赞  2010-6-13 08:15
你的 触摸屏上面有 X Y 线路上是不是有 4 个匹配电容,
把匹配电容取消掉看看~!~!
点赞  2010-6-13 08:57
为什么每次都是跳到退格键和回车键上呢?我感觉是不是还是输入法软件有问题啊。如果是触摸不准的话,应该跳到隔壁的键上才对。
点赞  2010-6-13 09:07
软键盘有大键盘和小键盘之分,大侠要么换个软键盘试试!
点赞  2010-6-13 09:08
引用: 引用 12 楼 tutugouzj 的回复:
楼主 gooogleman 借问,wince 5 at91sam9261,我要修改lcd屏的参数要怎么做?
我从网上查来 要修改3个地方,但我没有找到传统的 #define 文件, wince 5 刚搞2天,只会ads。
WINCE500\PLATFORM\AT91SAM9261EK\SRC\DRIVERS\AT91SAM9261Display\
WINCE500\PLATFORM\COMM……


atmel 没有做过 ,但是我觉得调试LCD都有通用的方法,
有些LCD要初始化内部寄存器,IIC或者SPI 接口方式,有些外置驱动芯片就不用
接下来就是LCD控制器的设置了,LCD 时钟设置,还有位数啊,前后肩之类的啊
等等就这几个东西

涉及bootloader OAL,做好这两个就会有画面,在显示驱动调整好分辨率 就可以正常使用了。
点赞  2010-6-13 09:23
引用: 引用 14 楼 wjf_zjut 的回复:
为什么每次都是跳到退格键和回车键上呢?我感觉是不是还是输入法软件有问题啊。如果是触摸不准的话,应该跳到隔壁的键上才对。


我加入了滤波算法之后,就不是退格了,是跳到另外地方去了。哈哈哈哈
我是这么做的,一次采样十个点。
然后排序,最后舍弃最多值和最小值,然后取中间八个点的平均值,
按照道理,这个应该会有好转,但是就是不好转啊,咋办。
点赞  2010-6-13 09:25
GOOGLE你这个问题需要软硬件一起来解决。
一:你说的应该是四线屏吧!
在XM,XP,YM,YP四个脚附近加一个1nF到100nf的电容,先拿 1nF试试,用于滤除屏的DCLK,背光CLK等对TP的干扰,这四个电容必不可少!
二:需要注意硬件的走线问题,TP的四根线,尤其是采样的两根线(四线屏三星架构中只用了两个ADC,另两个是配置的)不要受到干扰
三:如果能将你们板的屏的背光用外部直流电源等供电,可以一试。
四:加过滤算法,在驱动中打印每次采样的数据,分析里面的值,抛弃错误的点,可以一次采8次,去掉最大最小值,再求平均之类的方法。
五:在四的基础上分析,是否每次落笔时或是抬笔时采样的数据不准确,反复测试,看那个不准确的值的几率,如果是抬笔,做抬笔的算法,如果是落笔,做落笔的算法,很多触摸屏会是第一次和最后一次采样数据不对,这样就会像你说的飘到其他点去了,做个算法每次提交的值取你采样的上一次的值问题解决。

我可是看着你这一百分来的哦
点赞  2010-6-13 09:36
另外以前我调TP时搜集的一些总结,你可以参考一下:
http://www.armeasy.com/bbs/thread-17-1-2.html
点赞  2010-6-13 09:39
123下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复