新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式系统的I2C触摸屏设计

基于嵌入式系统的I2C触摸屏设计

作者:时间:2011-09-23来源:网络收藏

引言

本文引用地址:http://www.eepw.com.cn/article/150178.htm

  随着计算机相关技术的发展,ARM是微处理器行业的一家知名企业,了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。ARM 公司是专门从事 RISC 技术芯片开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的 ARM 微处理器核。Linux具有开发源代码、内核稳定、可裁减性等特点,吸引着众多商业公司和自由软件开发者的目光,成为领域不可或缺的操作之一。

  1 电阻式的工作原理

  安装在显示屏的前端,主要由检测部件和触摸屏控制器两部分组成。按照工作原理和传输信息的介质不同,触摸屏可分为电阻式、电容感应式、红外线式以及表面声波式。当物品按在触摸屏上时,会产生压力,从而使触摸屏两导电层接通,一旦触摸屏检测部件监测到用户的触摸位置,就将获得的位置信息送入触摸屏控制器TSC2007,并对该写信号进行处理,将电压信号转换成数字信号,同时以中断的方式送至S3C2440处理器,计算出触点坐标。

  2硬件结构

  TSC2007是美国德州仪器(TI)公司推出的新一代4线制触摸屏控制器,它在与触摸屏配合使用时,一旦检测到笔或手指点触摸在屏上,可迅速得到该点的位置信号,从而达到在触摸屏表面上寻址的目的。

  TSC2007是典型的逐步逼近式A/D变换器,其结构以电容再分布为基础,包含了取样/保持功能。TSC2007的引脚与TPSC2003的引脚完全兼容,具有片内温度测量、触摸压力测量和预处理三个功能。TSC2007的接口,以标准模式、高速模式和超高速模式进行数据传输与通讯。为了与其他ARM芯片兼容,设计中没有使用S3C2440内置的A/D通道,而是采用了外扩控制器TSC2007的方法,通过总线方式与S3C2440通信。因此,设计中S3C2440的GPE14和GPE15分别作为总线的SCL和SDA线,其触摸屏控制器接口电路如图1所示,图中的SDA和SCL线都是双向的。

  3触摸屏的驱动

  在Linux系统中,设备驱动程序是一组相关函数的集合,它包括设备服务子程序和中断处理程序。其中的设备服务子程序包含了所有与设备相关的代码,每个设备服务子程序只处理一种设备或者紧密相关的设备,从设备无关的软件中接受抽象的命令并执行它。设备驱动程序利用结构file_operations与文件系统联系起来,设备的各种操作的入口函数放在结构file_operations中,其中包括open()、release()、read()和write()等接口,从而简化了驱动程序的编写工作。这样,应用程序根本不必考虑操作的是设备还是普通文件,可一律视为文件来处理,具有非常清晰统一的I/O接口。其触摸屏的file_operations结构定义如下:

  本结构的主要作用是为不同的设备提供一致的接口。如在应用程序中,对不同设备进行读操作都使用read函数,写操作则都使用write函数。因此,编写触摸屏驱动的实际工作并不复杂。

  3.1驱动工作流程

  首先初始化触摸屏控制器,然后初始化脉宽调制计时器(PWM TIMER),可以选择计时器4为时钟,定义10 ms中断1次,以提供触摸屏采样时间基准,即10 ms触摸屏采样1次。而后映射触摸屏中断向量和定时器中断向量到响应程序,触摸屏中断处理程序是判断触摸屏是否被按下了,若触摸屏被按下,则给全局变量Flag_Trouch赋值为Touch_Down,否则赋值为Touch_Up。若计时器中断处理程序判断Flag_Touch被赋值为Touch_Down,则给全局变量StartSample置位,以控制触摸屏采样。然后系统通过S3C2440_get_xy()获得采样值,对得到的触摸屏的数据进行处理。接下来是对触摸屏的校准,最后是中断的释放和注册模块的卸载。其具体的触摸屏驱动工作流程图如图2所示。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

电磁炉相关文章:电磁炉原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭