首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

AM335X 触摸屏的硬件连接及Linux驱动

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,见下图



需要补充说明的是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,
};

继承事业,薪火相传
返回列表