datasheet

基于LPC2210和μC/OS—II的触摸屏触摸点数据采集系统

2018-02-12来源: eefocus 关键字:LPC2210  μC  OS—II  触摸屏  数据采集系统

  本文提出了基于ARM7系列LPC2210微控制器和嵌入式操作系统μCOS—II来实现触摸屏触摸点数据采集系统的设计,并完成了微控制器与上位机之间的物理层电路转换,实现了基于LIN总线的数据通信,能够在上位机得到触摸点的精确坐标以及控制菜单信息,并且准确可靠、传输速率高。

  嵌入式系统实际上是“嵌入式计算机系统”的简称,是相对于通用计算机系统而言的,根据应用的要求,将操作系统和功能软件集成于计算机硬件系统中,以应用为中心,计算机技术为基础,实现软件与硬件的一体化。其适用于对功能、可靠性、成本、体积和功耗等有严格要求的专用计算机系统。


  触摸屏又称为“触控屏”、“触控面板”,是一种附加在显示器表面的透明介质。触摸屏作为一种新的输入设备,是目前最简单、方便、自然的一种人机交互方式。通过使用者的手指触摸,该介质实现对计算机的操作定位,大大简化了计算机的输入方式,实现零距离操作。而在触摸屏的使用中,对触摸点的精确定位至关重要,本文提出了一种触摸屏的坐标算法,该算法具有良好的可移植性和扩展性。

  1 研究背景

  触摸技术已经非常成熟,在欧美和日本已经有近20年的发展历史。而在技术发展上,欧美的触摸屏以电容式、表面声波式及5线电阻式为发展方向,产品以大尺寸居多。日本触摸技术以4线电阻式为主要发展方向,产品以中小尺寸为主,而中国台湾也以4线电阻式居多。

  目前,触摸技术大量应用于嵌入式系统中,结合了先进的计算机技术、半导体技术以及电子技术,形成嵌入式高端产品。其以体积小、功耗低、处理能力强等诸多优点,在通信、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统经历了20多年的发展,已经从普通的低端应用进入到一个高、低端并行发展,且不断提升低端应用的时代,触摸技术在嵌入式系统既有很强的应用价值和市场前景,又有很重要的实际意义。

  2 设计方法

  2.1 系统总体设计

  系统采用Philipa公司的LPC2210作为CPU,由于其片内无程序存储器,所以需要外扩Flash,还可以扩展静态RAM。LPC2210最小系统需要2组电源、复位电路、晶振电路和程序存储器等,触摸屏接口芯片采用ADS7843作为设备控制器,整个系统可实现对触摸屏触摸点的数据采集,系统结构框图如图1所示。

  2.1.1 LPC2210芯片简介

  LPC2210是基于支持实时仿真和嵌入式跟踪的16/32位ARM7核的微控制器,对代码规模有严格控制的应用可使用16位Thumb模式,可将代码规模降低超过30%,而性能的损失却很小。

  LPC2210采用144引脚封装,通过配置总线,最多可提供76个GPIO。其拥有极低的功耗、多个32位定时器、8路10位ADC、PWM输出,以及多达9个外部中断。它们特别适用于工业控制、医疗系统、访问控制和POS机等,又由于内置了宽范围的串行通信接口,非常适合于通信网关协议转换器、嵌入式软Modem以及其他各种类型的应用。

  2.1.2 ADS7843芯片简介

  ADS7843是一种专门对触摸屏输入设备进行控制的芯片,其主要完成两件事:一是完成电极电压的切换,二是采集接触点处的电压值。

  ADS7843是一款连续近似记录(SAR)的A/D转换器,具有同步串行接口,内置12位模/数转换、低导通电阻模拟开关,根据微控制器发来的不同测量命令使相应的模拟开关导通,向触摸屏电极对提供电压,并把触摸点位置的电压引入A/D转换器,以其低功耗和高速率等特性被广泛应用。

  2.2 系统硬件设计

  触摸屏的数据采集系统主要由两个部分组成:触摸屏的控制和数据的传输。

  触摸屏的控制是通过微控制器进行异步数据传送,向ADS7843发送控制字来读取ADS7843的A/D转换结果,微控制器完成一次触摸屏数据采集,两者之间需要进行3次通信。微控制器读取到A/D转换结果后,对数据进行处理,得到触摸点的坐标。为了得到坐标值,可以通过串

  口传输到上位机进行显示。数据经过串口进行传输的方法很多,从成本的角度考虑,选择LIN总线来进行数据的传输,结构简单、且容易实现。硬件电路如图2所示。

  2.3 系统软件设计

  系统的软件平台核心为μC/OS—II,它是一个源码公开、可移植、可固化、可裁剪的占先式多任务管理的实时操作系统内核。它已在相当多的系统中得到应用,是一个经实践证明稳定可靠的内核,且其核心代码短小精悍、简单易学。在对系统进行软件设计之前,必须要先完成μC/OS—II的移植,与移植有关的代码包括一个汇编文件OS_CPU_A.ASM、一个C程序文件OS_CPU_C.C和一个头文件OS_CPU.H,根据处理器的不同,移植所要编写和修改的代码数不同,代码移植好以后,应编写一个简单的应用程序对其进行测试。

 

  2.3.1 触摸屏ADS7843软件设计

  系统上电以后,触摸屏上会显示相应的控制菜单,而每个控制菜单都具有相应的执行程序。设置触摸屏接口为等待中断模式,等待触摸屏被按下。如果中断发生,微控制器发送信号控制ADS7843操作,通过触摸屏X+极将触摸信号输入到A/D转换器,同时打开Y+和Y一驱动。ADS 7843转换结果为二进制格式,如果选取8位的转换精度,1LSB=VREF/256;如果选取12位的转换精度,1LSB=VREF/4 096,将转换结果与1LSB相乘就可以得到触摸点的电压VOY。

  由于触摸屏导电层分布均匀,则有VOY/Y—VCC/H,其中,VOY是从X+极采集到的电压值,VCC为ADS7843的电源电压,H为触摸屏导电介质的高度,从而得到当前Y方向的坐标,同理也可以得到X方向的坐标,ADS7843坐标值测量流程如图3所示。

   2.3.2 触摸屏坐标算法

  微控制器得到触摸点的坐标以后,要作相应的处理。而在动作之前,微控制器还必须要知道触摸屏中哪个控制菜单被按下,这样才能去执行相应菜单的程序。设控制菜单的右下角坐标为Xa、Ya,左上角坐标为Xb、Yb,只需要触摸点的坐标X在Xa和Xb之间,Y在Ya和Yb之间,则认为是该控制菜单被按下。在程序中定义一个数组S[],数组中每连续的5个值描述一个菜单信息,前两个代表控制菜单右下角坐标,第3、4个代表控制菜单左上角坐标,第5个代表控制菜单,触摸屏坐标算法流程图如图4所示。

     结语

  触摸屏是集信息显示、通信、处理和控制于一体的输入设备,它大量应用于各个领域,系统采用Philips公司的LPC2210微控制器作为主控芯片,其内部资源丰富,可以对系统功能进行扩充。在对触摸屏进行数据采集时,刷新频率高,保证了数据的准确和不丢失,并实现了微控制器与上位机之间通过半双工的方式进行通信,结构简单、传输可靠,大大降低了成本。整个系统可移植性强,具有一定的实用价值。


关键字:LPC2210  μC  OS—II  触摸屏  数据采集系统

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/article_2018021237769.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:网络存储NAS系统的设计
下一篇:用SD卡方式进行嵌入式设备操作系统的自动升级的实现

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

关于LPC1768的存储地址、运行地址、向量地址

对于编写程序而言,程序的运行地址很重要。默认情况下都是直接按照软件的模块进行设置即可,此前并没有太过于关心,最近在研究iap的时候需要做到这个方面的改进。以NXP官方提供的IAR例程为例,IAR既可以做flash的调试还支持SRAM的调试,那这是如何做到的呢?在程序中,有以下的一段切换代码:在FLASH模式下:在RAM模式下:翻译以后,可以得到以下内容:当FLASH调试时,设置向量地址为:0x00000000;当RAM   调试时, 设置向量地址为:0x10000000;LPC1768的为512K的flash和32K的sram,其地址如下图所示:因此答案很清除,当要在flash调试时,将向量地址指向flash
发表于 2018-11-30
关于LPC1768的存储地址、运行地址、向量地址

LPC1788 SystemInit函数分析

void SystemInit (void){#if (CLOCK_SETUP)                       /* Clock Setup                        */   LPC_SC->SCS       = SCS_Val;  /*主振荡器使能   
发表于 2018-11-30

LPC1768菜鸟学习之ADC

;     //CLKDIV=4                          (1<<21);               /* enable ADC */ }ADC时钟不能超过13MHz,,ADC CLK=PCLK/(CLKDIV+1).LPC_ADC->ADCR |=  (1<<24);         
发表于 2018-11-30

LPC11XX 使用keil for arm 和j-link连接问题

、 J-link连接问题。 Lpc1114采用的是SW方式连接。Port里改sw方式。不能使用jatg方式做链接。否则会出现如下问题 2、 使用SW方式后,还要修改 3、 全勾或全不选。
发表于 2018-11-30
LPC11XX 使用keil for arm 和j-link连接问题

Keil4 Ulink2调试Cortex-M3 LPC1788的配置

上两张图,懂的自然看得懂。 
发表于 2018-11-30
Keil4 Ulink2调试Cortex-M3 LPC1788的配置

LPC2000 启动代码Start.s文件简要分析

;  EQU     1PLLCFG_Val      EQU     0x00000024 ;表示向CFG配置寄存器写入的值为0 01 00100,跟系统所需的频率有关。     ;LPC2119的主频最高是60MHz,振荡器的主频是10MHz     ;分频值为1,倍频值为4,所以主频为40Mhz
发表于 2018-11-29

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">