Loading
新闻中心库存中心价格中心PDF中心图片中心
ICGLE 电子技术支持中心,为电气人员和相关企业提供全面的信息(IC技术\IC库存\IC图片\PDF资料等)服务
总线设计PCB设计单片机DSPARM
JAVA驱动设计C/C++汇编J2EE网络协议中间件技术嵌入式系统无线通信通信网络模拟技术接口电路显示光电传感与控制EDA/PLD
气流体控制电子产品电机及工具通信设备仪器仪表电线电缆建筑电气低压电器高压电器电源工控自动化广电设备医疗器械More..
电源设计仪器仪表技术专递电路图片电子专栏储存技术汽车电子测量测试音响技术家用电器
成功方案市场分析行业标准应用前沿芯片应用综合专区
嵌入式操作系统Nucleus下触摸屏驱动的开发
来源:TI 全球网站   作者:
字体大小:[大][中][小]

  摘要: 详细分析在Nucleus下触摸屏驱动程序的开发,针对触摸屏控制芯片ADS7846,分析其配置、工作原理,以及如何加载到操作系统中。这些方法为手机,PDA触摸屏驱动的开发有一定的借鉴意义

  关键词:RTOS Nucleus 触摸屏 ADS7846

  Nucleus 是一款优秀的嵌入式实时操作系统(RTOS),具有抢占式和时间片轮转任务调度方式,主要用在时间苛刻的嵌入式应用当中。大约95%的Nucleus用ANSI C 写成,作为一个库加载到应用代码当中。目前手机行业有很多使用Nucleus。

  1. 触摸屏控制电路的硬件结构

  触摸屏控制电路主要有一下四部分组成:进行数据处理、控制功能的MCU,一个四线电阻式触摸屏和控制芯片ADS7846, 以及显示触摸点坐标的显示部分。

 

  在这里主要对触摸屏的硬件电路和驱动设计做一个较详细的介绍

  ADS7846是美国TI公司推出的一款四线制电阻式触摸屏控制器,通过机械式触摸,可以迅速得到触摸点位置信号。它是一种典型的带有连续逼近型寄存器的A/D转换器,内部自带2.5V参考电压,一个和微处理器相连的SPI接口,同时具有测量温度、触摸压力和电池电压的功能,有可编程 的8位或12位的分辨率。在2.7V电压和125kHz的转换速率下, 功耗仅为750uW,在 power down 模式下仅为0.5uW。由于这些优良的性能,在移动设备中有大量的应用。下表为控制器的主要引脚

引脚名
功能描述
+Vcc
逻辑正电源
X+,Y+
接触摸屏正电极
X-,Y-
接触摸屏负电极
GND
接地
Vbat
电源监控输入端
PENIRQ
中断输出端
Vref
参考电压输入输出端
DOUT
串行数据输出端
DCLK
外部时钟输入端
DIN
串行数据输入端
BUSY
忙信号输出端(低电平有效)
CS
片选

  工作原理:图2是触摸屏控制器和MCU的连接电路图。当ADS7846检测到触摸屏被按下时,它就会产生一个中断信号(PENIRQ为低电平)给MCU,MCU选中ADS7846控制器(CS为低),然后通过串行口DIN向ADS7846发送8位控制字,此后DOUT在DCLK的下降沿得到12位的输出。图3为ADS7846在每次转换为24个时钟周期下的时序图。

  2.Nucleus下ADS7846的驱动设计

  驱动设计的目的是将触摸坐标即时的转换为显示坐标,直接在LCD屏上显示出来,然后经过输入识别软件的处理(例如汉王的识别软件),识别出输入的字符,汉字等。

  2.1 当触摸屏按下时,会产生一个中断,应当为ADS7846配置一个中断。在Nucleus下,中断分两种,Low level 中断(Lisr)和High level 中断(Hisr),一般的中断服务程序在Hisr当中处理。一个较为复杂的,多任务嵌入式系统当中,中断服务程序(优先级比普通任务的优先级高)不能占用太多的时间,否则可能会导致其他任务不能及时得到响应。例如在触摸屏中断服务程序的处理,在较坏的情况下,触摸屏可能一直被按下去,其Hisr就会占用很多的资源,导致别的任务(例如一个手机应用当中,可能导致接受电话的任务不能处理,而这是不能让人接受的,不能想象当你写短信时不能接受电话的情况,)所以当中断服务程序需要占用CPU较多的处理时间时,一般要在另外激活一个任务,由任务调度机制来处理和系统中其他任务的关系,它的流程图如图四所示,实践证明,这种处理方法是较好的处理方法。

 

  2.2 这里不打算对怎么创建一个Lisr,Hisr和激活一个任务做太多的介绍,详细可以看Nucleus的文档。重点介绍ADS7846的驱动程序的处理和如何将所得数据在LCD上正确显示出来。

  2.2.1 ADS7846处理程序的流程图如图五所示

 

  ADS7846在计算触摸坐标时有两种方式,single ended模式和difference 模式。Single ended模式利用ADS7846内部参考电压或者外部参考电压,得出的结果是一个电压的AD结果。 Difference 不需要内部或者外部的参考电压,这种模式得出的结果是触摸点在触摸屏位置上的百分比。这种模式可以消除参考电压波动对换算结果的影响。 2.2.2 ADS7846换算结果在LCD屏幕上的映射

  假设LCD是个160 x 128 像素大小的屏幕,如图六所示,假设A点的坐标为(0,0),那么可知道B,C,D是(128,0),(0,160),(128,160)。通过ADS7846得出A,B,C,D的转换结果分别是(Xa,Ya),(Xb,Yb),(Xc,Yc),(Xd,Yd),再得出屏幕中任意点X转换结果(Xx,Yx),那么X的坐标(x,y)可以通过下式算出来:

X=Xb -Xa=Xd -Xc
Y=Yc -Ya=Yd -Yb
x = (Xx-Xa) * 128 /X
y = (Yx -Ya) * 160/Y

  得出触摸屏的一系列坐标以后,作为手写识别软件的输入,就可得出输入的汉字,字符等。

  3. 结论

  本文简单介绍了Nucleus下触摸屏驱动的开发,由于当前触摸屏的应用越来越广泛,嵌入式系统的应用范围也越来越广,将对其他嵌入式系统下驱动的开发有一定的借鉴意义。

  4.本文提供了部分源代码。

Upload by 小刘(2005-12-30)
IC
IC
推荐技术文章:
·实时操作系统μC/OS-II在MCF....
·嵌入式实时操作系统μC/OS- II....
·嵌入式系统μC/OS-II在LPC2....
·uC/ OS - II 在ARM系统....
·嵌入式系统中入侵检测的设计与实现..
·基于AT91R40008的嵌入式GP....
·uC/OS-II在ARM上的移植体会..
·uC/OS II针对TMS320C3....
·μC/OS的应用和扩展..
·三种嵌入式操作系统的分析与比较..
·嵌入式实时操作系统Nucleus P....
·嵌入式实时操作系统ECOS在S3C2....
·如何构建eCos嵌入式系统..
·使用图形化的开发环境——LabVie....
·网络只发不收怎么解决..
·量身订制的DSP元件设计策略..
·达芬奇技术助力,ISS加速实现车辆事....
·支持蓝牙和无线USB的单芯片解决方案..
·TI、联合信源携手共推业界首款支持A....
·ARM公司推出三维图形系统解决方案..
·集成电路应用与抗辐射加固(上)
·基于嵌入式WEB的网络视频监控系统的..
·基于Linux的嵌入式工业测控系统
·直流调制改善交直流混联系统暂态稳定性..
·DAS存储技术在企业中是如何具体应用
·智能模糊给水控制器的设计开发
·汽车电子测试系统解决方案综述
·打破Wi-Fi手机高耗电量桎梏,博通..
·R&S提供MIMO接收机测试的单台仪..
·基于低压差线性LED驱动器的手机背光..
·多时钟域下同步器的设计与分析
·新一代机顶盒与液晶电视用的低价简易开..
·基于MF RC500的非接触式IC卡..
·C8051F基于ZNE-100PT的..
·A&PHC—2000 无线智能防盗报..
·基于FPGA的单片彩色LCD投影机设..
·基于MLX90121多协议RFID收..
·基于嵌入式系统的隔离硬件设计
·T-MMB手机电视系统的实现
·Silicon Lab发布SLIC与..
IC
IC

©2007 版权归ICGLE所有   页面执行时间:62.500毫秒