您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 嵌入式系统触摸屏设计
5.6.1触摸屏工作原理与结构触摸屏附着在显示器的表面,根据触摸点在显示屏上对应坐标点的显示内容或图形符号,进行相应的操作。触摸屏按其工作原理可分为矢量压力传感式、电阻式、电容式、红外线式和表面声波式5类。在嵌入式系统中常用的是电阻式触摸屏。电阻触摸屏结构如图5.6.1(c)所示,最上层是一层外表面经过硬化处理、光滑防刮的塑料层,内表面也涂有一层导电层(ITO或镍金);基层采用一层玻璃或薄膜,内表面涂有叫作ITO的透明导电层;在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。在每个工作面的两条边线上各涂一条银胶,称为该工作面的一对电极,一端加5V电压,一端加0V,在工作面的一个方向上形成均匀连续的平行电压分布。当给X方向的电极对施加一确定的电压,而Y方向电极对不加电压时,在x平行电压场中,触点处的电压值可以在Y+(或Y—)电极上反映出来,通过测量Y+电极对地的电压大小,通过A/D转换,便可得知触点的X坐标值。同理,当给Y电极对施加电压,而X电极对不加电压时,通过测量X+电极的电压,通过A/D转换便可得知触点的Y坐标。当手指或笔触摸屏幕时(如图5.6.1(c)所示),两个相互绝缘的导电层在触摸点处接触,因其中一面导电层(顶层)接通X轴方向的5V均匀电压场(如图5.6.1(a)所示),使得检测层(底层)的电压由零变为非零,控制器检测到这个接通后,进行A/D转换,并将得到的电压值与5V相比,即可得触摸点的X轴坐标为(原点在靠近接地点的那端):同理也可以得出Y轴的坐标。图5.6.1触摸屏坐标识别原理+电阻式触摸屏有四线式和五线式两种。四线式触摸屏的X工作面和Y工作面分别加在两个导电层上,共有4根引出线:X+、X-,Y+、Y-分别连到触摸屏的X电极对和Y电极对上。四线电阻屏触摸寿命小于100万次。+五线式触摸屏是四线式触摸屏的改进型。五线式触摸屏把X工作面和Y工作面都加在玻璃基层的导电涂层上,工作时采用分时加电,即让两个方向的电压场分时工作在同一工作面上,而外导电层则仅仅用来充当导体和电压测量电极。五线式触摸屏需要引出5根线。五线电阻屏的触摸寿命可以达到3500万次。五线电阻屏的ITO层可以做得更薄,因此透光率和清晰度更高,几乎没有色彩失真。+注意:电阻触摸屏的外层复合薄膜采用的是塑胶材料,太用力或使用锐器触摸可能划伤触摸屏,从而导致触摸屏报废。ADS7843是TI公司生产的4线式电阻触摸屏转换接口芯片,是一款具有同步串行接口的12位取样模数转换器,在125KHz吞吐速率和2.7V电压下的功耗为750µW,而在关闭模式下的功耗仅为0.5µW,ADS7843采用SSOP-16引脚封装形式,温度范围是-40~+85℃。ADS7843具有两个辅助输入(IN3和IN4)可设置为8位或12位模式,X+、X-、Y+、Y-为转换器模拟输入端,DCLK为外部时钟输入引脚端,/CS片选端,其外部连接电路如图2-44所示。电路的工作电压VCC为2.7~5.25V,基准电压VREF为1V~+VCC,基准电压确定了转换器的输入范围。输出数据中每个数字位代表的模拟电压等于基准电压除以4096。平均基准输入电流由ADS7843的转换率来确定。采用ADS7843专用芯片对触摸屏进行控制,处理是否有笔或手指按下触摸屏,并在按下时分别给两组电极通电,然后将其对应位置的模拟电压信号经过A/D转换后送到微处理器。图2-44ADS7843触摸屏控制接口ADS7843送到微控制器的X与Y值仅是对当前触摸点的电压值的A/D转换值,这个值的大小不但与触摸屏的分辨率有关,而且也与触摸屏与LCD贴合的情况有关。一般来说,LCD分辨率与触摸屏的分辨率不一样,坐标也不一样。因此,要想使LCD坐标与触摸屏坐标一致,还需要在程序中进行转换。假设LCD分辨率是320×240,坐标原点在左上角;触摸屏分辨率是900×900,坐标原点在左上角,则转换公式如下:xLCD=[320×(x-x2)/(x1-x2)];yLCD=[240×(y-y2)/(y1-y2)]。如果坐标原点不一致,比如LCD坐标原点在右下角,而触摸屏原点在左上角,则转换公式如下:xLCD=320-[320×(x-x2)/(x1-x2)];yLCD=240-[240×(y-y2)/(y1-y2)]。1.S3C2410A与触摸屏的接口电路结构S3C2410A内部具有触摸屏接口,触摸屏接口包含1个外部晶体管控制逻辑和1个带有中断产生逻辑的ADC接口逻辑,它使用控制信号nYPON、YMON、nXPON和XMON控制并选择触摸屏面板,使用模拟信号AIN[7]和AIN[5]分别连接X方向和Y方向的外部晶体管,与触摸屏的接口电路如图5.6.2所示。在图5.20中,XP(X+)与S3C2410A的A[7]口相连,YP(Y+)与S3C2410A的A[5]口相连。需要注意的是,外部电压源应当是3.3V,外部晶体管的内部电阻应该小于5Ω,当S3C2410A的nYPON、YMON、nXPON和XMON输出不同的电平时,外部晶体管的导通状况不同,分别连接X的位置(通过A[7])和丫的位置(通过A[5])输入。当nYPON、YMON、nXPON和XMON输出等待中断状态电平时,外部晶体管控制器输出低电平,与VDDA_ADC相连的晶体管导通,中断线路处于上拉状态。当触笔单击触摸屏时,与AIN[7]相连的XP出现低电平,于是AIN[7]是低电平,内部中断线路出现低电平,进而引发内部中断。触摸屏XP口需要接一个上拉电阻。图5.6.2CPU与触摸屏连接图2.使用触摸屏的配置过程在S3C2410A构成的嵌入式系统中使用触摸屏,配置过程如下:(1)通过外部晶体管将触摸屏引脚连接到S3C2410A上;(2)选择分开的X/Y位置转换模式或者自动(顺序)X/Y位置转换模式,来获取X/Y位置;(3)设置触摸屏接口为等待中断模式;(4)如果中断发生,将激活相应的转换过程(X/Y位置分开转换模式或者X/Y位置自动(顺序)转换模式);(5)得到X/Y位置的正确值以后,返回等待中断模式。3.触摸屏的接口模式S3C2410A与触摸屏接口有5种接口模式。(1)普通的A/D转换模式在普通的A/D转换模式,AUTO_PST=0,XY_PST=0。这个模式可以在初始化设置时,读ADCDAT0(ADC数据寄存器0)的XPDATA数值,通过设置ADCCON和ADCTSC完成。(2)分开的X/Y位置转换模式分开的X/Y位置转换模式由X位置模式和Y位置模式两种转换模式组成。分开的X/Y位置转换模式下的转换条件如表5.6.1所列。X位置模式(ADCTSC寄存器的AUTO_PST=0和XY_PST=1)写X的位置转换数据到ADCDAT0寄存器的XPDATA位,完成转换后,触摸屏接口产生中断请求(INT_ADC)到中断控制器;Y位置模式(ADCTSC寄存器的AUTO_PST=0和XY_PST=2)写Y的位置转换数据到ADCDAT1寄存器的YPDA_TA位,,完成转换后,触摸屏接口产生中断请求(INT_ADC)到中断控制器。表5.6.1分开的X/Y位置转换模式的转换条件XPXMYPYMX位置转换外部电压GND(地)AIN[5]Hi-Z(高阻状态)Y位置转换AIN[7]Hi-Z(高阻状态)外部电压GND(地)(3)自动(顺序)X/Y位置转换模式当ADCTSC寄存器的AUTO_PST=1和XY_PST=0时进入自动(顺序)X/Y位置转换模式模式。首先写X的位置转换数据到ADCDAT0寄存器的XPDATA位,然后写Y的位置转换数据到ADCDAT1寄存器的YPDA_TA位,完成转换后,触摸屏接口产生中断请求(INT_ADC)到中断控制器。转换条件与分开的X/Y位置转换模式下的转换条件相同。(4)等待中断模式当ADCTSC寄存器的XY_PST=3时,进入等待中断模式模式。在等待中断模式,等待触笔点下。当触笔点下触摸屏后,它将产生INT_TC中断。进入等待中断模式的条件如表5.6.2所示。表5.6.2等待中断模式下的转换条件模式XPXMYPYM等待中断模式上拉高阻AIN[5]GND(5)待机模式(StandbyMode)当ADCCON寄存器的STDBM位设置为1时,进入待机模式。进入待机模式模式后,A/D转换停止,ADCDAT0的XPDATA和ADCDAT1的YPDATA保持上次转换的数值。与ADC和触摸屏相关的需要设置的寄存器有3个:ADCCON、ADCTSC和ADCDLY,另外还有2个只读的寄存器:ADCDAT0和ADCDAT1。有关这些寄存器的位描述请参阅“5.2.2S3C2410A的A/D转换器”一节。4.S3C2410A的触摸屏坐标转换控制电路S3C2410A的触摸屏坐标转换控制电路如图5.6.3所示。在图5.6.3中,AIN[7]与触摸屏的X+连接,AIN[5]与触摸屏的Y+连接。图5.6.3中使用了4个MOSFET,nYPON、YMON、nXPON和XMON等控制信号分别与4个MOSFET相连。图5.6.3触摸屏坐标转换控制电路5.触摸屏控制程序例一个触摸屏控制程序例如下所示:在Ts_Sep函数中进行触摸屏初始化、启动触摸屏测试等动作。触摸屏初始化主要是对rADCCON和rADCTSC两个寄存器进行配置。并设置为等待中断模式。初始化完毕后就设置触摸屏中断服务函数Adc_or_TsSep)并启动触摸屏中断,然后在主程序中等待。此时,一旦有触摸动作将引发触摸屏中断,而转入到AdcorTsS即进行处理。通过rADCTSC的bit8可以判断触摸笔是按下或者抬起。在采集之后就可以对数据进行处理,开始的两次采集认为是屏幕准的数据,分别保存到ts_lefttop_x,ts_lefttop_y,ts_rightbot_x,ts_rightbot_y变量中,它们保存的是屏幕左上角和右下角触摸屏坐标的x和y值。屏幕校准之后将自动转入到采集状态,获取的触摸屏坐标需要转换成为I_cn坐标,方法是根据获取的根据LCD左上角(0,0)和右下角(319,239)的触摸屏坐标(ts_lefttop_x,ts_left-top_y)和(ts_rightbot_x,ts_rightbot_y)计算得到。计算公式如下,其中(x,y)为待求点的触摸屏坐标:代码如下所示:
本文标题:嵌入式系统触摸屏设计
链接地址:https://www.777doc.com/doc-5063557 .html