基于ARM单片机的触摸屏控制器的设计

更新时间:2024-06-16 22:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

成绩:

基于ARM单片机的触摸屏控制器的设计

班级: 学号: 姓名: 日期:

第1章绪论

1.1触摸屏简介

触摸屏又称为“触控屏”、“触控面板“,是一个可接收触头等输入讯号的感应式显示装置,当接触了屏幕上的某位置时,屏幕上的触觉反馈系统可根据预先编程的程序给出操作者所触压的点,可用以取代机械式的按钮面板,并通过 LCD 液晶显示模块制造出生动的界面效果。

触摸屏作为一种新的电脑输入设备,它是目前最简单、方便、自然的一种人机交互方式。随着多媒体信息查询的与日俱增,人们越来越多地使用触摸屏,而且触摸屏具有坚固耐用、反应速度快、节省空间、易于人机交互等许多优点。利用这种技术,用户只要用手指轻轻地触摸计算机显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术大大方便了那些不懂电脑操作的用户。

1.2 触摸屏的主要类型及特点

从技术原理来区别触摸屏,可分为五个基本种类:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏。其中矢量压力传感技术触摸屏已退出历史舞台;红外线技术触摸屏价格低廉,但其外框易碎,容易产生光干扰,曲面情况下失真;电容技术触摸屏设计构思合理,但其图像失真问题很难得到根本解决;电阻技术触摸屏的定位准,但怕刮易损;表面声波触摸屏解决了以往触摸屏的各种缺陷,清晰不容易被损坏,适于各种场合,缺点是屏幕表面如果有水滴和尘土会使触摸屏变的迟钝,甚至不工作。按照触摸屏的工作原理和传输信息的介质,我们把触摸屏分为四种,它们分别为电阻式、电容感应式、红外线式以及表面声波式。每一类触摸屏都有其各自的优缺点,要了解哪种触摸屏适用于哪种场合,关键就在于要懂得每一类触摸屏技术的工作原理和特点。

1.3触摸屏的应用与发展趋势

触摸屏起源于 20 世纪 70 年代,早期多被装于工控计算机、POS 机终端等工业或商用备之中。2007 年 iPhone 手机的推出,成为触控行业发展的一个里程碑。苹果公司把一部至少需要 20 个按键的移动电话,设计得仅需三四个键就能搞定,剩余操作则全部交由触控屏幕完成。除赋予了使用者更加直接、便捷的操作体验之外,还使手机的外形变得更加时尚轻薄,增加了人机直接互动的亲切感,引发消费者的热烈追捧,同时也开启了触摸屏向主流操控界面迈进的征程。目前,触摸屏应用范围已变得越来越广泛,从工业用途的工厂设备的控制操作系统、公共信息查询的电子查询设施、商业用途的提款机,到消费性电子的移动电话、PDA、数码相机等都可看到触控屏幕的身影。

触摸屏目前主要还是集中在小尺寸上的应用,未来的发展将是一个触控和遥控的世界,所以大尺寸触摸屏的发展是目前触摸屏发展的趋势,尤其是多点触摸的应用领域。发展多点

触摸、接近感应以及支持电容笔的技术,可以多点、多人同时应用,尤其在一些大尺寸屏幕上,能够让多人在同一块屏幕上共同完成一些协同工作,如游戏、绘图、工程设计、影像处理等所以未来的世界是个触控的世界,是个遥控的世界,大尺寸触摸屏的发展有着广泛的空间。

1.4本设计研究的主要内容

本次设计讨论的主要内容是以 STM31F103 系列单片机为核心,通过触摸屏接口芯片 ADS7843 完成对触摸屏的数据采集工作,重点阐述了四线制电阻式触摸屏以及触摸屏接口芯片 ADS7843 具体的工作原理。

第2章系统硬件设计

2.1总体设计 2.1.1设计思想

本次触摸屏的设计将以 STM32F103 单片机和触摸屏接口芯片 ADS7843 为核心,时钟电路、复位电路、RS-232 通信接口电路及 LCD 显示电路为辅助,首先绘制总体结构框图,直观清晰的显示触摸屏输入系统的组成,然后通过触摸屏、触摸屏控制器以及 CPU 的接口电路,具体分析引脚结构及功能。在清晰地了解了电路的设计情况后,对 CPU 以及触摸控制器初始化,完成软件部分的设计,最后真正掌握触摸屏的整体工作原理,达到硬件设计与软件设计的完美结合。

2.1.2结构框图

图2.1总体设计结构框图

2.2CPU 的选择

2.2.1 微处理器 STM32F103 简介

STM32F103 系列微处理器是首款基于 ARMv7- M 体系结构的 32 位标准 RISC(精简指令集)处理器,提供很高的代码效率,在通常 8 位和 16 位系统的存储空间上发挥了 ARM 内核的高性能。STM32F103VCT6 系列微处理器工作频率为 72MHz,内置高达 128K 字节的 Flash 存储器存储器和 20K 字节的 SRAM,采用 LQTP 封装模式,引脚达到 100 只,具有丰富的通用 I /O 端口。其主要资源与特点如下:

1)多达 51 个快速 I /O 端口,所有 I/O 口均可以映像到 16 个外部中断,几乎所有端口都允许 5V 信号输入。每个端口都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或其它的外设功能口。

2) 2 个 12 位模数转换器,多达 16 个外部输入通道,转换速率可达 1MHz,转换范围为0~ 3.3V; 具有双采样和保持功能;内部嵌入有温度传感器,可方便的测量处理器温度值。

3)灵活的 7 路通用 DMA 可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输,无须 CPU 任何干预。通过 DMA 可以使数据快速地移动,这就省了 CPU的资源来进行其他操作。DMA 控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。它支持的外设包括:定时器、ADC、SPI、I2C 和 USART等。

4)调试模式:支持标准的 20 脚 JTAG 仿真调试以及针对 Cortex- M3 内核的串行单线调试( SWD )功能。通常默认的调试接口是 JTAG 接口。

5)内部包含多达 7 个定时器,3 个通用寄存器、1 个高级寄存器、2 个看门狗寄存器以及 1 个系统时基寄存器。

6)含有丰富的通信接口:三个 USART 异步串行通信接口、两个 I2C 接口、两个 SPI接口、一个 CAN 接口和一个 USB 接口,为实现数据通信提供了保证。STM32F103VCT6 引脚图如图2.2 所示:

图2.2ARM单片机STM32F103VCT6引脚图

2.2.2STM32F103 的 FSMC 接口的介绍

在 STM32F103 上开发 LCD 显示,可以有两种方式来对 LCD 进行操作,一种是通过普通的 IO 口,连接 LCD 的相应引脚来进行操作,第 2 种是通过 FSMC 来进行操作。可变静态存储控制器(Flexible Static Memory Controller: FSMC)是 STM32 系列中内部集成256 KB 以上 Flash,后缀为.c、.d 和.e 的高存储密度微控制器特有的存储控制机制。之所以称为“可变”,是由于通过对特殊功能寄存器的设置,FSMC 能够根据不同的外部存储器类型发出相应的数据/地址/控制信号类型以匹配信号的速度,从而使得 STM32系列微控制器不仅能够应用各种不同类型、不同速度的外部静态存储器,而且能够在不增加外部器件的情况下同时扩展多种不同类型的静态存储器,满足系统设计对存储容量、产品体积以及成本的综合要求。

2.2.3SPI 接口简介

SPI 是一种同步串行外设接口,它可以使 MCU 与各种外围设备以串行方式进行通信以交换信息。SPI 有三个寄存器分别为:控制寄存器 SPCR,状态寄存器 SPSR,数据寄存器 SPDR。外围设置 FLASHRAM、网络控制器、LCD 显示驱动器、A/D转换器和 MCU 等。SPI 总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用 4 条线:串行时钟线(SCLK)、主机输入/从机输出数据线MI SO、主机输出/从机输入数据线 MOSI 和低电平有效的从机选择线 SS( 有的 SPI接口芯片带有中断信号线 INT、有的 SPI 接口芯片没有主机输出/从机输入数据线MOSI) 。SPI 接口主要应用在 EEPROM,FLASH,实时时钟,A /D 转换器,还有数字信号处理器和数字信号解码器之间。SPI 接口是在 CPU 和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比 I C 总线要快,速度可达到几 Mbps。

2.3显示电路的设计 2.3.1LCD 的选择

本设计采用 TFT-LCD 模式、24 位显示的 AT070TN92 液晶屏。AT070TN92 是AT070TN83 之后又推出的一款群创 7 寸液晶屏,性能更加优越,显示更清晰。其主要

参数如下表 2.1 所示:

2.3.2LCD 接口控制器的设计

LCD 控制系统由 CPU、LCD 控制器和 LCD 显示屏组成,而 LCD 的显示和驱动主要由 LCD 控制器提供。本设计采用 SSD1963QL9 系列芯片(SSD1963QL9 引脚图见附页)

2.3.3电压调节电路

由于 LCD 液晶显示屏需要不同电压,所以供电情况也不相同,背光灯电源 9.3V、数字电路电源 3.3V、通用电源 5V、门极电压 16V 和-7V、模拟电路电源 10.4V 以及复位电路 3.3V。因此,需要设计电压调节电路来完成电源电压的分配工作,实现整个控制系统的稳定。在电压调节电路中,采用低压差电压调节器 LM1117 以及低压差线性稳压器SG2001-1.2具有低能量、低噪声、低功耗等一系列特点。升降压转换器采用TPS61040 系列其芯片及接口如图 2.3 所示:

图2.3电压调节电路

2.4触摸屏的选择及接口电路的设计

2.4.1触摸屏的选择

本次设计触摸屏选用基本的四线电阻式触摸屏。电阻式触摸屏有很多特点:高解析度,高速传输反应;表面硬度处理,减少擦伤、刮伤及防化学处理;具有光面及雾面处理。一次

校正稳定性高,永不漂移。更重要的是四线电阻式触摸屏是几种触摸屏类型中最基本的一个,他性能优越、结构简单且价格低廉,适合学生做基础研究。

2.4.2触摸屏接口芯片的选择

触摸屏主要由触摸屏接口控制芯片来驱动。本设计选择Burr -Brown公司的控制芯片ADS7843。ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.7~5 V,参考电压VREF为1 V~+VCC,转换电压的输入范围为0~ VREF最高转换速率为125 kHz。ADS7843具有两个辅助输入:IN3、IN4,可设置为8位或12位模式。该电路的基准电压确定了转换器的输入范围. 输出数据中每个数字位代表的模拟电压等于基准电压除以4096. 平均基准输入电流由ADS7843的转换率来确定.ADS7843的引脚配置如图2.4所示,引脚说明如下表2.2所示:

图2.4ADS7843的引脚配置

2.4.3接口电路的设计

触摸屏控制器接口电路包括触摸屏和所示:ADS7843控制芯片,具体接口电路如下图 2.5所示:

图2.5ADS7843的硬件接口电路

2.5通讯接口电路设计 2.5.1RS-232C通信接口设计

1.RS-232 串行通信接口芯片:RS-232C 是一种统一的串行通信总线标准,是数据通信设备和数据终端设备间传输串行数据的接口总线。其最大传输距离为 15m,最高传输速率约为 20kbps,信号的逻辑 0 电平为+3~+15V,逻辑 1 电平为-3~-15V。RS-232C 的功能特性定义了 25 芯标准连接器中的 20 根信号线,其中 2 条地线、4 条数据线、11 条控制线、3 条定时信号线,剩下的 5 根线作备用或未定义。

2.专用芯片 MAX232:MAX232 芯片专门为电脑的 RS-232 标准串口设计的单电源电平转换芯片,使用+5v 单电源供电。由于 TTL 电平和 RS232 电平互不兼容,所以两者接口时,必须进行电平转换,MAX232 芯片可以完成电平转换这一工作,它由内部电压变换器产生正负 10V。其引脚排列以及与 RS- 232 接口电路如图 2.6 所示:

第3章 软件设计

3.1总体设计

触摸屏模块的软件部分总体设计思想为:当触摸屏收到挤压或点击时,ADS7843通过中断请求通知 ARM 有触摸发生,此时引脚输出为低电平,从而向 ARM 提出终端请求,进入中断服务程序,关掉外部中断,可以避免多个触摸点发生冲突。通过判断终端输入口电平的变化消除抖动后,通过电压的切换,分别导通 Y 电极对、X 电极对,分别采集 Y、X 那几对的模拟量,经过 A/D 转换,将转换后的值与事先设定的按键边界进行比较,若在按键范围内,则切换到相应触点程序,否则开中断并返回到主程序继续等待外部触摸中断,主程序流程图如图 3.1 所示。软件部分设计总体上分几部分:第一是触摸屏控制器 ADS7843 驱动程序设计;第二是触摸屏主驱动程序和校准程序设计,第三是 LCD 屏的驱动程序设计。

图3.1主程序流程图

3.2触摸屏的工作原理

基本原理:典型触摸屏的工作原理一般由三部分组成,两层同名的阻性导体层、两层导体之间的隔离层及电极。触摸屏工作时,上下导体层相当于电阻网络,当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,经过 A/D 转换知道接触点处的坐标。比如,在底层的电极(Y+,Y- )上加上电压,则在底层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在顶层就可以测得接触点处的电压,再根据该电压与电极 K+之间的距离关系,知道该处的 Y 坐标。然后,将电压切换到 K+,X-顶层电极上,并在底层测量接触点处的电压,从而知道 X 坐标。为了在电阻式触摸屏上的特定方向测量一个坐标,需要对一个阻性层进行偏置:将它的一边接 VREF,另一边接地。同时,将未偏置的那一层连接到一个 ADC 的高阻抗输入端。当触摸屏上的压力足够大,使两层之间发生接触时,电阻性表面被分隔为两个电阻。它们的阻值与触摸点到偏置边缘的距离成正比。触摸点与接地边之间的电阻相当于分压器中下面的那个电阻。因此,在未偏置层上测得的电压与触摸点到接地边之间的距离成正比,如图 3.2 所示:

图3.2电阻式触摸屏分压原理

触点坐标的计算:计算触点的 X,Y 坐标分为如下两步:

(1)计算 Y 坐标,在 Y+电极施加驱动电压Vdrive,Y- 电极接地,X+做为引出端测量得到接触点的电压,由于 ITO 层均匀导电,触点电压与Vdrive电压之比等于触点 Y坐标与屏高度之比。

(2)计算 X 坐标,在 X+电极施加驱动电压Vdrive, X- 电极接地,Y+做为引出端测量得到接触点的电压,由于 ITO 层均匀导电,触点电压与Vdrive电压之比等于触点 X坐标与屏宽度之比。如图 3.3 所示:

图 3.3触点坐标的计算

测得的电压通常由 ADC 转化为数字信号,再进行简单处理就可以做为坐标判断触点的实际位置。

四线电阻式触摸屏除了可以得到触点的 X/Y 坐标,还可以测得触点的压力,这是因为 top layer 压后,上下层 ITO 发生接触,在触点上实际是有电阻存在的,如下图3.4 的电阻Rtouch。压力越大,接触越充分,电阻越小,通过测量这个电阻的大小可以量化压力大小。

那么如何得到Rtouch的阻值呢?这里介绍了两种方法:

第一种方法:要做如下准备工作如下:首先,X- 接地,X+接电源,Y+接 ADC 得到触点的 X 坐标,如图 3.5 所示:

图3.5

第二,X-接地,Y+接电源,X+接 ADC 得到 Z1 点的位置 Z1,如图 3.6 所示:

第三,X-接地,Y+接电源,Y-接 ADC 得到 Z2 点的位置 Z2,如图 3.7 所示:

1.内部结构:

触摸屏控制芯片之所以能完成对触摸屏的控制,主要原因有两点:其一,是完电极电压的切换;其二,是采集接触点处的电压值(即 A/D)。而控制芯片ADS784之所以更好的控制触摸屏,主要是得益于其内部结构很容易实现电极电压的切换,并能进行快速 A/D 转换。

2.参考电压的选择:

ADS7843 支持两种参考电压输入模式:一种是参考电压固定为 VREF,另一种采取差动模式,参考电压来自驱动电极。这两种模式分别如图 3.8(a)(b)所示。采用图 3.8(b)的差动模式可以消除开关导通压降带来的影响。图 3.8(a)和3.8(b)为两种参考电压输入模式所对应的内部开关状况。

3.3.2ADS7843 的控制字

1.ADS7843 的控制字及数据传输格式

ADS7843 的控制字如表所列,其中 S 为数据传输起始标志位,该位必为\。A2~A0进行通道选择。

MODE 用来选择 A/D 转换的精度,\选择 8 位,\选择 12 位。2)SER/ DFR 为参考电压的输入模式选择位。3)A2~A0 是通道选择位。4)S 为控制寄存器中的控制位。5)PD1、PD0 选择省电模式:\省电模式允许,在两次 A/D 转换之间掉电,且中断允许;\同\,只是不允许中断\保留;\禁止省电模式。为了完成一次电极电压切换和 A/D 转换,需要先通过串口往 ADS7843 发送控制字,转换完成后再通过串口读出电压转换值。标准的一次转换需要 24 个时钟周期。由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次 16 个时钟周期。如果条件允许,CPU 可以产生 15 个 CLK 的话(比如 FPGAs 和 ASICs),转换速率还可以提高到每次 15 个时钟周期。具体转换时序略。 触摸屏控制程序流程图的设计

由于LCD分辨率与触摸屏的分辨率一般来说不一样,坐标也不一样,这就需要转换两者坐标,即对触点的定位,常用的触点定位法有最值法、两点定位法和四点定位法。在测量触点坐标时,采用差动参考电压方式,但发现触摸屏边沿点对应的测量值仍达不到0或满量程4096,而且由于触摸屏存在个体差异,不同触摸屏边沿点的测量值一般不同,这样用最值法会存在一定的误差;其二触点定位软件中通过对数据的采集,去值平均滤波处理,判断触摸输入的合法性,以及判断触点是否有效,最后检验是否能达到预想的精度,这样四点定位法可能会更准确,但也会更复杂、麻烦。基于以上两点考虑,本文采用两点定位法来确定触点的坐标。ADS7843的转换精度有8位和12位两种,由于研究所用的TFT- LCD为320×240,在此为使精度更高,采用了12 位转换精度,在X和Y方向上精确到1/4096。当触摸屏有按压时ADS7843的转换值必须在液晶上相应位置正确显示。先引入两个概念,物理坐标和逻辑坐标。物理坐标指触摸屏上点的实际位置,常以液晶上的点数来度量。逻辑坐标是此点被触摸,时A/D 转换后的坐标值.

图3.10 触摸液晶显示屏外框图

图3.10为触摸液晶屏的外框图。其中A、B、C、D 为LCD边框的四个特殊点,对应的物理坐标分别为( 0,0) 、( 319,0) 、( 0,239) 、( 319, 239) , 对应的逻辑坐标分别为( 0,0) ( 4095, 0) 、( 0, 4095) 、( 4095, 4095) 。在触摸屏上定义O1、O2 两点, 其在LCD上物理坐标依次为( 19,19)、( 299, 219) , 分别对应触摸屏上一个区域, 并在屏上用“+”标志; 其中O1、O2 为有效校屏点。校准时, 处理器通过读取坐标值判断触摸位置在哪个区域, 并调用相应的服务程序。校准程序流程图如图3.11所示。经过两点定位校准, 逻辑坐标和物理坐标之间的关系为:

图3.11校准程序流程图

第4章 结论

本次设计完成了用ARM 单片机实现触摸屏控制系统的设计,重点介绍了触摸屏的工作原理。设计分为硬件设计和软件设计,硬件方面,使用PROTEL 软件设计整体原理图,软件部分介绍了系统初始化流程,然后针对每个部分对单片机要求的进行“软硬结合”。本次设计还有许多需要完善的地方,比如一些背光灯接口电路、USB 接口等相关电路的内容介绍以及ARM 系列单片机本身的体系结构、存储器组织等理论知识。由于一些知识复杂难懂,在设计中没有做到足够的说明。因此在以后的学习中对这些基础内容还要做扎实的学习和系统的研究。

本文来源:https://www.bwwdw.com/article/m9s3.html

Top