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

AM335X 触摸屏的硬件连接及Linux驱动<技术分享>

许多客户问到触摸屏的连接及驱动问题,另外还有同时使用触摸屏和通用ADC,特此分享如下:

1. overview

AM335x TS controller支持如下四种:

• 8 general-purpose ADC channels 即8路通用的ADC
• 4-wire TSC with 4 general-purpose ADC channels 即4路作为4线触摸屏连接,4路作为通用ADC
• 5-wire TSC with 3 general-purpose ADC channels 即5路作为5线触摸屏连接,3路作为通用ADC
• 8-wire TSC 即8路作为8线触摸屏连接

2. HW connection

AM335X TS controller与各种类型触摸屏连接如下:

关于4线触摸屏的连接方式如下:

 

5线触摸屏连接如下:

 

8线触摸品连接如下:

3. Linux driver

关于触摸屏的驱动说明,可以参考http://processors.wiki.ti.com/index.php/AM335x_ADC_Driver's_Guide

需要说明的是SDK-5.07.00.00开始,驱动中同时支持TS和通用ADC,即可以支持4线触摸屏+4路通用ADC、5线触摸品+3路通用ADC、8线触摸屏。

对于触摸屏的原理,可以参考文章《Using resistive touch screens for human/machine interface》

http://www.ti.com/lit/an/slyt209a/slyt209a.pdf

关于Touch-screen acquisition flowchart,见下图

 

Gary Wu:

需要补充说明的是TS的驱动在linux/drivers/mfd/ti_tscadc.c

关于platform data在linux/arch/arm/mach-omap2/board-am335xevm.c中有如下结构体,默认是支持4线屏的。如果支持其他,需要修改下述结构体中的参数。

/* TSc controller */static struct tsc_data am335x_touchscreen_data  = { .wires  = 4, .x_plate_resistance = 200, .steps_to_configure = 5,};

static struct mfd_tscadc_board tscadc = { .tsc_init = &am335x_touchscreen_data,};

 

Gary Wu:

回复 Gary Wu:

自己顶一下

nuoman1:

顶起。如果有电容触摸屏的移植指南就更完美啦!

dh.sun:

正在搞触摸屏驱动,非常感谢

Yaoming Qin:

很好的分享,学习

zimin hou:

回复 Yaoming Qin:

请问我要是使用5线的触摸屏,如何修改代码?

xixiguo:

回复 Gary Wu:

Hi Gary,

请问如果接四线电阻屏的话, TS_CHARGE_DELAY Register 应该如何确定设置多少delay呢,这个delay值需要根据什么依据来确定呢?

yongqing wang:

回复 xixiguo:

默认0x400

赞(0)
未经允许不得转载:TI中文支持网 » AM335X 触摸屏的硬件连接及Linux驱动<技术分享>
分享到: 更多 (0)