四线电阻式触摸屏控制器的应用研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2007年第10期仪表技术·45-
四线电阻式触摸屏控制器的应用研究
黄海萍,郭振军。黄廷磊
(桂林电子科技大学,广西桂林541004)
摘要:开轺班C8051为桂啦酌鞋模屏拄钎系统的谩井,分析了.在最纯谩升过程中出现的干扰信号、洲重值偏差和信号幕桌中延时时问的设定不当等问题以震它们砷系统控制效果的影响,并培出了解决方法。
关键词:触摸屏;ADs7843;C8051F020
中图分类号:TP334文献标识码:B文章缡号:1006—2394(2007)tO一0045—02’DesignofTouchscreenControlSystemBasedonC8051
HUANGHai—ping,GUOZhen-jun,HUANGTins-ki
(GuilinUniversityofElectronicTechnology,Guilin541004,China)
Abstract:ni8paperintroducedthedesignoftouchsereencontrolsystembasedonC8051.analyzedthepmbbnm
ofdisturbsignal,measurementdeviationand
improperenactmentofdelayduringthedesigningandtheirimpactstotheeffectofcontrolsystem。andprovidedsolutionaccordingly.
Keywords:touchsereen;ADs7843;C805lFD20
1引言
ADS7843是一种四线式触摸屏控制器,目前较多应用于电阻式触摸屏输入系统中。尽管有很多相关的典型应用和应用注意事项,但是在实际使用过程中仍然会遇到一些问题。应用在通用的单片机中所出现的问题及解决方法,已有一些介绍。本文是对基于高速、流水线结构的C8051的触摸屏控制系统设计中所遇到的问题进行分析处理,并给出了解决方法。
2液晶触摸屏的系统设计
2.1硬件组成
采用典型的四线电阻式触摸屏,其主要特点是精确度高,不受环境干扰,适用于各种场合。控制器为四线电阻式触摸屏通用的ADS7843控制芯片,具有12位转换精度,支持SPI通讯协议;内建512KByteROM,提供繁体或简体中文,支持2Page显示模式,支持文本显示和图形显示(320x240点)两种方式,显示模块内建有512KByto的16×16中文显示字型ROM(FontROM)与8×6的ASCH半型字型,除内建8x16和16×16的字号外,还提供字型放大的功能。
单片机采用Cygnal的C8051F020,高速、流水线结构的C8051兼容的CIP一51内核,64K字节的FLASH,4K+256字节的RAM,12位的AD转换精度,硬件实现的SPI、SMBus/12C接口。5个通用的16位定时器。70%的指令执行时间为一个或两个系统周期。
2.2接口电路
如图l示。ADS7843串行接口的一次完整操作需要3×8=24个DCLK时钟周期,前8个脉冲接收8位的命令,并在第6个脉冲的上升沿开始A/D转换器进人采样阶段,从第9个脉冲开始进入转换阶段,输出12位采样值,转换结束进入空闲阶段。直到24个DCLK结束,cs置高电平,一次测量结束。如图2所示。此外,AD57843还支持其他的工作方式,这里不再详述。
收稿日期:2007—07
作者简介:黄海萍(1959一),女,工程师.研究方向为计算机应用。
ADS7S43
V∞DCLKP3.5瘫)斗CSP3.4昌
Y+D州P3.6苎
X.BUSYP3.7盆
U吐Y.0【兀__——P3.3
GNDPENmQ缓一P1.0UIN3Vee冲L
IN4V他f器
尘
=
囤1C8051F020与^Ds7“3争触曩屏的连接圉
·46·仪表技术2007年第10期
mn几九厂『7I几厅mr]n几n几几一m几n厂几几几同
SIA2lA3lA0l嘲7l珊lPD】
一”…。空闻·I·转换·空两’r-
1]『11l10l98765I4l32
10I填零
广
(MSB)皿sn)
图2A/D采集、转换、精出时序
2.3工作原理
当用户在触摸屏上的有效区域内点击时,触摸屏
的x方向、Y方向输出电阻分别随x和Y呈线性变
化,ADS7843控制器将其分别转换为12位数据,通过
中断告知C8051F020需要接收数据,C8051F020接收
到数据后进行处理;首先进行触点数据是否有效判断,
包括两方面:一是判断是否误操作,即是否是由于人的
抖动产生的错误数据;二是ADS7843传过来得数据是
否有效,由于刚开始的传过来的第一个坐标是用户开
始接触触摸屏时产生的,电阻不准确,导致数据也不准,通常要去掉;在接收过程中采用多次平均的方法.假如有一次接收的数据和平均值差别很大,则这次测量就作废,需要重新测量。一旦数据有效,C8051F020接着计算触点坐标落在液晶屏的位置,根据计算的结果判断执行相应的功能函数。使触摸屏和液晶屏有机的结合起来,建立一定的逻辑关系,交互地进行信息存取和输出。
2.4触摸屏坐标读取的软件流程
图3给出了触摸屏坐标读取的软件程序流程。
x、Y坐标通道选择,定义控制字孓铲lc805lF020串行读出l
通过软件滤波处理读取到的数据1枣
3设计中出现的问题及解决方法图3触摸屏程序漉翟田
3.1干扰信号
在测试时,手指或触摸笔触摸时,会产生一定的干扰信号,干扰情况分为两种:(1)通过中断管脚会一直向C8051F020发出中断请求。解决方法:中断信号接缓冲器,然后将输出管脚接1wF的钽电容,滤除中断干扰信号。(2)ADS7843输出值不稳定。解奂方法:在x+、Y+管脚上连接15pF钽电容滤波。经过测试验证,问题解决良好。连接电路见图1。
3.2ADs7843的测量值偏差
当有触摸动作时,触摸点电阻膜会抖动或错误触发,解决方法:先延时以消除抖动,采样16次,去掉采样的最先两个值和最后两个值,利用软件滤波,去除采样中的抖动造成的偏差和误触发。利用中间连续采样啪12次值,从采样的第3次值到第14个值,求出每次相邻两次采样值之差,求和后取平均值与预设值相比较,如果大于预设值,则此触攥动作无效,小于预设值则把采集数据的最小6个差值对应的数据求平均值作为坐标值。可以消除抖动和误触发的无效值,得到的坐标采样值精确度较高,相对于其他的滤波算法.该方法最优。
3.3信号采集中的延时时间设定
因为C805l阳20的速度是普通51芯片的12倍,ADS7843在进行数据采集时.时钟信号高低电平持续的时间必须足够,方可保证能采集到坐标值。测试中发现,在高低电平后延迟4个“一nop一();”空指令时,触摸x坐标线,可以采集到x值坐标,且有起始点,坐标值有线性变化;触摸Y坐标时,采集到的Y坐标值无起始点,在触摸屏上的Y坐标上的值相差无几,几乎没有变化。将延时指令由原来的4个。一hop一();”改为16个,发现测试结果正常。能同时读出x、Y值坐标,且两坐标值均有起始点,且线性变化。因此,在
(下转第50页)