采用ADS7846控制器的电阻式触摸屏接口电路设计
1 电阻式触摸屏的结构
电阻式触摸屏的检测部件是一块与显示器表面紧密配合的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层阻性导体层(如铟锡氧化物ITO),上面再盖有一层外表面被硬化处理、光滑防刮的塑料层,塑料层的内表面也涂有一层阻性导体层。在两导体层之间有一层具有许多细小隔离点的隔离层,把两导体层隔开绝缘,如图1所示。当手指触摸屏幕时,两导体层在触摸点位置产生了接触,控制器检测到这个接通点后计算出X,Y坐标,这就是电阻式触摸屏的检测原理。
电阻式触摸屏根据引出线数的多少,分为4~8线等多种结构。4线电阻触摸屏最具代表性,其检测原理如图2所示。在外ITO层的上、下两边各渡一个狭长电极,引出端为Y+,Y-,在内IT0层的左、右两边分别渡上狭长电极,引出端为X+,X-。为了获得触摸点在X方向的位置信号,在内ITO层的两电极 X+,X-上分别加VREF,0 V电压,使内IT0层上形成了从O~VREF的电压梯度,触摸点至X-端的电压为该两端电阻对VR-EF的分压,分压值代表了触摸点在X方向的位置,然后将外ITO层的一个电极(如Y-)端悬空,可从另一电极(Y+)取出这一分压,将该分压进行A/D转换,并与VREF进行比较,便可得到触摸点的X坐标。
为了获得触摸点在Y方向的位置信号,需要在外ITO层的两电极Y+,Y-上分别加VREF,O V电压,而将内ITO层的一个电极(X-)悬空,从另一电极(X+)上取出触摸点在Y方向的分压。
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还集成有触摸识别电路,当检测到有触摸时,该电路会在引脚输出一个低电平信号,向微控制器提出测量触点坐标的中断请求。该芯片采用单电源供电,工作电压为2.2~5.25 V,且内部自带+2.5 V的参考电压。
2.2 引脚功能
ADS7846的引脚排列如图3所示,引脚功能见表1。
2.3 控制字
ADS7846的控制功能主要是实现触摸屏电极电压的切换及触摸点位置信号的A/D转换。ADS7846的控制字如下:
S:数据传输起始标志位。为1表示一个新的控制字节到来;为0则忽略DIN引脚上数据。
A2A1A0:通道选择位。用于控制通道选择器的输入,触摸信号驱动开关及ADC的参考输入电压。当A2A1A0=001时,采集Y坐标信号;当A2A1A0=101时,采集X坐标信号。
MODE:用来选择A/D转换的精度。为1选择8位精度;为0选择12位精度。
用来选择参考电压的输入模式。1为参考电压非差动输入模式;O为参考电压差动输入模式。
PDl,PD0:低功率模式选择位。若为11,器件总处于供电状态;若为OO,器件在两次变换之间处于低功率模式。
2.4 转换时序
ADS7846的转换时序如图4所示。一次完整的电极电压切换和A/D转换,需要ADS7846和微处理器进行3次串行数据传送,每次传送需要8个时钟周期。
第一次传送由微处理器向ADS7846发送控制字,接下来的两次传送是微处理器从ADS7846读取转换结果(最后4位自动补O)。由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期。
2.5 触摸坐标计算
由于四线电阻触摸屏中,Y方向位置电压从下向上逐渐增加,X方向位置电压从右向左逐渐增加,因此Y,X位置电压对应的坐标原点在触摸屏的右下角。为了获得工程上使用的X,Y坐标值(即将坐标原点移为左下角),应将X位置电压转换值求补。另外,X,Y位置电压转换值还必须与显示屏幕的点阵(采用的液晶为 240×160点阵)相对应。因此校正后的X,Y坐标计算公式为:
式中:Xmax,Xmin为X位置电压转换结果的最大、最小值;Ymax,Ymin为Y位置电压转换结果的最大、最小值;Y,X为触摸点位置电压的转换值;x,y为校正后的触摸点坐标。
3 触摸屏与微机的接口
3.1接口电路
应用ADS7846实现触摸屏与单片机80C55的接口电路如图5所示,触摸屏的X+,X-,Y+,Y-分别与ADS7846的相应端连接,当控制字中 A2A1-A0=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=O时,数据传送方向为Y到A;当E=1时,传送方向为B到Y。ADS7846的笔中断信号接P2.4,当信号有效时,单片机发送控制字。ADS7846的忙信号BUSY接P2.6,在BUSY信号的下降沿,单片机接收A/D转换结果。
3.2 接口程序
当触摸触摸屏时,ADS7846中断信号有效,单片机检测到这一有效信号后,先送测量X坐标控制字,并检测BUSY信号是否有下降沿到来,下降沿到来后,读X位置电压;再送测量Y坐标控制字,获取Y位置电压。将得到的X,Y位置电压用式(1)、式(2)进行计算便得到触摸点的X,Y坐标。软件流程如图6所示。
4 结语
设计的触摸屏接口电路具有下列优点:通过增加双向传输GAL芯片,解决了51系列单片机与触摸屏控制器ADS7846的串行通信问题;通过对触摸点位置电压进行校正,获得了正确的触摸坐标;接口电路易于实现,实用性强。
评论