1 引言
触摸屏越来越广泛地应用于嵌入式系统中。
不同的应用领域触摸屏的设计方式也各不相同,一般有以下三种: ①应用触摸屏模块。触摸屏模块提供标准的硬件接口与应用系统(一般为PC 或X86架构的工控机) 相连,安装驱动程序后即可工作,基本无需开发; ②扩展触摸屏控制器。这是嵌入式系统中设计触摸屏普遍使用的方法。常用的触摸屏控制芯片有ADS7843 ,ADS7846 等。这些芯片内部集成了A/ D 转换器和触摸屏的驱动电路,同时要设计一定的软件; ③与前面方式②相仿,有些处理器集成了A/ D 转换器,通过I/ O 口模拟触摸屏的驱动信号也可实现触摸屏的控制。
随着芯片技术的发展,处理器内部的资源越来越丰富。如韩国三星半导体公司的32 位ARM处理器S3C44B0X 芯片,其内部集成了外部存储器控制器、LCD 控制器、4 个DMA 通道、2 通道异步UART 单元、1 个同步串行口(SIO) , 1 个多主I2C总线控制器、1 个I2S 总线控制器, 5 通道PWM 定时器及1 个内部定时器、71 个通用I/ O口、8 个外部中断源、实时时钟、8 通道10 位ADC等。由于其内部集成了10 位的A/ D 转换器,可以通过S3C44BOX 的I/ O 口模拟触摸屏的驱动信号实现触摸屏的控制。
2 触摸屏工作原理
电阻式触摸屏是一块4 层的透明的复合薄膜屏,如图1 所示,最下面是玻璃或有机玻璃构成的基层,最上面是一层外表面经过硬化处理从而光滑防刮的塑料层,中间是两层金属导电层,分别在基层之上和塑料层内表面,在两导电层之间有许多细小的透明隔离点把它们隔开。当手指触摸屏幕时,平常绝缘的两层导电层在触摸点位置就有了一个接触,触摸屏的两个金属导电层是触摸屏的两个工作面,在每个工作面的两端各涂有一条银胶,成为该工作面的一对电极,若在一个工作面的电极对上施加电压,则在该工作面上就会形成均匀连续的平行电压分布。如图2 所示,每个工作面有两个电极对,当在X 方向的电极对上施加一确定的电压,而Y 方向电极对上不加电压时,在X 平行电压场中,触点处的电压值可以在Y +(或Y2) 电极上反映出来,通过测量Y + 电极对地的电压大小,便可得知触点的X 坐标值。同理,当在Y电极对上加电压,而X 电极对上不加电压时,通过测量X + 电极的电压,便可得知触点的Y坐标。
图1 触摸屏的触摸示意图
图2 测量关系
3 S3C44BOX与触摸屏的接口电路
在该系统中没有使用专用的控制器,简而代之的是用了四个三极管(两个NPN 和两个PNP) ,外加一些偏流电阻、上拉电阻和滤波电容组成,如图3 所示,其中:TS_A ,TS_B ,TS_C和TS_D 分别由S3C44B0X 的GPC0 , GPC1 , GPC2 和GPC3 控制。X+ 和Y+ 分别连接到S3C44B0X的A/ D 转换输入接口AIN0 和AIN1 上。TS_A 和TS_C在X方向施加正向电压时,在Y方向检测到X坐标的对应值,同理,TS_B 和TS_D 在Y方向施加正向电压时,在X方向检测到Y坐标的对应值,分别由AIN0 和AIN1 采集。
图3 触摸屏的接口电路
为了减少系统功耗和触摸屏所占CPU 资源,只在有落笔时触摸屏控制器才启动扫描,通过A/D 转换得到坐标的对应值,因此需在外部设计落笔检测电路,如图4 所示。中断连在EXTINT2上,设置中断为上升沿触发,平时为低, 按下屏时变高产生中断。
图4 落笔检测电路
4 触摸屏的状态
在编写软件前, 要先对触摸屏的状态有所了解,在触摸屏的整个工作过程中,总共有3 个状态:空闲态、X 通道态和Y通道态。
在没有触摸的时候,触摸屏处于空闲态,此时,为了便于接收中断,应设置TS_A = 1 ,TS_B =1 ,TS_C = 0 和TS_D = 1.为了获得触点的X轴坐标,需要把触摸屏设置成X通道态,即TS_A= 0 ,TS_B = 1 ,TS_C = 1 和TS_D = 0.此时,通过测量Y + (AIN1) 获取X 通道上的坐标。
同理,为了获得触点的Y轴坐标,需要把触摸屏设置成Y通道态,即TS_A = 1 ,TS_B = 0 ,TS_C= 0 和TS_D = 1.此时,通过测量X+ (AIN0) 获取Y通道上的坐标。
5 系统的软件设计
整个系统软件包括触摸屏初始化、落笔中断服务程序,AD 测量子程序、滤波程序和坐标转换程序。当有触摸时, EXTINT2 变为高电平,产生中断。由S3C44B0X 响应该中断请求,进入落笔中断服务程序,在该程序中,启动AD 测量子程序,读取AD 转换结果,从而得到触点的坐标。整个过程,触摸屏在空闲态,X 通道态和Y 通道态之间转换,如图5 所示。
图5 触摸屏的状态转换
系统软件中,初始化程序、滤波程序和坐标转换程序是一般常规通用程序。AD 测量子程序是获得X 轴和Y轴坐标的关键部分,其程序如下:
/ / 获取当前的坐标
void TouchADC(uint16 3 x , uint16 3 y)
{
int i ;
rADCPSR = 10 ;
/ / 切换为X 通道态准备A/ D 转换
Set TouchX() ;
Delay(1000) ;
{
/ / 启动AIN1 通道A/ D 转换
rADCCON = 0x1 | (1 < < 2) ;
while (rADCCON & 0x1) ;
while ( ! (rADCCON & 0x40) ) ;
for (i = 0 ; i < rADCPSR ; i + + ) ;
3 x = rADCDAT ;
}
rADCPSR = 10 ;
/ / 切换为Y通道模式准备A/ D 转换
Set TouchY() ;
/ / 在X/ Y通道切换时要延时以使触摸屏稳定下来
Delay(1000) ;
{
/ / 启动AIN0 通道A/ D 转换
rADCCON = 0x1| (0 < < 2) ;
while (rADCCON & 0x1) ;
while ( ! (rADCCON & 0x40) ) ;
for (i = 0 ; i < rADCPSR ; i + + ) ;
3 y = rADCDAT ;
}
/ / 切换为空闲态,等待中断发生
Set TouchIdle() ;
/ / 输出显示X ,Y坐标数值
Out Put (0 ,″(X ,Y) = ( %3d , %3d) n″, 3 x , 3 y) ;
}
6 结语
触摸屏已成为现代嵌入式设备人机交互的首选输入设备。本文详细介绍了触摸屏的工作原理,以三星公司ARM7 内核芯片S3C44B0X 为基础,完成了触摸屏的软硬件设计,实践证明系统稳定可靠,满足了在复杂的多任务环境中触摸屏快速响应的要求。
上一篇:财政补贴:LED台厂进入大陆照明市场的拦路虎
下一篇:触摸屏原理及在单片机系统中的应用
推荐阅读最新更新时间:2023-10-17 15:08
Vishay线上图书馆
- 选型-汽车级表面贴装和通孔超快整流器
- 你知道吗?DC-LINK电容在高湿条件下具有高度稳定性
- microBUCK和microBRICK直流/直流稳压器解决方案
- SOP-4小型封装光伏MOSFET驱动器VOMDA1271
- 使用薄膜、大功率、背接触式电阻的优势
- SQJQ140E车规级N沟道40V MOSFET
- MathWorks 和 NXP 合作推出用于电池管理系统的 Model-Based Design Toolbox
- 意法半导体先进的电隔离栅极驱动器 STGAP3S为 IGBT 和 SiC MOSFET 提供灵活的保护功能
- 全新无隔膜固态锂电池技术问世:正负极距离小于0.000001米
- 东芝推出具有低导通电阻和高可靠性的适用于车载牵引逆变器的最新款1200 V SiC MOSFET
- 【“源”察秋毫系列】 下一代半导体氧化镓器件光电探测器应用与测试
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- 艾迈斯欧司朗发布OSCONIQ® C 3030 LED:打造未来户外及体育场照明新标杆
- 氮化镓取代碳化硅?PI颠覆式1700V InnoMux2先来打个样
- 从隔离到三代半:一文看懂纳芯微的栅极驱动IC
- AMD推出第二代Versal Premium系列产品:首款PCIe 6.0和CXL 3.1的SoC FPGA
- 红帽宣布达成收购Neural Magic的最终协议
- 5G网速比4G快但感知差!邬贺铨:6G标准制定应重视用户需求
- SEMI报告:2024年第三季度全球硅晶圆出货量增长6%
- OpenAI呼吁建立“北美人工智能联盟” 好与中国竞争
- 传OpenAI即将推出新款智能体 能为用户自动执行任务
- 尼得科智动率先推出两轮车用电动离合器ECU
- ASML在2024 年投资者日会议上就市场机遇提供最新看法
- AMD将裁员4%,以在人工智能芯片领域争取更强的市场地位
- Arm:以高效计算平台为核心,内外协力共筑可持续未来