1.26 Cubemx_STM32H743 触摸屏

Cubemx_STM32H743 触摸屏

1. 触摸屏的分类

1.1 电阻式触摸屏

   在 Iphone 面世之前,几乎清一色的都是使用电阻式触摸屏,电阻式触摸屏利用压力感应进行触点检测控制,需要直接应力接触,通过检测电阻来定位触摸位置。

   ALIENTEK 2.4/2.8/3.5 寸 LCD 模块自带的触摸屏都属于电阻式触摸屏,下面简单介绍下电阻式触摸屏的原理。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、
在他们之间有许多细小的(小于 1/1000 英寸)的透明隔离点把两层导电层隔开绝缘。 当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在 X 和 Y 两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出(X,Y)的位置,再根据获得的位置模拟鼠标的方式运作。这就是电阻技术触摸屏的最基本的原理。

  电阻触摸屏的优点:精度高、价格便宜、抗干扰能力强、稳定性好。
  电阻触摸屏的缺点:容易被划伤、透光性不太好、不支持多点触摸。

  从以上介绍可知,触摸屏都需要一个 AD 转换器,一般来说是需要一个控制器的。ALIENTEK LCD 模块选择的是四线电阻式触摸屏,这种触摸屏的控制芯片有很多,包括:
ADS7843、ADS7846、TSC2046、XPT2046 和 AK4182 等。这几款芯片的驱动基本上是一样的,也就是你只要写出了 ADS7843 的驱动,这个驱动对其他几个芯片也是有效的。而且封装也有一样的,完全 PIN TO PIN 兼容。所以在替换起来,很方便。

  ALIENTEK LCD 模块自带的触摸屏控制芯片为 XPT2046。XPT2046 是一款 4 导线制触摸屏控制器,内含 12 位分辨率 125KHz 转换速率逐步逼近型 A/D 转换器。XPT2046 支持从 1.5V到 5.25V 的低电压 I/O 接口。XPT2046 能通过执行两次 A/D 转换查出被按的屏幕位置, 除此之外,还可以测量加在触摸屏上的压力。内部自带 2.5V 参考电压可以作为辅助输入、温度测量和电池监测模式之用,电池监测的电压范围可以从 0V 到 6V。XPT2046 片内集成有一个温度传感器。在 2.7V 的典型工作状态下,关闭参考电压,功耗可小于 0.75mW。XPT2046 采用微小的封装形式:TSSOP-16,QFN-16(0.75mm 厚度)和 VFBGA-48。工作温度范围为-40℃~+85℃。
  该芯片完全是兼容 ADS7843 和 ADS7846 的,关于这个芯片的详细使用,可以参考这两个芯片的 datasheet。电阻式触摸屏就介绍到这里。

1.2 电容式触摸屏

现在几乎所有智能手机,包括平板电脑都是采用电容屏作为触摸屏,电容屏是利用人体感
应进行触点检测控制,不需要直接接触或只需要轻微接触,通过检测感应电流来定位触摸坐标。
ALIENTEK 4.3/7 寸 LCD 模块自带的触摸屏采用的是电容式触摸屏,下面简单介绍下电容
式触摸屏的原理。
电容式触摸屏主要分为两种:
1、 表面电容式电容触摸屏。
表面电容式触摸屏技术是利用 ITO(铟锡氧化物,是一种透明的导电材料)导电膜,通过电
场感应方式感测屏幕表面的触摸行为进行。但是表面电容式触摸屏有一些局限性,它只能识别一个手指或者一次触摸。
2、 投射式电容触摸屏。
投射电容式触摸屏是传感器利用触摸屏电极发射出静电场线。一般用于投射电容传感技术
的电容类型有两种:自我电容和交互电容。
自我电容又称绝对电容,是最广为采用的一种方法,自我电容通常是指扫描电极与地构成
的电容。在玻璃表面有用 ITO 制成的横向与纵向的扫描电极,这些电极和地之间就构成一个电
容的两极。当用手或触摸笔触摸的时候就会并联一个电容到电路中去,从而使在该条扫描线上
的总体的电容量有所改变。在扫描的时候,控制 IC 依次扫描纵向和横向电极,并根据扫描前后
的电容变化来确定触摸点坐标位置。笔记本电脑触摸输入板就是采用的这种方式,笔记本电脑
的输入板采用 XY 的传感电极阵列形成一个传感格子,当手指靠近触摸输入板时,在手指和传
感电极之间产生一个小量电荷。采用特定的运算法则处理来自行、列传感器的信号来确定手指
的位置。
交互电容又叫做跨越电容,它是在玻璃表面的横向和纵向的 ITO 电极的交叉处形成电容。
交互电容的扫描方式就是扫描每个交叉处的电容变化,来判定触摸点的位置。当触摸的时候就
会影响到相邻电极的耦合,从而改变交叉处的电容量,交互电容的扫面方法可以侦测到每个交
叉点的电容值和触摸后电容变化,因而它需要的扫描时间与自我电容的扫描方式相比要长一些,
需要扫描检测 X
Y 根电极。目前智能手机/平板电脑等的触摸屏,都是采用交互电容技术。
ALIENTEK 所选择的电容触摸屏,也是采用的是投射式电容屏(交互电容类型),所以后
面仅以投射式电容屏作为介绍。
透射式电容触摸屏采用纵横两列电极组成感应矩阵,来感应触摸。以两个交叉的电极矩阵,
即: X 轴电极和 Y 轴电极,来检测每一格感应单元的电容变化,如图 36.1.2.1 所示:
1.26 Cubemx_STM32H743 触摸屏
示意图中的电极,实际是透明的,这里是为了方便大家理解。图中,X、Y 轴的透明电极
电容屏的精度、分辨率与 X、Y 轴的通道数有关,通道数越多,精度越高。以上就是电容触摸
屏的基本原理,接下来看看电容触摸屏的优缺点:
电容触摸屏的优点:手感好、无需校准、支持多点触摸、透光性好。
电容触摸屏的缺点:成本高、精度不高、抗干扰能力差。
这里特别提醒大家电容触摸屏对工作环境的要求是比较高的,在潮湿、多尘、高低温环境
下面,都是不适合使用电容屏的。
电容触摸屏一般都需要一个驱动 IC 来检测电容触摸,且一般是通过 IIC 接口输出触摸数据的。ALIENTEK 7’LCD 模块的电容触摸屏,使用 FT5206/FT5426 做为驱动 IC,采用的是 1528
的驱动结构(15 个感应通道,28 个驱动通道)。ALIENTEK 4.3’LCD 模块则使用
GT9147/OTT2001A 作为驱动 IC,采用 17
10 的驱动结构(10 个感应通道,17 个驱动通道)。
这两个模块都只支持最多 5 点触摸,本例程除 CPLD 方案的 V1 版本 7 寸屏模块不支持外,
其他所有 ALIENTEK 的 LCD 模块都支持,电容触摸驱动 IC,这里只介绍 GT9147 的驱动,
OTT2001A、FT5206 和 FT5426 的驱动同 GT9147 类似,大家可以参考着学习即可。
下面我们简单介绍下 GT9147,该芯片是深圳汇顶科技研发的一颗电容触摸屏驱动 IC,支
持 100Hz 触点扫描频率,支持 5 点触摸,支持 18*10 个检测通道,适合小于 4.5 寸的电容触摸
屏使用。
GT9147 与 MCU 连接是通过 4 根线:SDA、SCL、RST 和 INT。其中:SDA 和 SCL 是 IIC
通信用的,RST 是复位脚(低电平有效),INT 是中断输出信号,关于 IIC 我们就不详细介绍了,
请参考第二十九章。
GT9147 的 IIC 地址,可以是 0X14 或者 0X5D,当复位结束后的 5ms 内,如果 INT 是高电
平,则使用 0X14 作为地址,否则使用 0X5D 作为地址,具体的设置过程,请看:GT9147 数据
手册.pdf 这个文档。本章我们使用 0X14 作为器件地址(不含最低位,换算成读写命令则是读:
0X29,写:0X28),接下来,介绍一下 GT9147 的几个重要的寄存器。

上一篇:iOS Workflow 分享 - Scan QR Code


下一篇:RT-Thread STM32 系列 BSP 制作教程