0 引言
人机交互界面的种类较多,如键盘、数码管显示器、液晶显示器及带触摸的液晶屏等。决定人机交互接口方式的主要因素是成本和实际应用的需要。近十年来,液晶触摸屏以功耗低、重量轻、精度高和良好的人机界面等技术特点,在电子设备特别是手持类电子产品中得到了普遍应用。带触摸的液晶屏,只要能测量出触摸点的坐标位置,即可根据屏上对应坐标点的显示内容或图符获知触摸者的意图, 通过微处理器处理声音、图像、文字及触摸输入控制等信息,使之成为能进行信息存取、输入和输出的集成系统。基于微控制器与液晶模块的硬件接口设计及软件编程在智能系统设计中有着重要的应用价值。ARM微处理器,运算速度快、资源丰富、性价比高,是当前较为流行的嵌入式控制器。本文介绍的一款基于ARM7微处理器LPC2148接口的3.2 寸液晶触摸屏,具有精度高、彩色显示逼真、应用灵活等特点,可作为中高档电子产品字符、图像的显示及人机对话的窗口。
1 总体设计方案
系统的总体设计方案如图1 所示。液晶触摸屏系统由31 2寸TFT 液晶屏模块、触摸屏和ARM 微处理器控制板组成。
触摸屏由触摸传感部件和触摸屏控制器ADS7843 组成,触摸传感部件安装在LCD 液晶屏前面,用于检测用户触摸位置,用户触摸信息送往ADS7843 控制器,并转换成触点坐标,送给ARM7 控制板,LPC2148 微处理器与液晶及触摸模块相连接,根据接收到的触摸信息,进行信号运算和处理,输出蜂鸣器等控制信号,控制液晶屏实现用户画面和数据的显示。
图1 液晶触摸屏系统总体设计方案
2 电路及原理
2.1 液晶触摸屏原理及ADS7843 触摸控制电路
原理如图2 所示。
U1为3.2 英寸TFT液晶模块,+3.3V 供电;内置SSD1289 液晶控制器;液晶屏分辨率为240×320 像素;屏幕颜色26 万色;屏幕尺寸为57mm×79mm, 有效显示面积为51mm×65mm.SSD1289 液晶控制器由16 位并行数据接口、内部控制器和LCD 驱动器组成。液晶数据传输方式为16 位并行方式,LPC2148 的16 根I/ O 口线分别接液晶模块的DB0~DB15.PWM 为亮度驱动控制输入,经9013 三极管放大后作为液晶背光。
触摸屏部分由触摸传感部件和触摸屏控制器ADS7843( U2) 组成。
图2 液晶模块及触摸电路原理
触摸传感部件是一个四线电阻屏幕,屏上引出四根线,分别对应X 轴和Y 轴各两根。测量X 方向的时候,将X + , X- 之间加上参考电压Vref , Y- 断开,Y + 作为A / D 输入,获得X 方向的电压;同理测量Y 方向的时候,将Y+ , Y- 之间加上参考电压Vref,X - 断开,X + 作为A/ D 输入,进行A/ D转换获得Y 方向的电压,之后再完成电压与坐标的换算,整个过程类似一个电位器,触摸不同的位置分得不同的电压。
以上所需要的参考电压、A/ D转换等工作由触摸屏控制器ADS7843 直接完成的,微处理器只需将相应的控制命令传输到ADS7843 即可,以获得相应电压的数据。
ADS7843是TI公司生产的四线电阻触摸屏转换接口芯片。它是一款具有同步串行接口的12 位取样模数转换器。在125kHz 吞吐速率和2.7V 电压下,功耗为750LW.在关闭模式下,功耗仅为0.5LW.由于具有低功耗和高速等特性,被广泛应用在电池供电的小型手持设备上。
ADS7843 与LPC2148的连结关系如图3 所示。ADS7843工作电压+ 3.3V, 转换器的模拟输入( X+ 、Y+ 、X- 、Y- )是一个4 通道多路器;DCLK(第4 引脚) 是外部时钟输入引脚;CS(第3 引脚) 是片选输入端,低电平有效; DIN(第2引脚) 是串行输入,控制数据通过该引脚输入;DOUT第16 引脚)是串行数据输出,用于输出转换后的触摸位置数据,最大数为二进制的4095; PENIRQ(第15 引脚) 是PEN中断,用于触摸显示屏后引发一个中断。
2.2 微处理器控制电路
原理如图3 所示。
图3 微处理器控制电路原理图
(1)LPC2148微处理器
ARM 处理器占有市场份额高,具有性能高、成本低、能耗省等特点。图3 中LPC2148(U3)是PHILIPS 开云棋牌官网在线客服公司推出的一个基于ARM7TDMI- S 核、支持实时仿真和嵌入式跟踪的32 位嵌入式ARM7 微处制器。该处理器内置了宽范围的串行通信接口、14 通道10 位ADC、1 通道10 位DAC、45 个高速GPIO 线以及多达9 个边沿或电平触发的外部中断管脚。处理器集成有40kB 的片内SRAM、512kB 嵌入的高速Flash 存储器,128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行, 为通信网关、协议转换器、软件modem、语音识别、低端成像等应用提供大规模的缓冲区和强大的处理功能,适合于彩色液晶的图片处理和数据存储。
(2)复位和晶振电路
LPC2148 第57 脚为复位信号输入端,采用低电平复位,由C3、R9、R10、K1 构成的复位电路为系统提供上电复位和强制复位功能,K1 为系统强制复位按键。晶振电路由X1(12MH z) 、C7、C8 构成,支持微控制器芯片内部PLL 及ISP功能;X2(321 768KH z)、C9、C10 为RTC(实时时钟)提供基准时钟。
(3) 资源分配
LPC2148 的P0.8~ P0.23 作为16 位数据线( D0~ D15) ,经JP1 插座与液晶模块的DB0 ~ DB15 连接;P0.0、P0.26、P0.28~ P0.31 作为液晶模块的控制口线使用,经JP1 分别与液晶模块的PWM、CS、RESET 、RS、RD 和WR 连接;P0.27、P1.16~ P1.20 用于触摸屏控制,通过JP1 的连接分别接ADS7843 的BUSY、7843- CS ( CS ) 、DCLK、DIN、INT( PENIRQ)和DOUT 引脚。
P1.26~ P1.31 作为JTAG 功能使用,JP2 为微处理器JTAG 程序调试及下载端口。
P0.25 作为蜂鸣器控制口线,蜂鸣器电路用于液晶触摸或显示时发出蜂鸣声响,作为人机对话的辅助功能。蜂鸣器使用PNP 三极管8550(Q2)进行驱动,其放大倍数高(hFE =300),基级偏置电阻R8 为1k,当输入低电平时,Q1 为深度饱和导通,可为蜂鸣器提供足够的电流。
( 4) 电源电路
LPC2148 为单电源供电,CPU 操作电压为3.0~ 3.6V。
电路采用+ 3.3V 供电,外接+ 5V 直流电源经AMS1117(U4) 稳压器稳压后,输出+ 3.3V 电压,给液晶模块和ADS7843 供电。AMS1117 的特点是输出电流大( 800mA) ,输出电压精度在1%以内,具有电流限制和热保护功能,稳定性好。C4、C5、C6 均为电源滤波电容。
3 软件编程
3.1 对液晶屏的C 程序设计
液晶屏的软件设计采用C 语言编程。包括液晶屏初始化、写液晶控制字、写液晶数据子程序、读液晶液晶数据、全屏显示单色、指定位置显示汉字和字符、指定位置显示图片、清屏等子程序。
写液晶数据子程序为:
3.2 对触摸屏的C 程序设计
触摸屏的程序设计主要是确定其位置坐标与液晶屏上位置坐标的对应关系,通过一定的算法把触摸屏触摸信息转化为液晶屏上的位置坐标。液晶屏像素为240×320, 从触摸屏接收到的X 值不在0~ 320 范围变化、Y 值也不在0~ 240范围变化, 在触摸屏的边缘区域,X 、Y 方向输出数据变化较大,是非线性关系,坐标值在中间大部分范围内基本是成线性变化的。为了较准确的进行坐标转换,可采用线性求值和查表相结合的方式进行坐标转换。
触摸屏的C 程序设计主要包括触摸屏初始化子函数、读A/ D 转换值子函数、坐标原始值子函数和坐标转换子函数。
与ADS7843 相关的引脚C 程序预处理为:
读A/ D 转换值子函数:
4 结束语
在嵌入式智能设备中,用液晶触摸屏取代传统的按键、LED 等人机对话部件,具有操作简便、界面友好及功能较强等优点。随着LCD 液晶屏价格的进一步下降,液晶触摸屏有着更宽广的应用市场,基于ARM 微处理器与液晶触摸屏的技术开发具有现实意义和社会经济价值。本系统以ARM7 处理器LPC2148 作为主控制器,与传统单片机相比,具有较大的数据存储容量和较快的图片处理速度;液晶屏带触摸功能,大大增强了人机对话的交互能力;基于C 语言的编程方法有较强的实时性。所设计的液晶触摸屏应用于ARM 嵌入式创新实训系统和便携式铁路平调装置故障检测仪,触摸键反应灵敏,与ARM7 处理器接口电路运行可靠,验证了系统设计的可行性,具有较高的实际应用价值。