基于ARM处理器的TSC2046触摸屏控制器的应用

摘要:触摸屏技术经过十几年的发展已经成为一种方便、经济的人机界面输入手段。TSC2046是四线电阻式触摸屏控制器,其核心是一个具有采样和保持功能的12位逐次逼近式A/D转换器。以飞利浦公司的ARM芯片为基础,通过TSC2046触摸屏控制器和四线电阻式触摸屏构成硬件基础,在此基础上,开发了触摸屏面板控制程序。该触摸屏已应用于实际项目中,触摸效果良好。
关键词:TSC2046;触模屏;LPC2132芯片;控制器

0 引言
    随着信息技术的不断发展,嵌入式系统正在越来越广泛地应用到消费类电子、通信设备等便携式电子类产品中。触摸屏由于其轻便、占用空间少、灵活等优点,已经逐渐取代键盘,成为嵌入式系统中最简单、方便、自然的一种人机交互方式。触摸屏分为电阻、电容、表面声波、红外线扫描等类型,其中使用最多的是四线或五线电阻触摸屏。四线电阻触摸屏是由两个透明电阻膜构成的,在它的水平和垂直电阻网上施加电压,就可通过转换面板在触摸点测量出电压而对应出坐标值。
    TSC2046是典型的逐次逼近寄存器型A/D变换器,其结构以电容再分布为基础,包含了取样/保持功能,支持低电压的I/O接口。本文介绍了利用飞利浦公司的LPC2100系列ARM芯片LPC2132、TSC2046和液晶屏实现人机互动。

1 触摸屏的工作原理
    本文选用的触摸屏为四线电阻触摸屏,由一个4层的复合薄膜,附着在显示器表面与显示器配合使用。每一导电层为触摸屏的一个工作面,每个工作面的两端各涂一条银胶,称为该工作面的一对电极,分别称为X电极对和Y电极对。触摸屏工作时,上下导体层相当于电阻网络。当某一层电极加上电压时,会在该网络上形成电压梯度。如有外力使得上下两层在某一点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。比如,在顶层的电极(X+,X-)上加上电压,则在顶层导体层上形成电压梯度,当有外力使得上下两层在某一点接触,在底层就可以测得接触点处的电压,再根据该电压与电极(X+)之间的距离关系,知道该处的X坐标。然后,将电压切换到底层电极(Y+,Y-)上,并在顶层测量接触点处的电压,便可得知触摸者的意图。测量触点坐标电原理图如图1所示。

a.jpg



2 TSC2046的工作方式和控制字
    TSC2046的输入方式分差分输入和单端输入两种,可设置为8位或12位工作模式。本文以12位差分输入模式进行工作。TSC2046的控制字如表1所示。

b.jpg


    表1中S为数据传输起止标志位,该位值恒为“1”。A2~A0用于对TSC2046输入通道的选择,确定触摸屏体输出模拟电压从哪个引脚输入。MODE用于确定A/D转换的精度,为0时选择12位,为1时选择8位。d.jpg确定输入模式,为0时选择差分模式,为1时选择单端模式。差分模式是一种比率度量转换方式,转换的结果总是触摸屏上分布的电阻值百分比,差分模式能有效消除内部开关电阻带来的转换误差。相应的差分输入模式下的输入配置如表2所示。

c.jpg

3 典型应用
    LPC2132是飞利浦公司的一款基于支持实时仿真的16/32位ARM7TDMI-S CPU的微控制器芯片,并带有16KB SRAM和64 kB嵌入的高速FLASH存储器,内置了宽范围的串行通信接口(范围从多个UART,SPI和SSP到两条I2C总线)、多个32位和16位定时器、1个改良的10位ADC、所有定时器上输出匹配的PWM特性、以及具有多达13个边沿或电平触发的外部中断管脚的32条高速GPIO线等硬件资源。
    LPC2132的最小系统设计如图2所示。

e.jpg

采用中断方式处理来自 TSC2046 的PENIRQ中断引脚的中断申请,在主程序中要设置相应的中断源。在实际应用中,采用查询PENIRQ中断引脚电平的方式,比较节省系统资源。
    根据TSC2046的Datasheet,TSC2046的控制字及数据传输格式见表1。选择控制字如下:0x94,即从触摸屏的“X+”引脚得到Y坐标的AD值;0xe4,从触摸屏的“Y+”引脚得到X坐标的AD值。
    触摸屏的相关驱动程序如下:
g.jpg

5 结语
    本文以ARM处理器的LPC2132芯片和TSC2046触摸屏控制器为硬件平台,设计了嵌入式系统触摸屏交互功能模块,此方法已经在实际项目中应用,触摸响应效果良好。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值