zoukankan      html  css  js  c++  java
  • 1.15ARM裸机之触摸屏

    1.15.1、输入类设备间接

    1.15.1.1、input/output

    • (1)IO输入输出,是计算机系统中的一个概念。计算机的主要功能就是从外部获取数据然后计算得到输出数据并输出给外部(计算机看成数据处理器),计算机和外部交互就是通过IO,每一台计算机都有个标准输入输出。

    1.15.1.2、常见输入类设备

    • (1)键盘、鼠标、触摸屏、游戏机摇杆、传感器(摄像头并不是一个典型的输入类设备)、

    1.15.1.3、触摸屏的特点

    • (1)触摸屏和人接触很紧密,尤其是电容式触摸屏
    • (2)触摸屏和显示器关系很紧密
    • (3)典型应用:手机、平板电脑、收银机、工业领域、

    1.15.1.4、触摸屏的分类

    • (1)常见的触摸屏分为2种:电阻式触摸屏和电容式触摸屏。早期用电阻式触摸屏,后来发明了电容式触摸屏
    • (2)这两种的特性不同、接口不同、编程方法也不同,原理不同。

    1.15.1.5、触摸屏和显示屏的联系和区别

    • (1)首先要搞清楚:触摸屏是触摸屏,用来相应人的触摸事件的。显示屏是显示屏,用来显示的、现在用的显示屏一一般是LCD
    • (2)为什么很多人会搞混这两个概念,主要是因为一般产品上触摸屏和显示屏是做在一起的。一般外层是一层触摸屏,触摸屏是透明的,很薄,底下是显示屏用来显示图像,平时我们看到的图像是显示屏透过触摸屏让人看到的。

    1.15.2、电阻式触摸屏的原理

    1.15.2.1、薄膜+玻璃(需要尖锐硬物点击)

    • (1)要点是薄、透明、前面板的硬度稍弱,可以被硬物按压玩去,后面板硬度很大,不会弯曲。
    • (2)前面板和后面板在平时是没有挨着的,在我们的按压之下,前面板发生(局部)形变,在这一点上,我们的前后面板会挨着。

    1.15.2.2、ITO(导电+透明+均匀压降)

    • (1)ITO是一种材料,其实是一种涂料,特点是透明,导电,均匀的涂抹
    • (2)本来玻璃和塑料都是不导电的,但是图上ITO之后就变成导电的了,而且还同时保持着原来透明的特性。
    • (3)ITO不但导电而且是有电阻的,所以中间均匀涂抹了ITO之后就相当于x1,y1之间接了一个电阻,在x2,y2之间也接了一个电阻。因为ITO在板子上形成的等效电阻式均匀分布的,所以板子上某一点的电压值和这一点的位置值是呈正比的。
    • (4)触摸屏经过操作,按下之后,要的就是按下的坐标,坐标其实就是位置信息,这个位置信息和电压成正比,这个电压可以通过AD转换得到,这就是整个电阻式触摸屏的原理。

    1.15.2.3、X/Y轴分时AD转换

    • (1)下面要研究的是如何得到按下的 这个点的电压
    • (2)在第一个面板的一对点击上加电压,然后在另一个面板上的一个电极和第一个面板的地之间去测量。在没有按下时测试无结果,但是在有人按下时在按下的哪一点2个面板接触,接触会导致第二个面板上的电压和接触处的电压值相等,所以此时测量到的电压就是接触处在第一个面板上的电压值
    • (3)以上的过程在一个方向上进行一次,即可测量出该方向的坐标值,进行完之后撤掉电压然后在另一个方向上的点击加电压,故技重施一遍,即可得到另一个方向的坐标,至此我们的一次触摸时间结束。

    1.15.2.4、电压值对应坐标值(校准)

    • (1)电压值和坐标值成正比,所以我们需要去校准它。校准就是去计算(0,0)坐标点的电压值是多少

    1.15.2.5、思考:为什么电阻触摸屏不支持多点触摸

    1.15.3.S5PV210的电阻触摸屏控制器

    1.15.3.1、ADC与触摸屏控制器结构况框图

    • (1)S5PV210一共支持10路模拟输入,分别为AIN0~AIN9,其中AIN0~AIN1只做模拟输入AIN2~AIN9分别可以支持2个电阻式触摸屏。所以4个模拟输入的引脚负责一个触摸屏。
    • (2)AD转换和触摸屏控制部分有两个附属的单元,其中一个是反向控制AINn引脚的逻辑,主要作用是在触摸屏获取坐标的过程中给xy方向供电和测量,第二个是中断产生部件,如果AD转换完成(主要针对AIN0和AIN1这两路的)或者触摸屏被人按下/弹起时中断产生部件会产生一个中断,通知CPU来处理这个时间,这样CPU就不需要通过轮询的方式来洁厕触摸屏事件了。

    1.15.3.2、Normal Operation Mode & Seperate X/Y Position Convertion Mode

    • (1)AD转换器有两种工作模式:正常操作模式和分时X/Y位置转换模式
    • (2)正常操作模式用作普通的AD转换,分时X/Y位置转换模式主要用作电阻式触摸屏。正常AD转换下将AD转换值放在TSDATX中,在分时X/Y模式下,会将X/Y坐标分别放在TSDATX和TSDATY中
    • (3)对于AIN0和AIN1来说没有这么多模式,他们只能工作在普通模式:对于AIN2~AIN9来说,因为被复用,所以才有两种模式。如果我们将这几个引脚用作普通AD转换则配置成普通模式,如果用在电阻式触摸屏检测,则配置成分时X/Y模式

    1.15.3.3、中断参与

    • (1)其实普通AD转换和触摸AD转换本身都可以不在中断参与的情况下完成
    • (2)普通AD转换如果不要中断,那就去查询。开启一次转换后就不断查询标志位,知道AD转换完成,硬件自动置位标志位后我们采取读取转换值就不会错。,我们的控制器提供了相应的中断给普通AD转换。
    • (3)触摸屏AD也可以用或者不用中断。对于SOC来说,永远不知道人会什么时候按下或者弹起触摸屏,所以触摸屏的拿下和弹起时纯粹的异步事件。对于纯粹的异步事件,SoC只有两种解决方式:轮询和中断

    1.15.3.4、主要寄存器

    1.15.4电容式触摸屏

    1.15.4.1、人体电流感应

    • (1)利用人体电流感应现象,在我们的手指和屏幕之间形成一个电容,手指触摸式形成一个微小的电流,人的手指触碰的区域吸走一部分电荷,导致触摸板上的四个电极发生电流流动,控制器通过计算这4个电流的比例就能算出来触摸点的坐标(这个计算过程中设计到AD转换)

    1.14.4.2、专用电路计算坐标

    • (1)电阻式触摸屏本身是一个完全被动的器件,里面没有任何的IC和电路,它的工作逻辑完全在SoC控制器上。但是电容式触摸屏不同,电容式触摸屏需要自带一个IC进行坐标计算,因此电容式触摸屏工作时不需要我们主机的SoC控制器参与
    • (2)为什么这样设计?因为电容式触摸屏的坐标计算太复杂了,普通程序员无法写出合适的代码解决这个问题,所以在电容式触摸屏中附加了IC进行专门的坐标点计算和统计。这个IC全权负责触摸板得到的触摸操作信息,然后在通过数字接口和主机SoC进行通信。

    1.14.4.3、多个区块支持多点触摸

    • (1)电阻式触摸屏不支持多点触摸,这是他的本身的原理所限制的,无法改变也无法提升
    • (2)电容式触摸屏支持多点触摸也可以单点触摸。按照之前讲的电容式触摸屏的原理,单个电容式触摸屏面板也无法支持多点触摸。但是可以将一个大的触摸板分成多个小的区块,每个区块相当于一个小的独立的触摸屏面板。
    • (3)多个区块支持多点触摸,让电容式触摸屏坐标计算变复杂了,但是这个复杂性被电容式触摸屏的IC吸收了。还是通过数字接口和主机SoC通信报告触摸信息(触摸点数,每个触摸点的坐标)

    1.14.4.4、对外提供I2C的访问接口

    • (1)电容触摸屏包含两个部分,触摸板和我们班的电容IC。触摸板就是一个物理器件,电容触摸IC一般做到触摸屏的软排线(FPC)上面,电容触摸IC负责操作触控板,通过AD转换和分析,得到触摸点个数,触摸坐标等信息,然后以特定的数字接口与我们的SoC通信,这个数字接口就是我们的I2C
    • (2)对于我们主机SoC来说,电容式触摸屏其实就是一个I2C从设备,主机只需要通过I2C总线对这个从设备进行访问即可(从设备有自己的特定的从设备地址)。从这里来将,电容式触摸屏和我们之前将的Gsensor并没有什么区别。

    1.15.5、ft5x06电容触摸IC间接

    1.15.5.1、电阻式触摸屏和电容式触摸屏特点对比

    • (1)耐久性    电容式触摸屏不容易坏,电阻式触摸屏不容易坏
    • (2)抗干扰性    电容式触摸屏抗干扰性要差一些,而电阻式触摸屏好一些
    • (3)精准度    电容式触摸屏差,电阻式触摸屏好一些
    • (4)用户体验  电容式触摸屏要好一些,电阻式触摸屏差一些
    • (5)价格    电容式触摸屏贵一些,电阻式触摸屏便宜一些

    1.15.5.2、思考:为什么工业应用要用电阻式触摸屏

    • (1)消费电子产品(手机、平板电脑)用电容式触摸屏,而工业领域都是用电阻式触摸屏,就是因为工业领域环境比较恶劣所以电容式触摸屏容易受到干扰,因此不合适

    1.15.5.3、触摸屏的发展方向

    • (1)更薄、更透明、更精准、支持点数更多。
    • (2)电容式触摸屏和LCD做在一起。可以做到更薄,更透明,价格更低,但是面临的困难时抗干扰性要求越来越高
    • (3)软件工程师并不关心触摸屏的工艺问题,只关心软件编程接口(物理层是I2C)
  • 相关阅读:
    拖拽更改窗口大小
    一个窗口移动时,另一个窗口跟随移动
    xcode使用技巧
    同一个解决方案中,多个项目间相互引用,无法打开源文件
    截图时窗口自动识别
    C++使用sqlite时,中文字符显示乱码问题
    sqlite3配置与使用
    duilib控件与属性说明
    xml文件编写
    线程及安全相关
  • 原文地址:https://www.cnblogs.com/jxjl/p/7308445.html
Copyright © 2011-2022 走看看