首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android 电容屏(3):驱动调试之驱动程序分析篇

2012-08-26 
android 电容屏(三):驱动调试之驱动程序分析篇关键词:android电容屏 tp 工作队列 中断 坐点计算电容屏主要

android 电容屏(三):驱动调试之驱动程序分析篇
关键词:android  电容屏 tp 工作队列 中断 坐点计算  电容屏主要参数
平台信息:
内核:linux2.6/linux3.0
系统:android/android4.0 

平台:S5PV310(samsung exynos 4210) 

android 电容屏(一):电容屏基本原理篇

android 电容屏(二):驱动调试之基本概念篇

android 电容屏(三):驱动调试之驱动程序分析篇

以goodix的gt8105为例

一、总体架构

硬件部分:先看一个总体的图吧,其实触摸屏原理也比较简单,触摸屏和主控芯片间的联系,如下主要有三部分:

android 电容屏(3):驱动调试之驱动程序分析篇

1、IIC部分,初始化gt8105的数据和传回主控制的坐标位置信息就是通过IIC这条线传输的;

2、INT,当gt8105初触摸时,会发出中断通知主控接收信息(坐标数据);

3、gt8105电源、复位这一部分,不同芯片有所不同,可以根据触摸屏芯片来配置。

 软件部分:

android 电容屏(3):驱动调试之驱动程序分析篇

 二、电容触摸屏的主要参数(这部分面试的时候也许有人会问的)

                记得刚出来找工作时有人问我一些问题,我没答不上来,现在感觉很清晰(那时候刚毕业IIC我都说不全)
1、IIC
(1)、clk370KHz~400KHz;
(2)、触摸屏工作在从模式,这个比较简单;
2、电容检测频率,也就是每秒检测的次数:(大概)
(1)、单指≥100Hz;
(2)、五指≥80Hz;
(3)、十指≥60Hz。
3、手指按下,没抬起时触发多少中断?
            中断个数也就是检测频率,按下没提起一直有中断。这样我们就可有判断单点、划线之类的操作;
4、校准功能、自动校准(有个别电容屏没有的,用软件校准)
(1)、初始化校准
             不同的温度、湿度及物理空间结构均会影响到电容传感器在闲置状态的基准值。一般电容触摸屏会在初始化的 200ms内根据环境情况自动获得新的检测基准。完成触摸屏检测的初始化。
(2)、 自动温漂补偿
              温度、湿度或灰尘等环境因素的缓慢变化,也会影响到电容传感器在闲置状态的基准值。实时检测各点数据的变化,对历史数据进行统计分析,由此来修正检测基准。从而降低环境变化对触摸屏检测的影响。    
5、推荐工作条件(环境温度为 25°C,VDD=2.8V)

参数

最小值

典型值

最大值

单位

模拟AVDD(参考AGND)

2.5

2.8

3.6

V

数字DVDD(参考DGND)

2.5

2.8

3.6

V

电源纹波

 

50(注意电池、充电器的影响)

 

mV

工作温度

-20

+25

+85

工作湿度

-

-

95

%

三、硬件接口电路:

如下图:

android 电容屏(3):驱动调试之驱动程序分析篇

SDA

IIC数据 要上拉电阻,为1K;

SCL

IIC 时钟(400KHz)

TP_EN

使能脚(gt8105为高电平)

INT

中断(一直点到触摸屏时中断是一直发出的)

VCC

3.3V 这个电压一直有

GND

软件部分,整体流程如下:

android 电容屏(3):驱动调试之驱动程序分析篇

三、IIC配置

                设备到芯片的数据、初始化值都是从这条总线上传输的,首先我们要配置这个条总线,

/linux/arch/arm/mach-exynos/mach-smdkv310.c,这个因平台而已,地址右移也跟情况而定,如果本来就是7bit的地址就不用移位。



中断触发--中断函数--工作队列调度--功能函数执行


2楼mvpstevenlin3小时前
太专业了!!
1楼qianjin0703前天 11:11
以前做过一款触摸屏,很类似,唯一的区别在,驱动的工作队列里得到触摸屏坐标后,会有一个线性算法转换,把触摸屏坐标转换成显示屏坐标,再上报input,不知道是否有这个必要。
Re: xubin341719前天 11:33
回复qianjin0703n上报坐标的话有两种情况:n(1)、点对点,“所见即所得”,比如:lcd分辨率1024*768,触摸屏分辨率:1024*768,这个种情况不需要转换显示坐标,直接上报input就可以; n(2)、非点对点,如:lcd分辨率1024*768,触摸屏分辨率较小如:800*600,或者触摸屏分辨率较大如:1366*768,这种情况就需要所说的坐标转换……

热点排行