首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于ADS7846的电阻式触摸屏接口设计

作者:王选民, 李明利, 张利川, 张晓博 来源:现代电子技术


  摘 要:分析了电阻式触摸屏的结构,确定了触摸点坐标校正的方法。针对51系列单片机与触摸屏控制器ADS7846串行通信时,单片机串口方式1~3与ADS7846时序不相配,而方式0虽然与ADS7846时序相配,但输入/输出端数不相配。为此,提出了在单片机串口方式0的基础上增加双向传输GAL芯片,并据此设计了触摸屏接口电路及软件。分析和实验表明,这种接口系统能够正确获得触摸点坐标,电路简化且易于实现,实用性强。
  关键词:电阻式触摸屏;触摸屏控制器;触摸点坐标;接口电路;串行通信
  中图分类号:TP334.2 文献标识码:A
  文章编号:1004-373X(2010)11-0088-03
  
  Interface Design of Resistive Touch Screen Based on ADS7846
  WANG Xuan-min, LI Ming-li, ZHANG Li-chuan, ZHANG Xiao-bo
  (School of Information Engineering, Chang’an University, Xi’an 710064, China)
  Abstract: The structure of resistive touch screen is analyzed, and the revision method of touch point coordinate is determined. For serial communication of the 51 SCM and touch screen controller ADS7846, the time order of SCM serial way 1~3 and ADS7846 was unsuitable. Way 0 time order was suitable, but input/output number was different. Adding two-way chip GAL on SCM serial way 0 was proposed. On the ground, the touch screen interface circuit and software were designed. The analysis and experiment indicate that interface circuit possessed below advantages. Touch point coordinate can be obtained accurately, the circuit is realized easily, and its practicality is good.
  Keywords: resistive touch screen; touch screen controller; touch point coordinate; interface circuit; serial communication
  
  触摸屏作为智能仪器、仪表的输入设备,是具有简单、方便、自然的人机交互方式。按照工作原理和传输信息介质的不同,触摸屏主要分为电阻式触摸屏、电容式触摸屏、红外线式触摸屏及表面声波触摸屏4类。电阻式触摸屏对外完全隔离,不怕油污、灰尘、水,经济性很好,适应于各种领域,其产品在触摸屏产品中占90%的市场份额。现介绍电阻式触摸屏的结构及接口设计。
  1 电阻式触摸屏的结构
  电阻式触摸屏的检测部件是一块与显示器表面紧密配合的多层复合薄膜\,由一层玻璃或有机玻璃作为基层,表面涂有一层阻性导体层(如铟锡氧化物ITO),上面再盖有一层外表面被硬化处理、光滑防刮的塑料层,塑料层的内表面也涂有一层阻性导体层。在两导体层之间有一层具有许多细小隔离点的隔离层,把两导体层隔开绝缘,如图1所示。当手指触摸屏幕时,两导体层在触摸点位置产生了接触,控制器检测到这个接通点后计算出X,Y坐标,这就是电阻式触摸屏的检测原理。
  图1 电阻式触摸屏结构
  电阻式触摸屏根据引出线数的多少,分为4~8线等多种结构。4线电阻触摸屏最具代表性,其检测原理如图2所示。在外ITO层的上、下两边各渡一个狭长电极,引出端为Y+,Y-,在内ITO层的左、右两边分别渡上狭长电极,引出端为X+,X-。为了获得触摸点在X方向的位置信号,在内ITO层的两电极X+,X-上分别加VREF,0 V电压,使内ITO层上形成了从0~VREF的电压梯度,触摸点至X-端的电压为该两端电阻对VREF的分压,分压值代表了触摸点在X方向的位置,然后将外ITO层的一个电极(如Y-)端悬空,可从另一电极(Y+)取出这一分压,将该分压进行A/D转换,并与VREF进行比较,便可得到触摸点的X坐标。
  为了获得触摸点在Y方向的位置信号,需要在外ITO层的两电极Y+,Y-上分别加VREF,0 V电压,而将内ITO层的一个电极(X-)悬空,从另一电极(X+)上取出触摸点在Y方向的分压\。
  图2 四线电阻触摸屏检测原理
  2 ADS7846的特性
  2.1 基本特性
  ADS7846是美国BB公司推出的新一代4线制触摸屏控制器,他由低导通电阻模拟开关,具有采样/保持功能的逐次逼近型ADC、异步串行数据接口、温度传感器等组成\。ADC是ADS7846的核心,其转换速率可达125 kHz,分辨率可编程为8位或12位。该器件不仅具有X,Y坐标测量功能,还具有电池电压、芯片温度、触摸压力和外模拟量4种测量功能,其工作方式可由控制字决定,片内的6选1模拟多路开关可根据微控制器送来的命令字选择6个电压量之一(X+,Y+,Y-,VBAT,TEMP,AUX-IN),并将其送入A/D转换器转换,然后再通过SPI接口将转换值送入微控制器。ADS7846还集成有触摸识别电路,当检测到有触摸时,该电路会在PENIRQ引脚输出一个低电平信号,向微控制器提出测量触点坐标的中断请求。该芯片采用单电源供电,工作电压为2.2~5.25 V,且内部自带+2.5 V的参考电压。
  2.2 引脚功能
  ADS7846的引脚排列如图3所示,引脚功能见表1。
  图3 ADS7846引脚图
  表1 ADS7846引脚功能表
  引脚号引脚名功能
  1,10VCC电源输入端,2.7~5.25 V
  2,3X+,Y+X+,Y+位置输入端
  4,5X-,Y-X-,Y-位置输入端
  6GND电源地
  7VBAT电池监视输入端
  8AUX附属A/D通道输入
  9VREFA/D参考电压输入,1~VCC
  11PENIRQ笔中断输出,需外接电阻(10 kΩ或100 kΩ)
  12,14,16DOUT,DIN,DCLK串行接口输出、输入、时钟端,在时钟下降沿数据移出,上升沿移进
  13BUSY忙指示
  15CS片选信号
  2.3 控制字
  ADS7846的控制功能主要是实现触摸屏电极电压的切换及触摸点位置信号的A/D转换。ADS7846的控制字如下:
  D7D6D5D4D3D2D1D0
  SA2A1A0MODESER/DFRPD1PD0
  S:数据传输起始标志位。为1 表示一个新的控制字节到来;为0则忽略DIN引脚上数据。
  
  A2A1A0:通道选择位。用于控制通道选择器的输入,触摸信号驱动开关及ADC的参考输入电压。当A2A1A0=001时,采集Y坐标信号;当A2A1A0=101时,采集X坐标信号。
  MODE:用来选择A/D转换的精度。为1选择8位精度;为0选择12位精度。
  SER/DFR:用来选择参考电压的输入模式。1为参考电压非差动输入模式;0为参考电压差动输入模式。
  PD1,PD0:低功率模式选择位。若为11,器件总处于供电状态;若为00,器件在两次变换之间处于低功率模式。
  2.4 转换时序
  ADS7846的转换时序如图4所示。一次完整的电极电压切换和A/D转换,需要ADS7846和微处理器进行3次串行数据传送,每次传送需要8个时钟\周期。第一次传送由微处理器向ADS7846发送控制字,接下来的两次传送是微处理器从ADS7846读取转换结果(最后4位自动补0)。由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期。
  图4 ADS7846的转换时序
  2.5 触摸坐标计算
  由于四线电阻触摸屏中,Y方向位置电压从下向上逐渐增加,X方向位置电压从右向左逐渐增加\,因此Y,X位置电压对应的坐标原点在触摸屏的右下角。为了获得工程上使用的X,Y坐标值(即将坐标原点移为左下角),应将X位置电压转换值求补。另外,X,Y位置电压转换值还必须与显示屏幕的点阵(采用的液晶为240×160点阵)相对应。因此校正后的X,Y坐标计算公式为:
  x=(Xmax-X) ×160/(Xmax-Xmin)
  (1)
  y=(Y-Ymin) ×240/(Ymax-Ymin)
  (2)
  式中:Xmax,Xmin为X位置电压转换结果的最大、最小值;Ymax,Ymin为Y位置电压转换结果的最大、最小值;Y,X为触摸点位置电压的转换值;x,y为校正后的触摸点坐标。
  3 触摸屏与微机的接口
  3.1 接口电路
  应用ADS7846实现触摸屏与单片机80C55的接口电路如图5所示\,触摸屏的X+,X-,Y+,Y-分别与ADS7846的相应端连接,当控制字中A2A1A0=001时,通过片内模拟开关的切换,将X+ 接电源VCC,X-接地,将Y+与Y- 端以差动形式接到A/D转换器的输入端,A/D转换器的结果就是Y位置电压。类似当控制字中A2A1A0=101时,A/D转换器的结果就是X位置电压。单片机与 ADS7846间的数据传送采用串行通信方式时,由于单片机串口方式1~3为异部通信方式,与 ADS7846的时序不相配;串口方式0为移存器方式, 虽然与ADS7846时序可以配合,但串口数据输入/输出使用同一端子RXD(TXD为同步脉冲输出端),ADS7846数据输入/输出采用不同端子DIN,DOUT。为了实现正确的数据双向传送,设计了双向数据芯片GAL,该芯片的功能是当E=0时,数据传送方向为Y到A;当E=1时,传送方向为B到Y。ADS7846的笔中断信号PENIRQ接P2.4,当PENIRQ信号有效时,单片机发送控制字。ADS7846的忙信号BUSY接P2.6,在BUSY信号的下降沿,单片机接收A/D转换结果。
  图5 ADS7846与80C55的接口
  3.2 接口程序
  当触摸触摸屏时,ADS7846中断信号PENIRQ有效,单片机检测到这一有效信号后,先送测量X坐标控制字,并检测BUSY信号是否有下降沿到来,下降沿到来后,读X位置电压;再送测量Y坐标控制字,获取Y位置电压。将得到的X,Y位置电压用式(1)、式(2)进行计算便得到触摸点的X,Y坐标。软件流程如图6所示。
  图6 坐标读取流程图
  4 结 语
  设计的触摸屏接口电路具有下列优点:通过增加双向传输GAL芯片,解决了51系列单片机与触摸屏控制器ADS7846的串行通信问题;通过对触摸点位置电压进行校正,获得了正确的触摸坐标;接口电路易于实现,实用性强。
  
  参考文献
  [1]王富东.电阻式触摸屏与单片机的接口技术[J].苏州大学学报:工科版,2006,26(6):50-51.
  [2]邓亚平,贾颢.基于C8051F021和ADS7846的触摸屏系统设计[J].电子元器件应用,2009,11(8):31-33.
  [3]王晖,马鸣锦.基于触摸屏控制器ADS7846的触点坐标和压力的测量与计算[J].电子设计应用,2003(9):80-81.
  [4]崔如春,谭海燕.电阻式触摸屏的坐标定位与笔画处理技术[J].仪表技术与传感器,2004(8):49-50.
  [5]韦作凯,杜秋,臧晓明,等.基于单片机实现触摸屏的实时数据采集[J].大连民族学院学报,2008,10(5):32-34.
  [6]冯达,吴星明.基于C8051F SPI接口液晶触摸屏的控制设计[J].微计算机信息,2005,21(7):62-64.
  [7]程凯,杨晓.51单片机系统中的触摸屏坐标算法[J].单片机与嵌入式系统应用,2003(8):74-75.
  [8]石杨,闵子建.基于触摸屏控制器的在线动态数据采集及预处理[J].微计算机信息,2008,24(28):154-156.
  [9]周美娟,肖来胜.单片机技术及系统设计[M].北京:清华大学出版社,2007.
  [10]黄惟公.单片机原理与应用技术[M].西安:西安电子科技大学出版社,2007.