基于C8051F021和ADS7846的触摸屏系统设计

2011-06-02 10:57:56来源: 互联网
0 引言
    随着现代电子产品设计技术的不断发展,电子产品的设计,尤其是人机交互界面的设计越来越趋向于人性化。触摸屏凭借其独特的操作特性,应用日益广泛,它配合微控制器使用,能使嵌入式设备或手持式设备具有更加良好的人机交互界面,操作更加方便快捷。本文给出了一个基于C8051F021单片机ADS7846触摸屏控制器的触摸屏控制系统的设计方法。


1 触摸屏工作原理
    触摸屏有电阻式、电容式、红外线式、表面声波式等多种。其中电阻式触摸屏是目前应用较为广泛的一种,可分为四线、五线、七线等几类。其中四线制电阻式触摸屏采用的是四线电阻模拟量技术,即两个阻性层工作时,每层均加有5 V恒定电压,一个竖直方向,一个水平方向,含四根导线;其特点主要是传输反应快,解析度高,稳定性好,一次校正,不易漂移,比较适合于工业控制领域,但使用时要注意防止外导电层被划伤。
    电阻式触摸屏实际上是一种传感器,它采用分压器原理将矩形区域中的触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压,图1所示是其原理图。四线制触摸屏一般包含两个阻性层:其中一层在屏幕的左右边缘各有一条垂直总线,而另一层在屏幕的底部和顶部各有一条水平总线。为了在X轴方向进行测量,可将左侧总线偏置为0 V,右侧总线偏置为VREF,并将顶部或底部总线连接到ADC,这样,当两个阻性层相接触时(即有触摸时)即可作一次测量;为了在Y轴方向进行测量,可将底部总线偏置为0 V,顶部总线偏置为VREF,并将左侧或右侧总线连接到ADC,这样,当两个阻性层相接触时,即可对电压进行测量;该屏最理想的连接方法是将偏置为VREF职的总线接在ADC的正参考输入端,而将偏置为OV的总线接在ADC的负参考输入端。

2 系统的硬件设计与实现
2.1 C8051F021的主要功能特点
    本系统选用性能优良且成本较低的SOC单片机C8051F021作为控制核心。它是完全集成的混合信号系统级MCU芯片,具有32个数字I/O引脚。其主要的内部资源有8通道12位ADC,2通道12位DAC,4 KB的RAM,64 KB的FLASH,以及硬件实现的SPI、SMBus/I2C和两个UART串行接口,同时带有时钟振荡器,看门狗定时器,VDD监视器,温度传感器等。其所有模拟和数字外设均可由IDE软件使能/禁止和配置。同时,它还采用了与8051兼容的CIP-51微控制器内核,因采用流水线结构,其指令执行速度有了很大的提高。此外,C8051F021还配置了标准的JTAG接口,在IDE软件的支持下,可对安装在最终产品上的MCU进行非侵入式、全速、在系统调试。该器件的封装为TQFP-64,可在工业温度范围内(-45℃~+85℃)使用2.7~3.6 V的电压工作。

2.2 ADS7846的主要功能和特点
    ADS7846是BB公司生产的一种四线制触摸屏控制器。可广泛应用在电阻式触摸屏系统中。ADS7846的核心是一个具有采样和保持功能的12位逐次逼近式A/D转换器,其转换速率可达125kHz.且分辨率可编程为8位或12位。该器件不仅具有X、Y坐标测量功能,还具有电池电压、芯片温度、触摸压力和外模拟量4种测量功能,其工作方式可由控制字决定,片内的6选1模拟多路开关可根据微控制器送来的命令字来选择6个电压量之一(X+、Y+、Y-、VBAT、TEMP、AUX-IN),并将其送入A/D转换器转换,然后再通过SPI接口将转换值送入微控制器。此外,ADS7846还集成有触摸识别电路,当检测到有触摸时,该电路会在PENIRQ(笔中断)引脚输出一个低电平信号,并以该信号向微控制器提出测量触点坐标的中断请求。该芯片采用单电源供电,工作电压为2.2~5.25 V,且内部自带+2.5 V的参考电压。
2.3 C8051F021和ADS7846的硬件接口
    基于C8051F021单片机和ADS7846触摸屏控制器的触摸屏控制系统的硬件接口电路如图2所示。

    图2中。TX+、TX-、TY+、TY-为位置输入端,分别对应四线制电阻式触摸屏的四线制接口:
    BUSY为忙信号指示,可在数据转换时持续一个时钟周期的高电平状态,当TCS为高时,BUSY为高阻状态:
    TCS为片选输入,只有当TCS为低时,串行数据才可以从DIN读入;
    DIN为串行数据输入,在DCLK的上升沿读入数据;
    DOUT为串行数据输出,用于输出转换后的触摸点位置数据,12位工作方式下,其最大为4095,可在DCLK的下降沿输出数据,当TCS为高时,DOUT为高阻状态;
    DCLK为外部时钟输人引脚,其输入时钟信号的频率决定了电路的转换速度,其推荐占空比为40%~60%;
    PENIRQ为笔中断引脚。工作时应通过10~100 kΩ电阻器上拉,当有触摸事件发生时,可向微控制器申请中断服务;
    VREF为A/D参考电压输入;
    TCS、DCLK、 DIN、 BUSY、DOUT、PENIRQ分别接C8051F021的P1.0、P1.1、P1.2、P1.3、P1.4、PO.3。另外,IN3、IN4为两个附属A/D输入通道,本系统没有用到,使用时可将其接地。


3 系统软件的设计与实现
    ADS7846可通过片内模拟多路开关的切换,将X+/Y+端接VCC,将X-/Y-端接地,并将X+/Y+和X-/Y-以差分形式接到A/D转换器的输入端。这样,当点击触摸屏的不同位置时,输入到A/D转换器中的电压就不相同,然后再经A/D转换后,就可得到触点的输出值,该输出值与触点的位置成近似线性关系。ADS7846通过一般控制字来设置工作方式,其控制字如表1所列。

    在表1中,S为数据传输起始标志位,该位必为“1”;A2~A0用于通道选择;MODE用来选择A/D转换精度: “1”选择8位, “0”选择12位;SER/DFR选择参考电压的输入模式;PD1、PD0选择省电模式: “00”为省电模式,可在两次A/D转换之间掉电,且允许中断,而“01”同“00”相似,但不允许中断; “10”为保留; “11”为禁止省电模式。
    ADS7846与C8051F021之间通过标准的SPI接口相连。并由C8051F021启动3次SPI传送来完成转换。第1次SPI传送由C8051F021向ADS7846发送控制字,含起始位、通道选择、8/12位模式选择、差分/单端选择和掉电模式选择;后两次SPI传送则是C8051F021读取A/D转换后的结果数据,至此便完成了ADS7846和C8051F021之间的一次通信。其数据传送时序如图3所示。

本系统中的触摸屏应用流程图如图4所示。

    在编程过程中,通常应该注意以下问题:
    (1) C8051F021的初始化,一般还会包括显示模块的初始化等;
    (2)DS7846的初始化,一般包括寄存器和笔中断的初始化等;
    (3)防止抖动和连击,通常需要加入消抖子程序和延时子程序;
    (4)减小测量误差,往往应采用多次测量并加入软件滤波子程序;
    (5)触摸屏与液晶屏的坐标系不一致,还必须加入坐标变换子程序。


4 结束语
    本文给出了一个基于C8051F021单片机和ADS7846触摸屏控制器的触摸屏控制系统的设计方法。讨论了在触摸屏控制系统开发过程中的若干软、硬件问题。在工程实际中,本系统经过多次测试,效果良好。

关键字:触摸  触摸屏  系统  系统设计

编辑:eeleader 引用地址:http://www.eeworld.com.cn/gykz/2011/0602/article_6275.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
触摸
触摸屏
系统
系统设计

小广播

独家专题更多

TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved