当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]ARM7202触摸屏接口设计方案

1 引言

  不同的应用领域触摸屏的设计方式也各不相同,一般有以下三种:⑴应用触摸屏模块。触摸屏模块提供标准的硬件接口与应用系统(一般为PC或X86架构的工控机)相连,安装驱动程序后即可工作,基本无需开发;⑵扩展触摸屏控制器。这是嵌入式系统中设计触摸屏普遍使用的方法,常用的触摸屏控制芯片有ADS7843、ADS7846等,这些芯片内部集成了A/D转换器和触摸屏的驱动电路,同时要设计一定的软件;⑶与前面方式⑵相仿,有些处理器集成了A/D转换器,通过IO口模拟触摸屏的驱动信号也可实现触摸屏的控制。
 

  ARM7202集成了ARM7TDMI CPU核、存储器管理单元(MMU)、8KB高速缓冲存储器(Cache),主频达70MHz。是一高性能嵌入式处理器。除触摸屏控制器外,其片内还包含了其他丰富的资源,如LCD控制器、SDRAM控制器、中断控制器、DMA 控制器等[1]。ARM7202与触摸屏的接口在软/硬件设计上有些与前面三种不同的方面。

  2 硬件设计

  2.1 电阻触摸屏原理

  电阻触摸屏是一多层的复合膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层塑料层,它的内表面也涂有一层透明的导电层,在两层导电层之间有许多细小的透明隔离点把它们隔开绝缘,如图1。当手指触摸屏幕时,平常绝缘的两层导电层在触摸点位置就有了一个接触,控制器检测到这个接触后,其中一面导电层接通Y轴方向的5V均匀电压场,另一导电层将接触点的电压引至控制器进行A/D转换,得到电压值后与5V相比即可得触摸点的Y轴坐标,如图2。同理得出X轴的坐标。这是所有电阻触摸屏共同的基本原理。

  

 

  2.2 ARM7202与触摸屏的接口

  ARM7202片上资源包含触摸屏控制器,用于控制4线电阻式触摸屏。在5路A/D转换通道中A0和A1是用于触摸屏坐标采集的,同时芯片提供ATSXP、ATSXN、ATSYP和ATSYN四根扫描线分别对X方向和Y方向进行扫描。ATSXP和ATSXN在X方向施加正向电压时,在Y方向检测到X坐标的对应值;同理ATSYP和ATSYN在Y方向施加正向电压时,在X方向检测到Y坐标的对应值,分别由A0和A1采集。为了减少系统功耗和触摸屏所占CPU资源,只在有落笔时触摸屏控制器才启动扫描,通过A/D转换得到坐标的对应值,因此需在外部设计落笔检测电路,如图3所示。图中IRLML6302和IRLML2402分别为PMOSFET和NMOSFET,作为开关管控制X方向和Y方向的扫描输出。PB7接上拉电阻,检测落笔中断,当有落笔时,PB7检测到低电平,触发中断。PB6为中断检测电路的使能信号,当PB6为高电平时,中断有效,触摸屏扫描无效;反之中断无效,触摸屏扫描有效。

  

 

  

[!--empirenews.page--]

 

  3 触摸屏控制程序机制

  不同的操作系统下对触摸屏的应用各有不同,但都包括了设备的初始化、设备读写及中断响应等基本模块。触摸屏的驱动程序涉及到两个中断:落笔中断和触摸屏A/D转换中断。所包含的程序模块有:触摸屏初始化、落笔中断服务程序、A/D中断服务程序、滤波程序和坐标转换程序。这里重点说明触摸屏的两个中断。

  触摸屏初始化程序完成外部电路的中断设置和采样率的设置,并将触摸屏的A/D中断和A/D转换器电源关闭,使外部电路中断有效。

  有落笔时,外部中断被触发,进入落笔中断服务程序。在落笔中断服务程序中清中断源,关外部中断,使外部中断电路无效,打开触摸屏中断和AD转换器电源。此时触摸屏电路开始扫描触摸屏。触摸屏A/D转换结束后,产生A/D中断,进入A/D中断服务程序。在触摸屏A/D中断服务程序中,清A/D中断,关触摸屏A/D中断,读A/D转换值。此时还要判断落笔是否继续,若无落笔,开外部电路中断,使外部中断电路有效,关A/D中断和A/D转换器电源,进入节能模式,如图4(a);若还有落笔,要继续开触摸屏A/D中断,使外部中断电路无效,触摸屏的A/D转换继续进行,如图4(b)所示。

  

 

  图4 触摸屏程序流图

  由A/D转换得到的值是触摸屏上触摸点的X坐标和Y坐标的值,要通过一定的方法转换为显示屏上的坐标。限于篇幅这里省略,其原理和实现方法见参考文献[2]。在A/D转换时,每次由A/D转换寄存器得到4组转换值,可以设计一个滤波程序以提高检测精度。

   [!--empirenews.page--]4 程序设计

 

  触摸屏的应用程序模块有:触摸屏初始化、落笔中断服务程序、A/D中断服务程序、滤波程序和坐标转换程序。初始化程序、滤波程序和坐标转换程序是一般常规通用程序。触摸屏驱动程序其核心是落笔中断和A/D转换这两个中断服务程序,以下是在uc/OS操作系统下触摸屏驱动程序的两个中断服务程序,其详细说明见注释。

  static void TouchPenDownISR(int level) //落笔中断服务程序

  {

  unsigned int status;

  status=*(volatile int *)PioCIS&0xfff;

  if (status & 0x80 )

  {

  *(volatile int *)PioCIC|=0x80; //清落笔中断

  *(volatile int *)PioCIM&=~0x80; //关落笔中断

  *(volatile int *)PioCDR&=~0x100; //使落笔中断检测无效,触摸屏扫描电路有效

  *(volatile int*)ADCCR&=~0x80; //开A/D电源

  *(volatile int*)ADCTPCR|=0x80|0x40; //触摸屏读有效,A/D中断有效

  }

  }

  static void TouchINIISR(int level) //触摸屏A/D转换中断服务程序

  {

  int x[4];

  int y[4];

  *adcisr |= 0x80; //清触摸屏A/D中断

  TouchSample(x,y); //得到X/Y方向数值

  *(volatile int*)ADCTPCR&=~(0x80|0x40); //触摸屏读无效,触摸屏A/D中断无效

  *(volatile int *)PioCDR|=0x100; //使落笔中断检测有效,触摸屏扫描电路无效

  if(*(volatile int *)PioCDR&0x80) //检测到起笔

  {

  *(volatile int *)PioCIC|=0x80; //清落笔中断

  *(volatile int *)PioCIM|=0x80; //开落笔中断

  *(volatile int *)ADCCR|=0x80; //关A/D电源

  *(volatile int*)ADCTPCR&=~(0x80|0x40); //触摸屏读无效,触摸屏A/D中断无效

  }

  else //如仍有落笔

  {

  *(volatile int *)PioCDR&=~0x100; //使落笔中断检测无效,触摸屏扫描电路有效

  *(volatile int *)ADCTPCR|=0x80|0x40; //触摸屏读有效,触摸屏A/D中断有效

  }

  }

  5 结束语

  根据上述对触摸屏工作机制的分析,笔者在实时嵌入式操作系统uc/OS下编写的触摸屏驱动程序应用于基于ARM7202的智能控制器,实践证明系统稳定可靠,满足了在复杂的实时多任务环境中触摸屏快速响应的要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Micro热插拔技术作为现代电子设备中常见的一种接口设计,其便捷性和灵活性得到了广泛应用。然而,关于Micro热插拔是否需要断电的问题,一直存在争议。本文将详细探讨Micro热插拔的原理、优缺点,以及在不同情况下是否需要...

关键字: Micro热插拔技术 现代电子设备 接口设计

其一,是把系统所需的外设和单片机连接起来,使单片机系统能与外界进行信息交换。如通过键盘、A/D 转换器等外部设备向单片机送入数据、命令等有关信息,去控制单片机运行;通过显示器、发光二极管、打印机等设备把单片机处理的结果送...

关键字: 单片机 外部总线 接口设计

摘 要 :视频监控系统是计算机应用中的重要领域之一。数字化摄像头网络化之后,监控系统正在不断引入新的功能,为使现有监控系统能更好地应对复杂环境,满足不同监控要求,就需要追加新功能,在系统架构与设计上进行调整。因此,如何将...

关键字: 智能监控 系统架构 模块化设计 接口设计 数据传输 深度相机

摘 要:给出了一种基于MAX7456的OSD系统的设计和实现方法,该方法利用ARM7进行配置和控制,并通过RS232及RS485接口实现配置参数的在线修改,可实现在视频信号中叠加显示字符、汉字及用户自定义图形。

关键字: ARM7 OSD MAX7456 视频监控

芯片可以实现最高60MHz的工作频率,有着较强的功能,能够满足嵌入式系统μC/OS—II及人性化的人机界面的要求。本设计中 LPC2148所有的接口都有使用。

关键字: ARM7 内核微控制器 以太网接口电路

1、引言 can总线是由德国bosch公司为现实汽车测量和执行部件之间的数据通讯而设计的、支持分布式控制及实时控制的串行通讯网络。can总线通讯的波特率可高达1mbps,最远距离可达10

关键字: 卫星 通信接口 CAN总线 接口设计

Xilinx FPGA 提供可简化接口设计的 I/O 模块和逻辑资源。尽管如此,这些 I/O 模块以及额外的逻辑仍需设计人员在源 RTL 代码中配置、验证、执行,并正确连接到系统的其余部分

关键字: FPGA Xilinx 存储器 接口设计 电源技术解析

引 言 PCI 总线(Peripheral Component Interconnect)是Intel公司推出的一种高性能32/64位局部总线,最大数据传输速率为132~264MB/s,是目前使用较为广泛的一种总...

关键字: pci总线 接口设计 数据采集 电源技术解析 雷达视频

实际上,每个产品设计必须经历数字提取和真实模拟世界。设计前期的一些考虑将焦点放在接口设计上。 20世纪后半叶的技术创新达到空前的速度。不像以前,这个时期的许多进

关键字: 接口设计 电源技术解析 建立桥路

随着工业技术进步,对数字控制伺服系统中执行效率和集成化程度的要求越来越高。比如用单处理器控制多个伺服系统时,对多通道A/D转换的效率要求较高。以往较多地使用多路模

关键字: ad7890 DSP 接口设计 电源技术解析 转换器
关闭
关闭