参考:http://blog.chinaunix.net/uid-22174347-id-1786941.html
==========================================================
开发环境
编译系统 :fedora9
编译器 :arm-linux-4.4.3
主控芯片 :S3C2440
开发板 :mini2440
==========================================================
一、电阻式触摸屏工作原理
二、 S3C2440 电阻式触摸屏接口、内部ADC结构
三、Linux输入子系统(InputSubsystem)
四、mini2440触摸屏驱动分析
==========================================================
二、S3C2440 电阻式触摸屏接口、内部ADC结构
1,电阻式触摸屏接口、内部ADC结构
如下图所示:
2,AD转换的一些参数
转换速率:当PCLK=50MHz时,分频设为49,则10位的转换计算如下:
AD转换频率 = 50MHz/(49+1)=1MHz
AD转换时间 = 1/(1MHz/ 5cycles)=1/200KHz=5us
从上面的结构图和数据手册可以知道,该ADC模块总共有8个通道可以进行模拟信号的输入,分别是AIN0、AIN1、AIN2、AIN3、YM、YP、XM、XP。
3,触摸屏接口
XP、XM、YP、YM为四线电阻触摸屏接口,四条信号线分别代码的含义为:
nXPON | Plus X-axis on-off control signal | x轴正极开关控制信号 |
XMON | Minus X-axis on-off control signal | x轴负极开关控制信号 |
nYPON | Plus Y-axis on-off control signal | y轴正极开关控制信号 |
YMON | Minus Y-axis on-off control signal | y轴负极开关控制信号 |
触摸屏接口的模式有以下几种:
(1)、普通ADC转换模式
(2)、独立X/Y位置转换模式
(3)、自动X/Y位置转换模式
(4)、等待中断模式
我们主要接受触摸屏接口的等待中断模式和自动X/Y位置转换模式,自动转换模式操作流程如下:触摸屏控制器自动转换X,Y的触摸位置,当转换完毕后将数据分别存放在寄存器ADCDAT0和ADCDAT1.并产生INT_ADC中断通知转换完毕。
4,ADC模拟数字转换接口
A[3:0],也就是AIN0、AIN1、AIN2、AIN3为三个模拟转数字通道。当触摸屏接口不使用时,XP、XM、YP、YM四个引脚也可以用做ADC转化。