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和AS%&&&&&%s),转化速率还能够进步到每次15个时钟周期,如图9所示。
2.4 A/D转化时序的程序设计
ADS7843的典型运用如图4所示。假定μP接口与51单片机的P1.3~P1.7相连,现以一次转化需24个时钟周期为例,介绍A/D转化时序的程序设计。
; A/D 接口操控线
DCLK BIT P1.3
CS BIT P1.4
DIN BIT P1.5
BUSY BIT P1.6
DOUT BIT P1.7
; A/D 通道挑选命令字和作业寄存器
CHX EQU 094H ;通道X+的挑选操控字
CHY EQU 0D4H;通道Y+的挑选操控字
CH3 EQU 0A4H
CH4 EQU 0E4H
AD_CH EQU 35H ;通道挑选寄存器
AD_RESULTH EQU 36H ;寄存12 bit A/D值
AD_RESULTL EQU 37H
; 寄存通道CHX+的A/D值
CHXAdResultH EQU 38H
CHXAdResultL EQU 39H
; 寄存通道CHY+的A/D值
CHYAdResultH EQU 3AH
CHYAdResultL EQU 3BH
; 收集通道CHX+的程序段(CHXAD)
CHXAD: MOV AD_CH,#CHX
LCALL AD_RUN
MOV CHXAdResultH,AD_RESULTH
MOV CHXAdResultL,AD_RESULTL
RET
; 收集通道CHY+的程序段(CHYAD)
CHYAD: MOV AD_CH,#CHY
LCALL AD_RUN
MOV CHYAdResultH,AD_RESULTH
MOV CHYAdResultL,AD_RESULTL
RET
; A/D转化子程序(AD_RUN)
; 输入: AD_CH-形式和通道挑选命令字
; 输出: AD_RESULTH,L ;12 bit的A/D转化值
; 运用: R2 ;辅佐作业寄存器
AD_RUN:
CLR CS ; 芯片答应
CLR DCLK
MOV R2,#8 ;先写8 bit命令字
MOV A,AD_CH
AD_LOOP:
MOV C, ACC.7
MOV DIN,C ;时钟上升沿锁存DIN
SETB DCLK ;开端发送命令字
CLR DCLK ;时钟脉冲,总共24个
RL A
DJNZ R2,AD_LOOP
NOP
NOP
NOP
NOP
ADW0: JNB BUSY,AD_WAIT ;等候转化完结
SJMP ADW1
AD_WAIT:
LCALL WATCHDOG
NOP
SJMP ADW0
CLR DIN
ADW1: MOV R2,#12 ;开端读取12bit成果
SETB DCLK
CLR DCLK
AD_READ:
SETB DCLK
CLR DCLK ;用时钟的下降沿读取
MOV A,AD_RESULTL
MOV C,DOUT
RLC A
MOV AD_RESULTL,A
MOV A,AD_RESULTH
RLC A
MOV AD_RESULTH,A
DJNZ R2,AD_READ
MOV R2,#4 ;最终是没用的4个时钟
IGNORE:
SETB DCLK
CLR DCLK
DJNZ R2,IGNORE
SETB CS ;制止芯片
ANL AD_RESULTH,#0FH ;屏蔽高4 bit
RET
2.5 A/D转化成果的数据格局
ADS7843转化成果为二进制格局。需求阐明的是,在进行公式核算时,参阅电压在两种输入形式中是不一样的。并且,假如选取8位的转化精度,1LSB=VREF/256,一次转化完结时刻能够提早4个时钟周期,此刻串口时钟速率也能够进步一倍。
结束语
在许多嵌入式体系中,CPU供给专门的模块来支撑液晶显示和触摸屏的输入,使得接口十分简略。比方,MOTOROLA的MC68VZ328(称为 Dragon Ball)就供给专门的引脚来支撑8位和4位的液晶显示,对触摸屏的支撑经过SPI2凭借ADS7843也很简略完结。