触摸屏——S5PV210的触摸屏的理论(包括电阻式和电容式触摸屏)

以下内容源于朱有鹏嵌入式课程的学习与整理,如有其侵权请告知删除。

一、输入类设备简介

1、input/output

输入输出,是计算机系统中的一个概念。计算机可以看作数据处理器。计算机的主要功能就是从外部获取数据,然后进行计算加工得到输出数据,最后输出给外部。计算机通过IO和外部交互。每一台计算机都有标准输入和标准输出。

2、常见输入类设备

键盘、鼠标、触摸屏、游戏摇杆、传感器。

3、触摸屏的特点

触摸屏和人的关系很紧密,尤其是电容式触摸屏。

触摸屏和显示器关系很紧密。

典型应用:手机、平板电脑、收银机、工业领域。

4、触摸屏的分类

常见的触摸屏分为2种:电阻式触摸屏、电容式触摸屏。

早期用电阻式触摸屏,后来发明了电容式触摸屏。

这两种的特性不同、接口不同、编程方法不同、原理不同。

5、触摸屏vs显示屏

触摸屏是用来响应触摸事件的,而显示屏是用来显示的(现在的显示屏一般都是LCD)

很多人会搞混触摸屏和显示屏这两个概念,因为它们一般是做在一起的。比如手机屏幕的外面层是触摸屏,内层是显示屏。平时我们看到的图像,是显示屏透过触摸屏之后让人看到的。

把电容触摸屏和LCD做在一起,可以做到更薄、更透明、价格更低,但是抗干扰性要求更高。

二、电阻式触摸屏的原理

1、双面板结构

电阻式触摸屏由两个面板组成:塑料材质的前面板、玻璃材质的后面板。

后面板硬度很高,不会弯曲;前面板硬度稍弱,可以被硬物按下弯曲。平时前面板和后面板没有贴在一起,但在外力作用下,前面板发生局部区域形变,在这局部区域内前后面板就会挨在一起。

2、使用ITO材料

ITO是一种涂料,其特点就是透明、导电、均匀涂抹。

本来玻璃和塑料都是不导电的,但是涂上ITO之后就变成导电了,同时还保持着原来透明的特性。

ITO不但导电而且有电阻,当两个面板中间两面均匀涂抹了ITO之后,如果触摸屏按下去(假定接触点坐标为(x,y)),那么就相当于在原点(0,0)和(0,y)之间接了一个电阻,在原点(0,0)和(x,0)之间接了一个电阻。因为ITO形成的等效电阻在整个面板上是均匀分布的,所以某个接触点x轴方向上的电压值以及y轴方向上的电压值,和它的位置值(x,y)成正比。

当触摸屏按下之后,接触点处会有一个电压(包括X轴与Y轴的电压),而这个电压可以通过AD转换得到,我们经过换算可以得到这个接触点的位置信息。这就是整个电阻式触摸屏的工作原理。

3、X/Y轴分时AD转换

那如何得到接触点的电压(包括X轴与Y轴的电压)呢?

在第一个面板的一对电极上加电压,然后在第二个面板的一个电极和第一个面板的地之间去测量。在没有按下时测试无结果,有人按下时在按下的那一点2个面板会接触,接触会导致第二个面板整体的电压值和接触处的电压值相等,所以此时测量到的电压就是接触处在第一个面板上的电压值。

以上过程在一个方向进行一次即可测得该方向的坐标值,进行完之后撤掉电压然后在另一个方向的电极上加电压,故伎重施,即可得到另一个方向的坐标。至此一次触摸事件结束。

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

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

5、不支持多点触摸

由“X/Y轴分时AD转换”可知,接触点的电压是通过测量第二个面板的电压值得到的。由于第二个面板某一个时刻只能有一个电压,换句话说,就算有多个接触点也只能得到一个电压值,所以电阻式触摸屏不支持多触摸。

三、S5PV210的电阻触摸屏控制器

1、ADC/触摸屏控制器的框图

如下图所示,因为电阻式触摸屏工作时依赖于AD转换,所以在S5PV210中,将电阻触摸屏的接口和 ADC接口合二为一,或者说电阻触摸屏接口复用了ADC的接口(所谓的接口,也就是相关的寄存器的集合;所谓的复用,也就是通过这些寄存器相关bit来区分两者)。

 

S5PV210一共支持10路模拟输入,也就是说S5PV210有10个模拟输入引脚,分别为AIN0-AIN9。

其中 AIN0 和 AIN1 这两个模拟输入引脚,只用来作为 ADC 的模拟输入引脚,没有其他功能。

而 AIN2 ~ AIN9 除了可以作为 ADC 的模拟输入引脚,还可以支持2个电阻式触摸屏(每4个模拟输入引脚负责一个电阻式触摸屏)。

ADC/触摸屏控制器有2个附属单元,其中一个是反向控制AINn引脚的逻辑,主要作用是在触摸屏获取坐标的过程中分时给XY方向供电和测量;另外一个是中断产生部件,如果AD转换完成(主要针对 AIN0 和 AIN1这两路)或者触摸屏被人按下/弹起时,中断产生部件会产生一个中断通知CPU来处理事件。

2、ADC的2种工作模式

ADC有2种工作模式:正常操作模式、分时X/Y位置转换模式。

正常操作模式下,ADC(的模拟输入引脚)用于普通AD转换,转换得到的值放在TSDATn寄存器中。分时X/Y位置转换模式下,ADC(的模拟输入引脚)用于检测电阻式触摸屏是否发生触摸事件并获取触摸点的坐标),获取的坐标信息(x,y)分别放在TSDATX和TSDATY中。

对于 AIN0 和 AIN1这两个模拟输入引脚(或者说通道)来说,它们没有被复用,只用于AD转换。

对于 AIN2~AIN9 这8个模拟输入引脚(或者说通道)来说,因为它们被复用,所以有2种工作模式。如果我们想将这几个模拟输入引脚,用作AD转换则配置为正常操作模式;如果想将这几个模拟输入引脚,用作电阻式触摸屏检测,则配置成分时X/Y位置转换模式。

3、中断参与

普通AD转换如果不要中断,则可以使用轮询的方法:启动转换开关,然后不断查询标志位,直到AD转换完硬件自动置位标志位后,我们读取转换值就不会错。当然也可以使用中断,控制器提供了一个相应的中断给普通AD转换。

触摸屏可以用或者不用中断。对于SoC来说,什么时候按下或者弹起触摸屏,这是未知的,因此触摸屏的按下/弹起对SoC来说是异步事件。对于这种情况SOC只有2种解决方案:轮询和中断。

4、主要寄存器

待写。

四、电容触摸屏的原理

1、人体电流感应

利用人体电流感应现象,在手指和屏幕之间形成一个电容,手指触摸时吸走一个微小电流,这个电流会导致触摸板上4个电极上发生电流流动,控制器通过计算这4个电流的比例就能算出触摸点的坐标(这个计算过程中涉及到AD转换)。

2、专用电路计算坐标

电阻式触摸屏是一个完全被动的器件,里面没有任何IC电路,它的工作逻辑完全在SoC控制器上。

但是电容式触摸屏不同,电容式触摸屏除了触摸板,还需要自带一个IC电路(我们叫它电容触摸IC电路)进行坐标计算,因此电容式触摸屏工作时不需要主机SoC控制器参与。

为什么要这样设计?主要是因为电容式触摸屏的坐标计算太复杂了,普通程序员无法写出合适的代码来解决这个问题,因此在电容式触摸屏中除了触摸板之外还附加了一个IC电路进行专门的坐标点计算和统计。这个IC电路全权负责操控触摸板得到触摸操作信息,然后再通过数字接口和主机SoC进行通信。

3、多个区块以支持多点触摸

电阻触摸屏不支持多点触摸,这是它本身的原理所限制,无法改变无法提升。

电容式触摸屏可以支持多点触摸。按照之前讲的电容式触摸屏的原理,单个电容式触摸屏面板也无法支持多点触摸,但是可以将一个大的触摸面板分成多个小的区块,每个区块相当于是一个独立的小的电容式触摸屏面板。

多个区块支持多点触摸让电容触摸屏坐标计算变得复杂,但这个复杂性被电容触摸IC电路吸收了,最终还是通过数字接口和主机SoC通信报告触摸信息(触摸点数、每个触摸点的坐标等)。

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

整个电容触摸屏包含2部分:触摸板和电容触摸IC。触摸板就是一个物理器件;电容触摸IC一般做到触摸屏的软排线上面,负责操控触摸板、通过AD转换和分析得到触摸点的个数、触摸坐标等信息,然后以特定的数字接口与SoC通信。这个数字接口就是I2C。

对于我们主机SoC来说,电容式触摸屏其实就是一个I2C从设备。主机只需要通过I2C总线对这个从设备进行访问即可(从设备有自己特定的从设备地址)。从这个角度来讲,电容式触摸屏和其他的传感器(比如gsensor)并没有任何区别。

五、ft5x06电容触摸IC简介

相关资料见链接,包括以下内容:

本节课简单介绍了ft5x06这款常用的电容触摸IC,主要讲了它的工作模式、I2C接口、寄存器、触摸事件等,试图让大家对电容触摸屏进一步有所理解。

软件工程师并不关心触摸屏的工艺问题,只关心软件编程接口(物理层是I2C,软件层是寄存器)。

六、电阻式触摸屏 vs 电容式触摸屏

以下表格是两者的特点对比:

电容式触摸屏电阻式触摸屏
耐久性好一些差一些
抗干扰性差一些好一些
精准度 差一些好一些
用户体验 好一些差一些
价格 贵一些便宜许多

从上面可以看出,电容式触摸屏的用户体验好一些,所以消费电子产品,如手机、平板等,都是用电容式触摸屏。但是抗干扰性能方面,电阻式触摸屏比电容性触摸屏好,所以在工业领域都是用电阻式触摸屏,就是因为工业领域环境比较恶劣,电容式触摸屏容易受干扰,所以不合适。

未来触摸屏将往更薄、更透明、更精准、支持点数更多方向发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天糊土

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值