触摸屏——S5PV210的触摸屏的理论与操作

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

一、输入类设备简介

1、input/output

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


2、常见输入类设备

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

3、触摸屏的特点

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

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

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

4、触摸屏的分类

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

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

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

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

触摸屏是用来响应人的触摸事件的;显示屏是用来显示的,现在用的显示屏一般都是LCD。

触摸屏和显示屏一般是做在一起的。外层是一层触摸屏,触摸屏是透明的,很薄;内层是显示屏,平时看到的图像是显示屏透过触摸屏让人看到的。


二、电阻式触摸屏的原理

1、薄膜+玻璃+尖锐硬物点击

要点是薄、透明。前面板硬度稍弱,可以被硬物按下弯曲,后面板硬度很高,不会弯曲。

前面板和后面板没有贴在一起,但在外力作用下,前面板发生局部形变,在这局部前后面板就会挨在一起。

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

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

本来玻璃和塑料都是不导电的,但是涂上ITO之后就变成导电了,同时还保持着原来透明的特性)。ITO不但导电而且有电阻,所以中间均匀涂抹了ITO之后就相当于在x1和y1之间接了一个电阻,在x2和y2之间也接了一个电阻。因为ITO形成的等效电阻在整个板上是均匀分布的,所在在板子上某一点的电压值和这一点的位置值成正比。

触摸屏按下之后会产生位置信息,这个位置信息和电压成正比了,而这一点的电压可以通过AD转换得到。这就是整个电阻式触摸屏的工作原理。

3、X/Y轴分时AD转换

下面要研究如何得到按下的这点的电压。

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

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

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

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

5、为什么电阻式触摸屏不支持多点触摸?


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

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

S5PV210一共支持10路模拟输入,分别为AIN0-AIN9,其中AIN0和AIN1是只做模拟输入的,AIN2-AIN9分别可以支持2个电阻式触摸屏,所以4个模拟输入引脚负责一个电阻式触摸屏。

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

2、AD转换器有2种工作模式

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

正常操作模式用作普通的AD转换,分时X/Y位置转换模式用作电阻式触摸屏。正常AD转换下将AD转换值放在TSDATX中,在分时X/Y模式下会将X/Y坐标分别放在TSDATX和TSDATY中。

对于AIN0和AIN1来说没有这么多模式,他们只能工作在普通模式;对于AIN2-AIN9来说,因为被复用,所以才有2种模式。如果我们将这几个引脚用作普通AD转换则配置为普通模式,如果用作电阻式触摸屏检测,则配置成分时X/Y模式。

3、中断参与

其实普通AD转换和触摸屏AD转换本身都可以不在中断参与下完成。

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

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


4、主要寄存器

待写。


四、电容触摸屏的原理

1、人体电流感应

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

2、专用电路计算坐标

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

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

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

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

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

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

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

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


五、ft5x06电容触摸IC简介

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

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

2、为什么工业应用中要用电阻式触摸屏?

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

3、触摸屏的发展方向

更薄、更透明、更精准、支持点数更多。

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

4、ft5x06的数据手册浏览

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建nginx流媒体服务器(支持HLS)

环境搭建 (一)下载源代码 nginx,地址:http://nginx.org/可以选择需要的版本下载 nginx_mod_h264_streaming-2.2.7.tar.gz ,支持MP4流,具体的说明在下面的这个网页 http://h264.code-shop.com/trac/wiki/Mod…

Spring中的动态代理

动态代理:指的就是通过一个代理对象来创建需要的业务对象,然后在这个代理对象中统一进行各种需求的处理。 学习完Spring后会发现,Spring中的AOP(面向方面编程:Aspect Oriented Programming)是个很重要的知识…

LED——S5PV210的LED的理论与操作

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、LED物理特性介绍 LED本身有2个接线点,一个是LED的正极,一个是LED的负极。 LED的功能就是亮或者不亮,只需要给LED的正极加电压即可点亮LED,去掉电压…

“.公司”域名注册总量TOP15:新网问鼎 万网居亚

IDC评述网(idcps.com)01月16日报道:根据ntldstats.com发布的最新数据显示,截止至01月15日17:00,在“.公司”域名注册总量大战中,新网打败众多国内外域名服务商,成为新晋霸主,其“.公…

Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备

返回 Mac App Store Prepare for Mac App Store Submission 提交到Mac 应用商店之前的准备 Most of your time is spent on coding tasks, but to develop for the Mac App Store, you need to perform a number of administrative tasks, using Xcode and other tools. You’l…

ARM通识——关于ARM的一些认识

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 注意,由于文章的撰写时间过早,很多内容没有更新,这里仅当一个通识了解。 1、ARM发展的里程碑 ARM的前身为艾康电脑(Acorn),于…

使用RMAN备份数据库

1.1使用控制文件备份全库 1.1.1配置备份路径 1.1.2 RMAN备份全库 1.2使用catalog数据库备份全库 1.2.1配置到远程数据库的TNS 1.2.2创建表空间及设置用户 1.2.3进入目录数据库并注册 1.2.4 CATALOG方式备份全库 转载于:https://www.cnblogs.com/myrunning/p/4231057.html

PL/SQL Developer连接Oracle 11g在Win8 64位系统下乱码

PL/SQL Developer在64位系统上连接Oracle,需要安装32位Oracle client客户端,使用后,发现操作数据库出现乱码的情况。经过查找资料,解决此问题,方法如下: 需要在系统的环境变量中,加入以下变量&a…

命令模式--command模式

首先来一个命令的接口: package mode.command;/*** * 定义一个命令接口,其中有一个抽象的执行方法,参数人命令接收器* * */ public interface Command {public void execute(CommandReceiver commandReceiver); }定义一个命令接受者的接口&am…

uploadify scriptData参数无法传参的问题

最近需要使用到uploadify,需要向后台传递参数,使用script最多只能够传递一个参数,当然也可以通过合并参数然后再在服务器段拆分参数的方法来传递多个参数,而uploadify插件提供的scriptData却怎么都无法使用,网上查阅了…

安装iproute2

yum install -y gcc bison flex#tar -xzf iproute2-3.17.0.tar.gz#cd iproute2-3.17.0#sed -i /^TARGETS/sarpdg misc/Makefile#make SBINDIR/sbin#make SBINDIR/sbin install参考资料:http://blog.sina.com.cn/s/blog_5f5716580100rvop.htmlhttps://www.kernel.or…

「北京」京东 JD.COM 招聘中/高级前端工程师

职位描述: 1、计算机或相关专业专科以上学历,2年以上网站前端开发经验,电子商务相关从业经验优先;2、精通各种Web前端技术,对符合web标准的网站重构有丰富经验,有成功作品;3、理解并掌握JavaScr…

前端上传组件Plupload使用指南

我之前写过一篇文章《文件上传利器SWFUpload使用指南》,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SWFUpload显然就有点过时了,毕竟html5原生的就给我们提供了文件…

HTML5简易在线画图工具

HTML5简易在线画图工具 原文:HTML5简易在线画图工具继上次学习了HTML5的路径画圆做了动态时钟、异次元空间的反转做了运动的太阳系,这两天将画线、画圆、填充等知识点结合起来做了一个简易的在线画图工具: 查看DEMO:HTML5简易在线画图工具 功…

uboot中系统时钟初始化函数:system_clock_init

时钟初始化函数内容如下: /** system_clock_init: Initialize core clock and bus clock.* void system_clock_init(void)*/ system_clock_init:ldr r0, ELFIN_CLOCK_POWER_BASE 0xe0100000/* Set Mux to FIN */ldr r1, 0x0str r1, [r0, #CLK_SRC0_OFFSET]ldr r1, …

【excel技巧读书笔记001】清除打开过的文件记录

我们在工作的时候经常打开工作薄,这些工作薄都会在最近使用的工作薄列表看到,如果不希望别人看到自己打开过的记录,可以将最近使用的工作薄列表清空。具体步骤如下:1.【文件】-【选项】-【高级】-【显示】显示此数目的最近使用文档…

写一个函数,使给定的一个二维数组(3×3)转置,即行列互换

写一个函数,使给定的一个二维数组(33)转置,即行列互换 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 163 Solved: 120[Submit][Status][Web Board]Description 写一个函数,使给定的一个二维…

快速开发系统之前台页面 ---- NO1----登录页面

2019独角兽企业重金招聘Python工程师标准>>> 快速开发系统之前台页面 ---- NO1----登录页面 <% page language"java" contentType"text/html; charsetutf-8"pageEncoding"utf-8"%> <!DOCTYPE html> <html lang"z…

微信公众平台用户分组管理开发文档详解

本文转载至 http://www.5icool.org/a/201402/a4292.html 时间&#xff1a;2014-02-09 来源&#xff1a;互联网 开发者可以使用接口&#xff0c;对公众平台的分组进行查询、创建、修改操作&#xff0c;也可以使用接口在需要时移动用户到某个分组。 创建分组 一个公众账号&…

HP服务器F10 Function Disabled,无法使用F10安装操作系统

HP惠普服务器正确安装操作系统的方法是使用F10引导安装&#xff0c;可以自动安装操作系统&#xff0c;与硬件结合的更好&#xff0c;而且安装完成后&#xff0c;如果是windows操作系统&#xff0c;可以有HP管理页。某次&#xff0c;在使用F10引导安装操作系统的时候&#xff0c…