首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于TQ2440和Linux的触摸屏的驱动研究
来源:本站整理  作者:佚名  2011-05-17 09:05:18



随着信息查询技术的发展,触摸屏因具有坚固耐用、反应速度快、节省空间、易于交流等优点,而得到了广泛应用[1]。触摸屏作为一种新兴的电脑输入设备,是目前最简单、方便的一种人机交互设备。
1 硬件简介
1.1 TQ2440开发板简介

    天嵌公司生产的TQ2440开发板,微处理器采用Samsung S3C2440AL,板载64 MB SDRAM、256 MB Nand Flash、2 MB Nor Flash,板载5线异步串行口(UART0)、100 Mb/s DM9000网卡、USB HOST接口、USB Device接口和一个SD卡接口,集成了4线电阻式触摸屏接口和JTAG接口等,音频接口采用芯片UDA1341,立体声音频输出,可录音。
1.2 S3C2440处理器简介
    S3C2440是由三星公司推出的16/32 bit RISC微处理器,最高主频可达533 MHz,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。处理器内部集成SDRAM控制器、LCD控制器、4通道DMA、3通道UART、I2C总线、I2S总线、SD接口、PWMtimer、触摸屏接口、8通道10 bit A/D控制器和camera接口等,很便于一般开发。
1.3 触摸屏
    按照触摸屏的工作原理和传输信息的介质一般可分为4种,分别为电阻式、红外线式、电容感应式以及表面声波式。本次设计采用的是东华3.5英寸触摸屏,为4线电阻式触摸屏。具体参数为:型号: WXCAT35-TG3#001F;尺寸:103 mm×83 mm;显示面积:70.08 mm(H)×52.56 mm(V);显示颜色:16.7兆色分辨率;对比度:300:1;亮度:320 cd/m2;电源:5 V电压供电。
    电阻式触摸屏利用压力感应进行控制,由触摸检测部件和触摸屏控制器组成。触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,并将触摸位置信息送到触摸屏控制器;触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给CPU,它同时能接收来自CPU的命令并加以执行。触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层氧化铟(OTI),上面再覆盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层OTI,在两层导电层之间有许多细小(小于1/1 000)的透明隔离点把它们隔开绝缘。当手指接触屏幕时,两层OTI导电层将出现一个接触点,因其中一面导电层接通Y轴方向的5 V均匀电压场,使得侦测层的电压由零变为非零,控制器侦测到这个接通数据后,进行 A/D转换,并将得到的电压值与5 V相比较,即可得出触摸点的Y轴坐标。同理可得出X轴的坐标。
    S3C2440的触摸屏接口包括触摸触点控制逻辑和有中断产生逻辑的ADC接口逻辑,可以控制或选择触摸屏触点用于XY坐标的转换。触摸屏接口为了完成相应的工作,具有4种工作模式[2]:
    (1)正常转换模式:此模式与通用的AD转换模式相似,可以在ADCCON(ADC控制寄存器)中设置,在ADCDAT0(ADC数据寄存器0)中完成数据读写。
    (2)X/Y坐标各自转换:触摸屏控制器支持两种转换模式,X/Y坐标各自转换与X/Y坐标自动转换。各自转换是在X模式下,将X坐标写入ADCDAT0后产生中断;在Y模式下,将Y坐标写入ADCDAT1后产生中断。
    (3)X/Y坐标自动转换:在此模式下,触摸屏控制器先后转换触摸点的X坐标与Y坐标。当X坐标与Y坐标都转换完成时,中断控制器产生中断。
    (4)等待中断模式:当触摸笔按下时,触摸屏产生中断(INT_TC)。等待中断模式必须将寄存器rADCTSC设置为0xd3;在触摸屏控制器产生中断以后,必须将此模式清除。
    如果GCLK是50 MHz且预分频器的分频值设置为49 MHz,10 bit的转换时间按下式计算:
    A/D转换频率=50 MHz/(49+1)MHz=1 MHz
    转换时间=1/(1 MHz/5个周期)=1/200 kHz=5 ?滋s,可见转换时间很短。
2 触摸屏驱动程序
2.1 建立嵌入式Linux系统开发环境

    建立此开发环境的步骤为:
    (1)在Windows XP SP3系统下安装虚拟机vmware5.5.3,在虚拟机里安装Redhat9.0系统。在Redhat9.0系统下编译开发板所需的镜像和文件,使用虚拟机工具实现了Windows和Redhat的文件共享,在Windows系统下可以直接下载镜像和文件到开发板上。
    (2)使用Windows XP SP3自带的超级终端,并使用串口线连接PC和开发板。这样就可以在PC上对开发板进行相关的操作。
    (3)本次实验开发板使用的是Linux2.6.30.4内核,而Redhat9.0系统是2.4.20.8内核,所以需要下载适合开发板的编译器。下载最新版本的支持EABI技术的交叉编译器(本次实验使用的是EABI_4.3.3_2009版本),复制到Redhat9.0系统目录/opt/EABI_4.3.3_2009/下,打开系统文件/etc/profile(可在终端使用命令vim /etc/profile),添加相应语句(本次实验使用vim命令打开profile文件,在第20行添加语句pathmunge/opt/EABI_4.3.3_2009/4.3.3/bin)让编译器生效,这样就可以在PC上交叉编译开发板所需要的文件。至此开发环境已经建立。
2.2 Linux内核的移植
    本次实验使用的boatload是天嵌公司自己开发的u-boot,用J-TAG烧写方式写入NOR Flash,然后便可以使用u-boot自带的USB下载(需要在Windows下安装USB下载驱动程序)功能下载开发板上需要的Linux内核镜像了,这样方便而且高效。下载Linux2.6.30.4内核源代码,复制到Redhat9.0系统目录/opt下,并解压。在目录/opt/linux2.6.30.4/目录下便可以进行修改和编译开发板上需要的内核镜像。在移植触摸屏驱动之前,需要移植板载256 MB NAND Flash的驱动、yaffs文件系统,这样便完善了串口驱动程序,最后移植LCD屏的驱动。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:71,007.81000 毫秒