Ddosde手机触摸屏原理Word文档格式.docx
《Ddosde手机触摸屏原理Word文档格式.docx》由会员分享,可在线阅读,更多相关《Ddosde手机触摸屏原理Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
![Ddosde手机触摸屏原理Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/21/9b21bde0-4968-4b94-8ae9-b5552229d0c6/9b21bde0-4968-4b94-8ae9-b5552229d0c61.gif)
电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。
触摸屏工作时,上下导体层相当于电阻网络,如图2所示。
当某一层电极加上电压时,会在该网络上形成电压梯度。
如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。
比如,在顶层的电极(X+,X-)上加上电压,则在顶层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在底层就可以测得接触点处的电压,再根据该电压与电极(X+)之间的距离关系,知道该处的X坐标。
然后,将电压切换到底层电极(Y+,Y-)上,并在顶层测量接触点处的电压,从而知道Y坐标。
2触摸屏的控制实现
现在很多PDA应用中,将触摸屏作为一个输入设备,对触摸屏的控制也有专门的芯片。
很显然,触摸屏的控制芯片要完成两件事情:
其一,是完成电极电压的切换;
其二,是采集接触点处的电压值(即A/D)。
本文以BB(Burr-Brown)公司生产的芯片ADS7843为例,介绍触摸屏控制的实现。
2.1ADS7843的基本特性与典型应用
ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。
供电电压2.7~5V,参考电压VREF为1V~+VCC,转换电压的输入范围为0~VREF,最高转换速率为125kHz。
ADS7843的引脚配置如图3所示。
表1为引脚功能说明,图4为典型应用。
2.2ADS7843的内部结构及参考电压模式选择
ADS7843之所以能实现对触摸屏的控制,是因为其内部结构很容易实现电极电压的切换,并能进行快速A/D转换。
图5所示为其内部结构,A2~A0和SER/为控制寄存器中的控制位,用来进行开关切换和参考电压的选择。
ADS7843支持两种参考电压输入模式:
一种是参考电压固定为VREF,另一种采取差动模式,参考电压来自驱动电极。
这两种模式分别如图6(a)、(b)所示。
采用图6(b)的差动模式可以消除开关导通压降带来的影响。
表2和表3为两种参考电压输入模式所对应的内部开关状况。
2.3ADS7843的控制字及数据传输格式
ADS7843的控制字如表4所列,其中S为数据传输起始标志位,该位必为"
1"
。
A2~A0进行信道选择(见表2和3)。
MODE用来选择A/D转换的精度,"
选择8位,"
0"
选择12位。
SER/选择参考电压的输入模式(见表2和3)。
PD1、PD0选择省电模式:
"
00"
省电模式允许,在两次A/D转换之间掉电,且中断允许;
01"
同"
,只是不允许中断;
10"
保留;
11"
禁止省电模式。
为了完成一次电极电压切换和A/D转换,需要先通过串口往ADS7843发送控制字,转换完成后再通过串口读出电压转换值。
标准的一次转换需要24个时钟周期,如图7所示。
由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期,如图8所示。
如果条件允许,CPU可以产生15个CLK的话(比如FPGAs和ASICs),转换速率还可以提高到每次15个时钟周期,如图9所示。
2.4A/D转换时序的程序设计
ADS7843的典型应用如图4所示。
假设μP接口与51单片机的P1.3~P1.7相连,现以一次转换需24个时钟周期为例,介绍A/D转换时序的程序设计。
;
A/D接口控制线
DCLKBITP1.3
CSBITP1.4
DINBITP1.5
BUSYBITP1.6
DOUTBITP1.7
A/D信道选择命令字和工作寄存器
CHXEQU094H;
信道X+的选择控制字
CHYEQU0D4H;
信道Y+的选择控制字
CH3EQU0A4H
CH4EQU0E4H
AD_CHEQU35H;
信道选择寄存器
AD_DATAHEQU36H;
存放12bitA/D值
AD_DATALEQU37H
存放信道CHX+的A/D值
CHX_AdHEQU38H
CHX_AdLEQU39H
存放信道CHY+的A/D值
CHY_AdHEQU3AH
CHY_AdLEQU3BH
===============================
采集信道CHX+的程序段(CHXAD)
CHXAD:
MOVAD_CH,#CHX
LCALLAD_RUN
MOVCHX_AdH,AD_DATAH
MOVCHX_AdL,AD_DATAL
RET
采集信道CHY+的程序段(CHYAD)
CHYAD:
MOVAD_CH,#CHY
MOVCHY_AdH,AD_DATAH
MOVCHY_AdL,AD_DATAL
=====================================
A/D转换子程序(AD_RUN)
输入:
AD_CH-模式和信道选择命令字
输出:
AD_RESULTH,L;
12bit的A/D转换值
使用:
R2;
辅助工作寄存器
AD_RUN:
CLRCS;
芯片允许
CLRDCLK
MOVR2,#8;
先写8bit命令字
MOVA,AD_CH
AD_LOOP:
MOVC,ACC.7
MOVDIN,C;
时钟上升沿锁存DIN
SETBDCLK;
开始发送命令字
CLRDCLK;
时钟脉冲,一共24个
RLA
DJNZR2,AD_LOOP
NOP
ADW0:
JNBBUSY,AD_WAIT;
等待转换完成
SJMPADW1
AD_WAIT:
LCALLWATCHDOG
SJMPADW0
CLRDIN
ADW1:
MOVR2,#12;
开始读取12bit结果
SETBDCLK
CLRDCLK
AD_READ:
用时钟的下降沿读取
MOVA,AD_DATAL
MOVC,DOUT
RLCA
MOVAD_DATAL,A
MOVA,AD_DATAH
MOVAD_DATAH,A
DJNZR2,AD_READ
MOVR2,#4;
最后是没用的4个时钟
IGNORE:
DJNZR2,IGNORE
SETBCS;
禁止芯片
ANLAD_DATAH,#0FH;
屏蔽高4bit
2.5A/D转换结果的资料格式
ADS7843转换结果为二进制格式。
需要说明的是,在进行公式计算时,参考电压在两种输入模式中是不一样的。
而且,如果选取8位的转换精度,1LSB=VREF/256,一次转换完成时间可以提前4个时钟周期,此时串口时钟速率也可以提高一倍。
结束语
在许多嵌入式系统中,CPU提供专门的模块来支持液晶显示和触摸屏的输入,使得接口非常简单。
比如,MOTOROLA的MC68VZ328(称为DragonBall)就提供专门的引脚来支持8位和4位的液晶显示,对触摸屏的支持通过SPI2借助ADS7843也很容易完成。
参考文献
1MC68VZ328IntegratedProcessorUser'
sManual
2M68VZ328ADSApplicationDevelopmentSystemUser'
sManual.Revision1.4.2000
3Burr-BrownICDataBook