STM32F1开发指南笔记36----触摸屏

本章,介绍如何使用STM32F1来驱动触摸屏,战舰STM32F103本身并没有触摸屏控制器,但是它支持触摸屏,可以通过外接带触摸屏的LCD模块(比如TFTLCD模块),来实现触摸屏控制。在本章中,将向大家介绍STM32控制战舰TFTLCD模块(包括电阻触摸和电容触摸),实现触摸屏驱动,最终实现一个手写板的功能。

1、触摸屏介绍

目前最常用的触摸屏有两种:电阻式触摸屏与电容式触摸屏。下面,分别介绍。

1.1 电阻式触摸屏

在iPhone面世之前,几乎清一色的都是使用电阻式触摸屏,电阻式触摸屏利用压力感应进行触点检测控制,需要直接应力接触,通过检测电阻来定位触摸位置。
战舰 2.4/2.8/3.5寸TFTLCD模块自带的触摸屏都属于电阻式触摸屏,下面简单介绍一下电阻式触摸屏的原理。

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

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

从以上介绍可知,触摸屏都需要一个AD转换器,一般来说是需要一个控制器的。
战舰TFTLCD模块选择的是四线电阻式触摸屏,这种触摸屏的控制芯片有很多,包括:ADS7843、ADS7846、TSC2046、XPT2046和AK4182等。这几款芯片的驱动基本上是一样的,也就是你只要写出了ADS7843的驱动,这个驱动对其他几个芯片也是有效的。而且封装也是一样的,完全PIN TO PIN兼容,所以替换起来很方便。
战舰TFTLCD模块自带的触摸屏控制芯片为XPT2046。XPT2046是一款4导线制触摸屏控制器,内含12位分辨率、125KHz转换速率、逐步逼近型AD转换器。XPT2046支持从1.5V到5.25V的低电压IO接口。XPT2046能通过执行两次AD转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力。内部自带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 电容式触摸屏

现在几乎所有智能手机,包括平板电脑都是采用电容屏作为触摸屏,电容屏是利用人体感应进行触点检测控制,不需要直接接触或只需要轻微接触,通过检测感应电流来定位触摸坐标。
战舰4.3/7寸TFTLCD模块自带的触摸屏采用的是电容式触摸屏,下面简单介绍下电容式触摸屏的原理。

电容式触摸屏主要分为两种:
1、表面电容式电容触摸屏
表面电容式触摸屏技术是利用ITO(铟锡氧化物,是一种透明的导电材料)导电膜,通过电场感应方式感测屏幕表面的触摸行为进行。但是表面电容式触摸屏有一些局限性,它只能识别一个手指或者一次触摸。

2、投射式电容触摸屏
投射式电容触摸屏是传感器利用触摸屏电极发射出静电场线。一般用于投射电容传感技术的电容类型有两种:自我电容和交互电容

自我电容又称绝对电容,是最广为采用的一种方法,自我电容通常是指扫描电极与地构成的电容。在玻璃表面有用ITO制成的横向与纵向的扫描电极,这些电极和地之间就构成一个电容的两极。当用手或触摸笔触摸的时候就会并联一个电容到电路中去,从而使在该条扫描线上的总体的电容量有所改变。在扫描的时候,控制IC依次扫描纵向和横向电极,并根据扫描前后的电容变化来确定触摸点坐标位置。笔记本电脑触摸输入板就是采用的这种方式,笔记本电脑的输入板采用X*Y的传感电极阵列形成一个传感格子,当手指靠近触摸输入板时,在手指和传感电极之间产生一个小量电荷。采用特定的运算法则处理来自行、列传感器的信号来确定手指的位置。

交互电容又叫做跨越电容,它是在玻璃表面的横向和纵向的ITO电极的交叉处形成电容。交互电容的扫描方式就是扫描每个交叉处的电容变化,来判定触摸点的位置。当触摸的时候就会影响到相邻电极的耦合,从而改变交叉处的电容量,交互电容的扫描方法可以侦测到每个交叉点的电容值和触摸后电容变化,因而它需要的扫描时间与自我电容的扫描方式相比要长一些,需要扫描检测X*Y根电极。目前智能手机和平板电脑等的触摸屏,都是采用交互电容技术
战舰所选择的电容触摸屏,也是采用的投射式电容屏(交互电容类型),所以后面仅以透射式电容屏作为介绍。

STM32F1开发指南笔记36----触摸屏

STM32F1开发指南笔记36----触摸屏

STM32F1开发指南笔记36----触摸屏

STM32F1开发指南笔记36----触摸屏

STM32F1开发指南笔记36----触摸屏

STM32F1开发指南笔记36----触摸屏

STM32F1开发指南笔记36----触摸屏

STM32F1开发指南笔记36----触摸屏

STM32F1开发指南笔记36----触摸屏
代码详见工程文件。