本帖最后由 zhangmangui 于 2015-1-1 21:34 编辑
许多客户问到触摸屏的连接及驱动问题,另外还有同时使用触摸屏和通用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 需要说明的是SDK-5.07.00.00开始,驱动中同时支持TS和通用ADC,即可以支持4线触摸屏+4路通用ADC、5线触摸品+3路通用ADC、8线触摸屏。 对于触摸屏的原理,可以参考**《Using resistive touch screens for human/machine interface》 关于Touch-screen acquisition flowchart,见下图
RE: AM335X 触摸屏的硬件连接及Linux驱动<技术分享> by 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,
};
来自deyisupport
|