TI中文支持网
TI专业的中文技术问题搜集分享网站

求助:TSC2007 电阻屏 X/Y读取数据全为0

硬件平台: CPU iMX6  + TSC2007 + 电阻屏 

操作系统: linux-3.0.35

驱动:         tsc2007标准驱动

问题描述:

 

设备地址 0x48 (右移一位, A1 A0 = 00 )

在tsc2007_read_values中加入打印信息,

每次点击时打印

x=0 y=0 z1=0 z2=0

x=0 y=0 z1=0 z2=0

x=0 y=0 z1=0 z2=0

x=0 y=0 z1=0 z2=0

x=0 y=0 z1=0 z2=0

x=0 y=0 z1=0 z2=0

从示波器上看波形应该正确的。

 

S 90 D4 S 91 00 00 T   [measure y]

S 90 C4 S 91 00 00 T    [measure x]

S 90 E4 S 91 00 00 T     [measure z1]

S 90 F4 S 91 00 00 T     [measure z2]

S 90 00 S 91 00 00 T     [powerdown enable irq]

 

 

 

static void tsc2007_read_values(struct tsc2007 *tsc, struct ts_event *tc)
{
/* y- still on; turn on only y+ (and ADC) */
tc->y = tsc2007_xfer(tsc, READ_Y);
/* turn y- off, x+ on, then leave in lowpower */
tc->x = tsc2007_xfer(tsc, READ_X);
/* turn y+ off, x- on; we'll use formula #1 */
tc->z1 = tsc2007_xfer(tsc, READ_Z1);
tc->z2 = tsc2007_xfer(tsc, READ_Z2);
/* Prepare for next touch reading – power down ADC, enable PENIRQ */
tsc2007_xfer(tsc, PWRDOWN);
printk("x=%d y=%d z1=%d z2=%d\n", tc->x, tc->y, tc->z1, tc->z2);
}

 原理图:

cg xie:

回复 user151383853:

可能是芯片样品或制程有问题。换了一颗新的ADS1015后就好了。谢谢!

user3917511:

这种全零的情况, 应该首先考虑外部和硬件问题.

JiaChuang Chen:

不知道你这个芯片使用什么协议读取出来的,有没有校验位或者应答?

如果校验位或者应答正常的话,那就是IC没有问题,可能是屏幕或者硬件电路链接的问题。

如果校验位或者应答不正常的话,那就说明IC的问题了。

yuhuan ge1:

您好,麻烦问您一下,TSC2007数据收到后应该如何解码发送出去,我的现象感觉像是解码不对导致的,谢谢啊。下面是我的现象:

I2C读tsc2007,这样在触屏上随机画线,出来的效果见图片,也就是随机画很多线后发现会叠加成一个个小方块,如果画一条线,线的方向趋势是正确的,但是线不收敛,且尝试滤波也几乎没有效果,请问有您知道可能是什么原因吗?

赞(0)
未经允许不得转载:TI中文支持网 » 求助:TSC2007 电阻屏 X/Y读取数据全为0
分享到: 更多 (0)