打印
[技术问答]

NUC972触摸屏ADC转换不稳定

[复制链接]
2160|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 诸葛一帆丶 于 2017-4-13 12:12 编辑

遇到一个问题:
1.
        想做nuc972 adc驱动中的触摸屏驱动部分,功能已经实现了,点击触摸屏上任意一点能采样到数据,但是数据波动很大,点击同一点的数据差值有时候能差几百点。

但是mini2440上触摸屏驱动同一点点击得到的值每次差值只有个位数。

2.
        将采样率从255,127,64,32...测试,依旧有问题。几次测试差值很大。

3.
        之前有问过说是nuc972本身问题,需要降低采样频率并采用滑动滤波算法。
        我理解的滑动滤波算法应该是在采样得到的数据基本稳定后,将偶尔得到的差值很大的数据去除,就能稳定数据。但现在修改了采样率数据差值一直很大。
linux上运行是:
(1368,2164) (2219,2229)
(1392,300)  (2291,333)

我这边配完后大致是:(自己写的驱动,不在linux上)
(900,3400) (2500,1800)
(900,2500) (2500,400)

Y轴上变化很大,正常来说Y上的数据应该变化不大的






沙发
zhuotuzi| | 2017-3-8 18:52 | 只看该作者
电阻屏?

使用特权

评论回复
板凳
zhuotuzi| | 2017-3-8 19:02 | 只看该作者
你要考虑这个屏幕的分辨率。然后分成段来处理。

使用特权

评论回复
地板
诸葛一帆丶|  楼主 | 2017-3-8 19:29 | 只看该作者
zhuotuzi 发表于 2017-3-8 19:02
你要考虑这个屏幕的分辨率。然后分成段来处理。

恩,是电阻屏
分段?能具体一点吗?

使用特权

评论回复
5
诸葛一帆丶|  楼主 | 2017-3-8 19:29 | 只看该作者
zhuotuzi 发表于 2017-3-8 19:02
你要考虑这个屏幕的分辨率。然后分成段来处理。

现在是同一个点取值也不准确

使用特权

评论回复
6
zhuotuzi| | 2017-3-8 19:34 | 只看该作者
诸葛一帆丶 发表于 2017-3-8 19:29
恩,是电阻屏
分段?能具体一点吗?

就是这个屏幕的分辨率如何,触摸屏是否有分辨率。你看着是点了同一个点,实际上是不可能那么准的,如果ADC的分辨率远大于触摸屏的分辨率肯定会有个波动。
比如ADC分辨率可以达到16级吧,你触摸屏根据大小,或许你只能达到4个级,你就只能这样等分对应,0到3就对应0,4到7对应1,8到11对应2,12到15对应3,就这样搞。

使用特权

评论回复
7
玛尼玛尼哄| | 2017-3-8 19:42 | 只看该作者
看了一下,楼主实际上是没错的,你是用手测试的吧,手那么大,稍微的抖动一点点是允许的。而且实际上相差的百分比很小,无碍。

使用特权

评论回复
8
玛尼玛尼哄| | 2017-3-8 19:43 | 只看该作者
如果觉得波动不爽,可以做个滤波,取若干次的平均值。

使用特权

评论回复
9
玛尼玛尼哄| | 2017-3-8 19:47 | 只看该作者
上面朋友说的分辨率也对,我查了一下资料,这个屏幕分辨率好像是
索尼X-35触摸屏 3.5寸 240 * 320
对吧,如果这个的话,你把你ADC最大减去最小值除以这个320或240,看看得到是多少,这个值就是稳定值,只要波动不超过这个值就OK。

使用特权

评论回复
10
玛尼玛尼哄| | 2017-3-8 19:47 | 只看该作者
我算了一下,如果按12BIT算最大应该是4096个分级,也就是除以320,=12.8,波动在12.8内就可以准确的控制到每一个像素。

使用特权

评论回复
11
as564335sa| | 2018-5-19 16:25 | 只看该作者
tslib没毛病

使用特权

评论回复
12
xuanhuanzi| | 2018-5-19 22:08 | 只看该作者
完美解决了吗

使用特权

评论回复
13
yiy| | 2018-5-20 12:01 | 只看该作者
啥情况?搞定了吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝