关键词:android  电容屏 tp  ITO
平台信息:
内核:linux2.6/linux3.0
系统:android/android4.0
平台:S5PV310(samsung exynos 4210)

 作者:xubin341719(欢迎转载,请注明作者)

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

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

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

一、电容屏工作原理

触摸屏的工作原理概括来说就是上报坐标值,X轴、Y轴的值。前面我们分析了电阻触摸屏,它是通过ADC来检测计算X、Y轴坐标值,下面我们分析一下电容触摸屏的工作原理,看它是如何去检测计算X、Y坐标的值。

与电阻式触摸屏不同,电容式触摸屏不依靠手指按力创造、改变电压值来检测坐标的。电容屏通过任何持有电荷的物体包括人体皮肤工作。(人体所带的电荷)电容式触摸屏是由诸如合金或是銦錫氧化物(ITO)这样的材料构成,电荷存储在一根根比头发还要细的微型静电网中。当手指点击屏幕,会从接触点吸收小量电流,造成角落电极的压降,利用感应人体微弱电流的方式来达到触控的目的。(这是为什么当你带上手套触摸屏幕时,没有反应的原因),下图可以清晰的说明电容屏的工作原理。

二、电容屏模组组成

触摸屏:也就是我们手触摸操作的透明部分;

触摸IC:当电容屏触摸到时,要解析到触点的位置坐标,就是通过这颗芯片去计算处理的。

1、电容式触摸屏的类型主要有两种:

(1)、表面电容式:
表面电容式利用位于四个角落的传感器以及均匀分布整个表面的薄膜,有一个普通的ITO层和一个金属边框,当一根手
指触摸屏幕时,从板面上放出电荷,感应在触 屏 的四角完成,不需要复杂的ITO图案;

(2)、投射式电容:
采用一个或多个精心设计,被蚀烛的ITO,这些
ITO层通过蛀蚀形成多个水平和垂直电极,采用成行/列交错同时带有传感功能的独立芯片。现在平板电脑、手机、车载等多用投射式电容,所以我们后面分析表明投射式电容的构成。

投射电容的轴坐标式感应单元矩阵
:轴坐标式感应单元分立的行和列,以两个交叉的滑条实现 X轴滑条 Y轴滑条 检测每一 格感应单元的电容变化。(示意图中电容,实际为透明的)

2、电容触摸屏分辨率,通道数;

上图所示,X,Y轴的透明电极电容屏的精度、分辨率与X、Y轴的通道数有关,通道越多,分辨率越高。

3、电容触屏的结构分类:

(1)、单层ITO 

优点:成本 低,透过率 高,

缺点: 抗干扰能力 差

(2)、单面双层ITO 

优点:性能 好,良率高

缺点:成本 较高

(3)、双面单层ITO 

优点:性能好,抗静电能力强

缺点:抗干扰能力差

3、电容式触屏的分类及工作原理

(1)、自生电容式触摸屏 

Cp-寄生电容

手指触摸时寄生电容增加:Cp’=Cp/Cfinger

检测寄生电容的变化量,确定手指触摸的位置

(2)、互电容式触摸屏 

CM-耦合电容

手指触摸时耦合电容减小
,检测耦合电容变化量,确定手指触摸的位置

四、为什么会出现鬼点,鬼点如何消除

1、为什么会出现鬼点?

当一个手指按下时,X、Y轴只有一个交叉点,两个同时按下时就会出现4个交叉点,如下图所示,我们不期望得到的点就是所说的鬼点。

2、消除鬼点的方法

(1)、分时法:基于时间的多点触摸,假设多点触摸 分时进行,操作间 隔续集毫秒;

(2)、分区法:将整个触屏物理上分割几个区域 通过判断触摸进入推出 相应区域,从而分出鬼点中分 出真实点。

【转】android 电容屏(一):电容屏基本原理篇的更多相关文章

  1. Android UI体验之全屏沉浸式透明状态栏效果

    前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...

  2. Android 启动APP时黑屏白屏的三个解决方案

    你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...

  3. Android框架浅析之锁屏(Keyguard)机制原理

    最近终于成功的摆脱了FM收音机,迈向了新的模块:锁屏.状态栏.Launcher---姑且称之为“IDLE”小组,或许叫手机 美容小组,要是能施展下周星星同学的还我漂漂拳,岂不快哉. OK,闲话打住,咱 ...

  4. JQuery 判断IPad、IPhone、Android是横屏还是竖屏(Window.Orientation实现)

    在ipad.iphone网页开发中,我们很可能需要判断是横屏或者竖屏.下面就来介绍如何用 jQuery 判断iPad.iPhone.Android是横屏还是竖屏的方法. 代码如下: function ...

  5. Android 启动APP时黑屏白屏的三个解决方案(转载)

    你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单 ...

  6. Android 锁屏状态/锁屏密码等相关

    Android 锁屏状态/锁屏密码等相关 开始是在设备管理器方面找方法,但一直不行,可能在公司系统组同事的帮助下,知道KeyguardManager这个类 /** * 当前系统锁屏是否有密码 * @p ...

  7. Android 跨进程启动Activity黑屏(白屏)的三种解决方案

    原文链接:http://www.cnblogs.com/feidu/p/8057012.html 当Android跨进程启动Activity时,过程界面很黑屏(白屏)短暂时间(几百毫秒?).当然从桌面 ...

  8. Android 启动APP时黑屏白屏的解决方案

    在开发中,我们在启动app的时候,屏幕会出现一段时间的白屏或者黑屏,不同设备时间长短不同.很影响用户体验. 首先分析一下,产生这个现象的原因,当我们在启动一个应用时,系统会去检查是否已经存在这样一个进 ...

  9. Android项目实战(四十二):启动页优化,去除短暂白屏或黑屏

    大家会发现一个空项目,从手机桌面打开app是秒启动.但是对于自己开发的项目,有时会发现打开app的时候,会有短暂的1秒--2秒的白屏或者黑屏,然后才进入到程序界面. 个人理解为我们自己实现的Appli ...

随机推荐

  1. Hive 3、Hive 的安装配置(本地derby模式)

    这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可; $ vim hive-site.xml <configuration>   <property> ...

  2. PHP商城购物车类

    <?php /* 购物车类 */ // session_start(); class Cart { //定义一个数组来保存购物车商品 private $iteams; private stati ...

  3. pyqt 同时勾选多个items(网友提供学习)

    框选多个item之后,用空格键可以勾选/去选多个item,效果如下图所示: http://oglop.gitbooks.io/pyqt-pyside-cookbook/list/img/checkbo ...

  4. Linq:切勿使用 Count() > 0 来判断集合非空

    原文(http://www.cnblogs.com/ldp615/archive/2011/12/11/2284154.html) Linq 出现之前,我们通常使用下面的方式来判断集合是否非空,即集合 ...

  5. SQL Server -SET NOCOUNT

    SET NOCOUNT 使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息. 语法 SET NOCOUNT { ON | OFF } 注释 当 SET NOCOUNT 为 ON ...

  6. C#索引器:在集合或数组中取出某一个元素 举例 _【转】

    Garmmar: [访问修饰符] 数据类型 this[参数列表] { get { 获取索引器的内容 } set { 设置索引器的内容 } } Eg: <span style="font ...

  7. 使用log4net写自定义日志

    在使用log4net写Web服务器端日志的时候,通常需要一些自定义的参数,比如请求的url,method,以及用户名等等,而log4net中默认的Log接口只提供了很少的参数.    在网上找的其他的 ...

  8. 写一个Windows上的守护进程(7)捕获异常并生成dump

    写一个Windows上的守护进程(7)捕获异常并生成dump 谁都不能保证自己的代码不出bug.一旦出了bug,最好是崩溃掉,这样很快就能被发现,若是不崩溃,只是业务处理错了,就麻烦了,可能很长时间之 ...

  9. for()循环

    今天发现自己一直以来都搞错了for()循环的执行顺序.这么简单的问题一直都错了,我也是醉了. ;i>&&a[i]>a[i-];--i) { } //即 for(init_s ...

  10. 哪几个数的阶乘末尾有n个零?

    题目:哪几个数的阶乘末尾有n个0?其中n是一个正整数,从键盘输入. int main( void ) /* name: zerotail.cpp */ { int num, n, c, m; cout ...