当前位置: 首页 > >

cn-equkk手机触摸屏原理

发布时间:

、 .~ ① 我们‖打〈败〉了敌人。 ②我们‖〔把敌人〕打〈败〉了。

四线电阻触摸屏的工作原理
摘要:简要介绍触摸屏的结构及工作原理,并以 Burr-Brown 公司的触摸屏控制芯片 ADS7843 为例,介绍 触摸屏应用的典型电路和操作。由于 ADS7843 内置 12 位 A/D,理论上触摸屏的输入坐标识别精度为有效 长宽的 1/4096。

关键词:四线电阻触摸屏 ITO ADS7843 嵌入式系统

1 触摸屏的基本原理

典型触摸屏的工作部分一般由三部分组成,如图 1 所示:

两层透明的阻性导体层、两层导体之间的隔离层、电极。阻性导体层选用阻性材料,如铟锡氧化物(ITO) 涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。隔离层为粘性绝缘液体材料,如聚脂薄膜。电极选 用导电性能极好的材料(如银粉墨)构成,其导电性能大约为 ITO 的 1000 倍。

触摸屏工作时,上下导体层相当于电阻网络,如图 2 所示。

当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极 未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。比如,在顶层的电极(X+,X-)上 加上电压,则在顶层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在底层就可以测得接 触点处的电压,再根据该电压与电极(X+)之间的距离关系,知道该处的 X 坐标。然后,将电压切换到底层 电极(Y+,Y-)上,并在顶层测量接触点处的电压,从而知道 Y 坐标。

2 触摸屏的控制实现

现在很多 PDA 应用中,将触摸屏作为一个输入设备,对触摸屏的控制也有专门的芯片。很显然,触摸 屏的控制芯片要完成两件事情: 其一, 是完成电极电压的切换; 其二, 是采集接触点处的电压值 (即 A/D) 。 本文以 BB(Burr-Brown)公司生产的芯片 ADS7843 为例,介绍触摸屏控制的实现。

2.1 ADS7843 的基本特性与典型应用

ADS7843 是一个内置 12 位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压 2.7~5 V,参考电压 VREF 为 1 V~+VCC,转换电压的输入范围为 0~ VREF,最高转换速率为 125 kHz。ADS7843 的引脚配置 如图 3 所示。

表 1 为引脚功能说明,图 4 为典型应用。

2.2 ADS7843 的内部结构及参考电压模式选择

ADS7843 之所以能实现对触摸屏的控制,是因为其内部结构很容易实现电极电压的切换,并能进行快速 A/D 转换。

图 5 所示为其内部结构,A2~A0 和 SER/为控制寄存器中的控制位,用来进行开关切换和参考电压的选择。

ADS7843 支持两种参考电压输入模式:一种是参考电压固定为 VREF,另一种采取差动模式,参考电压来 自驱动电极。这两种模式分别如图 6(a)、(b)所示。

采用图 6(b)的差动模式可以消除开关导通压降带来的影响。表 2 和表 3 为两种参考电压输入模式所对应的 内部开关状况。

2.3 ADS7843 的控制字及数据传输格式

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"禁止省电模式。

为了完成一次电极电压切换和 A/D 转换,需要先通过串口往 ADS7843 发送控制字,转换完成后再通过串 口读出电压转换值。标准的一次转换需要 24 个时钟周期,如图 7 所示。

由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提 高到每次 16 个时钟周期,如图 8 所示。

如果条件允许,CPU 可以产生 15 个 CLK 的话(比如 FPGAs 和 ASICs),转换速率还可以提高到每次 15 个 时钟周期,如图 9 所示。

2.4 A/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;存放 12 bit A/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

LCALLAD_RUN

MOVCHY_AdH,AD_DATAH

MOVCHY_AdL,AD_DATAL

RET

;=====================================

; A/D 转换子程序(AD_RUN)

; 输入: AD_CH-模式和信道选择命令字

; 输出: AD_RESULTH,L ;12 bit 的 A/D 转换值

; 使用: R2 ;辅助工作寄存器

AD_RUN:

CLRCS; 芯片允许

CLRDCLK

MOVR2,#8;先写 8 bit 命令字

MOVA,AD_CH

AD_LOOP:

MOVC, ACC.7

MOVDIN,C;时钟上升沿锁存 DIN

SETBDCLK;开始发送命令字

CLRDCLK;时钟脉冲,一共 24 个

RL A

DJNZR2,AD_LOOP

NOP

NOP

NOP

NOP

ADW0:

JNBBUSY,AD_WAIT;等待转换完成

SJMPADW1

AD_WAIT:

LCALLWATCHDOG

NOP

SJMPADW0

CLRDIN

ADW1:

MOVR2,#12;开始读取 12bit 结果

SETBDCLK

CLRDCLK

AD_READ:

SETBDCLK

CLRDCLK;用时钟的下降沿读取

MOVA,AD_DATAL

MOVC,DOUT

RLCA

MOVAD_DATAL,A

MOVA,AD_DATAH

RLCA

MOVAD_DATAH,A

DJNZR2,AD_READ

MOVR2,#4;最后是没用的 4 个时钟

IGNORE:

SETBDCLK

CLRDCLK

DJNZR2,IGNORE

SETBCS;禁止芯片

ANLAD_DATAH,#0FH;屏蔽高 4 bit

RET

2.5 A/D 转换结果的资料格式

ADS7843 转换结果为二进制格式。需要说明的是,在进行公式计算时,参考电压在两种输入模式中是不一 样的。而且,如果选取 8 位的转换精度,1LSB=VREF/256,一次转换完成时间可以提前 4 个时钟周期,此 时串口时钟速率也可以提高一倍。

结束语

在许多嵌入式系统中,CPU 提供专门的模块来支持液晶显示和触摸屏的输入,使得接口非常简单。比 如,MOTOROLA 的 MC68VZ328(称为 Dragon Ball)就提供专门的引脚来支持 8 位和 4 位的液晶显示,对触 摸屏的支持通过 SPI2 借助 ADS7843 也很容易完成。

参考文献

1 MC68VZ328 Integrated Processor User's Manual

2 M68VZ328ADS Application Development System User's Manual. Revision 1.4. 2000

3 Burr-Brown IC Data Book




友情链接: