RK3568平台(触摸篇)触摸屏基本原理

一.触摸屏概述

触摸屏作为一种新的输入设备,它是目前最简单、方便、自然的一种人机交互方式。
触摸屏又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置;当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。

二.常见触摸屏分类

目前市面上主要有几种类型的触摸屏:电阻式,表面电容式和感应电容式触摸屏,表面声波式,红外式,以及弯曲波式、有源数字转换器式和光学成像式触摸屏。其中又可以为两类,一类需要ITO,比如前三种触摸屏,另一类的结构中不需要ITO, 比如后几种屏。目前市场上,使用ITO材料的电阻式触摸屏和电容式触摸屏应用最为广泛。

三.电阻式触摸屏

电阻式的触摸屏结构如下图,它主要由表面硬涂层、两个ITO层、间隔点以及玻璃底层构成,这些结构层都是透明的,整个触摸屏覆盖在液晶面板上,透过触摸屏可看到液晶面板。表面涂层起到保护作用,玻璃底层起承载的作用,而两个ITO层是触摸屏的关键结构(实际上是一种电阻导体),它们是涂有铟锡金属氧化物的导电层。两个ITO层之间使用间隔点使两层分开,当触摸屏表面受到压力时,表面弯曲使得上层ITO与下层ITO接触,在触点处连通电路。

简单来说就是,当屏幕有位置被按下时,相应位置的两层ITO层接触,也就是两个电阻导体并联起来了,从而导致电器特性的改变。

四.电容式触摸屏

与电阻式触摸屏不同,电容式触摸屏不需要通过压力使触点变形,再通过触点处电压值来检测坐标,它的基本原理和前面定时器章节中介绍的电容按键类似,都是利用充电时间检测电容大小,从而通过检测出电容值的变化来获知触摸信号。

        电容屏的最上层是玻璃(不会像电阻屏那样形变),核心层部分也是由ITO材料构成的,这些导电材料在屏幕里构成了人眼看不见的静电网,静电网由多行X轴电极和多列Y轴电极构成,两个电极之间会形成电容。触摸屏工作时,X轴电极发出AC交流信号,而交流信号能穿过电容,即通过Y轴能感应出该信号,当交流电穿越时电容会有充放电过程,检测该充电时间可获知电容量。若手指触摸屏幕,会影响触摸点附近两个电极之间的耦合,从而改变两个电极之间的电容量,若检测到某电容的电容量发生了改变,即可获知该电容处有触摸动作。

五.触摸屏接口分类

当前市面上使用的触摸屏一般都使用了I2C接口,当然也有UARTUSB等接口,同时支持多点触摸。

I2C接口触摸屏:

首先,需要了解I2C触摸屏的工作原理。I2C触摸屏是一种通过I2C接口连接到SoC的输入设备,它的工作原理类似于普通的触摸屏。一般来言,I2C触摸屏内部驱动板都会有一个触摸IC,比如FT5426

  • 此芯片一端连接触摸屏的模拟信号,对触摸动作采样然后AD转换;
  • 另一端通过I2C连接SoC,即将AD转换后的数据通过I2C接口发给SoC

对于I2C接口触摸屏来说:

  • 所谓的触摸驱动本质上就是I2C设备驱动;

  • 触摸IC提供了中断信号引脚,当检测到触摸信息后就会触发中断,那么就要在中断处理程序里来读取触摸信息;得到的是触摸位置绝对信息以及触摸屏是否有按下;

USB接口触摸屏:

首先,需要了解usb触摸屏的工作原理。USB触摸屏是一种通过USB接口连接到SoC的输入设备,它的工作原理类似于普通的触摸屏。一般来言,USB触摸屏内部驱动板都会有一个USB芯片;

  • 此芯片一端连接触摸屏的模拟信号,对触摸动作采样然后AD转换;
  • 另一端通过USB连接SoC,即将AD转换后的数据通过USB接口发给SoC

linux内核中,USB HID transport layer驱动程序实现了USB接口的HID设备,其中包括USB接口的keyboards(键盘)、mice(鼠标)、joysticks(摇杆)、graphic tablets(绘图板)、触摸屏等其他的。具体来说,它会通过USB总线获取来自触摸屏的数据,并将其转换为标准的输入事件(例如按键、鼠标移动等),然后将其传递给系统。

UART接口触摸屏:

串口触摸屏驱动主要是采用linux系统的input子系统功能,由于Android系统内置采用input输入系统,故串口触摸屏驱动在linux操作系统移植成功后,对android系统将不用任何修改,直接使用。

当然,在串口触摸屏驱动可以使用前,前提就要求底层的串口驱动已经写完而且可以正常工作,否则串口触摸屏驱动就无从谈起了。

 

相关推荐

  1. RK3568基于openHarmony3.2版本之GT911触摸屏调试成功

    2024-06-15 19:16:05       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 19:16:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 19:16:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 19:16:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 19:16:05       18 阅读

热门阅读

  1. OpenCV之cv::Scalar

    2024-06-15 19:16:05       7 阅读
  2. python显示神经网络训练时的1batch数据

    2024-06-15 19:16:05       7 阅读
  3. 运维监控系统

    2024-06-15 19:16:05       8 阅读
  4. ArrayList<Integer>()转为int[]的几种方式

    2024-06-15 19:16:05       7 阅读
  5. c++_0基础_讲解5 判断语句

    2024-06-15 19:16:05       9 阅读
  6. 算法训练营day23补签

    2024-06-15 19:16:05       6 阅读
  7. ISO七层模型 tcp/ip

    2024-06-15 19:16:05       9 阅读
  8. 2022C语言二级真题

    2024-06-15 19:16:05       9 阅读
  9. TCP协议参数设置&说明

    2024-06-15 19:16:05       6 阅读