第11章 触摸屏电路设计及驱动开发
- 格式:ppt
- 大小:814.00 KB
- 文档页数:32
触摸屏控制器驱动程序设计在便携式的电子类产品中 ,触摸屏由于其便、灵活、占用空间少等优点 ,已经逐渐取代键盘成为嵌入式计算机系统常选用的人机交互输入设备。
触摸屏输入系统由触摸屏、触摸屏控制器、微控制器及其相应的驱动程序构成。
本文从触摸屏控制器的驱动程序设计着手 ,介绍触摸屏控制器 ADS7843 的内部结构及工作原理和在嵌入式 Linux 操作系统中基于PXA255微处理器的ADS784羽驱动程序设计。
1触摸屏控制器ADS7843的介绍1.1ADS7843的内部结构ADS7843内驻一个多路低导通电阻模拟开关组成的供电-测量电路网络、12bit逐次逼近A/D转换器和异步串行数据输入输出,ADS7843艮据微控制器发来的不同测量命令导通相应的模拟开关 ,以便向触摸屏电极对提供电压 ,并把相应电极上的触点坐标位置所对应的电压模拟量引入A/D转换器,图1为ADS7843内部结构图。
X+、Y+ X-、丫为触摸屏电极模拟电压输入;CS为ADS7843的片选输入信号,低电平有效;DCLK接外部时钟输入 ,为芯片进行 A/D 转换和异步串行数据输入 /输出提供时钟;DIN串行数据输入端,当CS低电平时,输入数据在时钟的上升沿将串行数据锁存;DOUT串行数据输出端,在时钟下降沿数据由此移位输出,当 CS 为高电平时,DOUT呈高阻态。
BUSY为系统忙标志端,当CS为低电平, 且BUSY为高电平时,表示ADS7843正在进行数据转换;VREF参考电压输入端,电压值在+1V到+VCC之间变化;PENIRC为笔触中断,低电平有效;IN3、IN4为辅助ADC转换输入通道;+VCC为电源输入。
图1ADS7843内部结构1.2ADS7843的转换时序ADS7843完成一次数据转换需要与微控制器进行3次通信,第一次微处理器通过异步数据传送向 ADS843 发送控制字 ,其中包括起始位、通道选择、 8/12 位模式、差分 /单端选择和掉电模式选择 ,其后的两次数据传送则是微控制器从 ADS7843 取出 16bitA/D 转换结果数据(最后四位自动补零),每次通信需要 8 个时钟周期 ,完成一次数据转换共需 24 个时钟周期周2为ADS7843转换时序。
物理与电子工程学院《嵌入式系统设计》课程小论文课题题目linux 触摸屏驱动程序设计系别物理与电子工程学院年级08级专业电子科学与技术学号050208110学生姓名储旭日期2011-12-21目录第 1 章嵌入式 linux 触摸屏驱动程序设计........................................................................ - 2 -1.1 课题设计的目的.......................................................................................................... - 2 -1.2 课题设计要求.............................................................................................................. - 2 - 第二章课题设计平台构建与流程............................................................................................ - 2 -2.1 嵌入式系统开发平台构建.......................................................................................... - 2 -2.1.1 cygwin 开发环境............................................................................................ - 2 -2.1.2 Linux 开发环境.............................................................................................. - 5 -2.1.3 Embest IDE 开发环境.................................................................................... - 5 -2.2 触摸屏设计流程.......................................................................................................... - 5 -2.3 课题设计硬件结构与工作原理.................................................................................. - 6 -2.3.1 硬件结构概述.................................................................................................. - 6 -2.3.2 触摸屏工作原理.............................................................................................. - 8 - 第三章 Bootloader 移植与下载.............................................................................................. - 9 -3.1 Vivi 源代码的安装.................................................................................................... - 9 -3.2 Vivi 源代码分析...................................................................................................... - 10 -3.3 Vivi 源代码的编译与下载...................................................................................... - 11 - 第四章 Linux 内核移植与下载.............................................................................................. - 12 -4.1 Linux 内核源代码的安装........................................................................................ - 12 -4.2 Linux 内核源代码分析与移植................................................................................ - 14 -4.3 Linux 内核编译与下载............................................................................................ - 14 - 第五章触摸屏功能模块程序设计与交叉编译...................................................................... - 16 -5.1 功能模块驱动程序设计............................................................................................ - 16 -5.2 触摸屏功能模块交叉编译........................................................................................ - 20 - 第六章根文件系统建立与文件系统下载.............................................................................. - 20 -6.1 Cramfs 根文件系统分析.......................................................................................... - 20 -6.2 文件系统映像文件生成............................................................................................ - 21 -6.3 功能模块运行与调试................................................................................................ - 22 - 第七章课题设计总结与体会.................................................................................................. - 26 - 参考文献:................................................................................................................................ - 27 -第 1 章嵌入式 linux 触摸屏驱动程序设计1.1 课题设计的目的在开发基于Linux 的嵌入式系统前需要首先建立嵌入式系统的开发环境,并制定嵌入式系统上的Linux 内核。
WinCE 触摸屏驱动程序的研究与开发摘要本文首先阐述了Windows 的体系结构及中断处理、驱动程序模型,在介绍触摸屏工作原理的基础上,以基于S3C2410触摸屏驱动程序为例,系统讲述了如何使用分层的驱动程序模型来实现Windows CE的驱动程序设计。
本文介绍了触摸屏驱动程序开发的软硬件细节,介绍的方法可移植性强,可方便的移植到其它的硬件设备中。
关键词Windows ; 驱动程序; 触摸屏; S3C24100 引言Windows 是一个抢先式多任务并具有强大通信能力的Windows 32位嵌入式操作系统,是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而从头设计的战略性操作系统产品。
可以看出 Windows CE并不是Windows桌面操作系统的一部分或缩减版本。
CE系统与其它操作系统一样,也提供了设备驱动程序,以驱动内部或者外围硬件设备。
驱动程序将操作系统和设备链接起来,使得操作系统能够识别设备,并为应用程序提供相应的服务[1]。
要想真正了解驱动程序必须结合一些驱动程序的实际开发,本文以基于ARM9核心硬件平台的触摸屏驱动程序为例,讲解如何在不同的硬件设备上实现Windows CE的驱动开发。
1 Windows CE的体系结构Windows CE是由许多离散模块组成的,每一模块都提供特定的功能。
这些模块中的一部分被划分成组件。
组件使Windows CE变得非常紧凑,只占不到200KB 的RAM,因此只占用了运行设备所需的最小的ROM、RAM以及其它的硬件资源。
图1 Windows CE的体系结构Windows CE包含提供操作系统最关键功能的4个模块:内核模块;对象存储模块;图形、窗口和事件子系统(GWES)模块以及通信模块。
Windows CE还包含一些附加的可选择模块,这些模块可支持的任务有管理流设备驱动程序、支持COM等。
内核是OS的核心,通过Core Dll模块表示。
触摸屏设计方案1. 引言触摸屏作为一种用户界面交互方式,已经在电子设备领域中得到广泛应用。
它可以取代物理按键,提供更直观、便捷的操控方式。
本文将介绍一个触摸屏设计方案,包括设计目标、硬件选型、软件开发以及测试计划。
2. 设计目标在设计触摸屏前,首先需要明确设计目标。
以下是本设计方案的目标:•实现高精度触摸控制:触摸屏应该有足够的分辨率和灵敏度,以实现精准的触摸控制。
•支持多点触控:触摸屏应该支持多点触控,以实现更复杂的手势操作。
•高可靠性和稳定性:触摸屏应该具备高可靠性和稳定性,能够在长时间使用中保持正常工作。
•低功耗:触摸屏应该尽可能降低功耗,延长电池续航时间。
•符合人体工程学设计:触摸屏的外形和尺寸应该符合人体工程学的要求,使操作更舒适。
3. 硬件选型选择适合的硬件是设计触摸屏的重要一步。
下面是本设计方案的硬件选型:3.1 触摸屏芯片触摸屏芯片是触摸屏的核心组件,负责将触摸信号转换为数字信号输出。
在选型触摸屏芯片时,需要考虑以下因素:•分辨率:选择具备高分辨率的触摸屏芯片,以获得更准确的触摸控制。
•灵敏度:选择灵敏度高的触摸屏芯片,以提高触摸的响应速度。
•接口类型:触摸屏芯片应支持常用接口类型,比如I2C或SPI,在连接主控芯片时更加方便。
•抗干扰能力:触摸屏芯片应具备较好的抗干扰能力,以减少外部干扰对触摸控制的影响。
3.2 显示屏触摸屏一般与显示屏结合使用,形成一个完整的显示控制系统。
在选型显示屏时,需要考虑以下因素:•分辨率:选择与触摸屏芯片匹配的显示屏,以保证触摸和显示的一致性。
•尺寸和比例:根据应用场景和终端设备的尺寸要求选择合适的显示屏尺寸和比例。
•显示技术:根据应用需求选择合适的显示技术,比如LCD、OLED等。
3.3 控制器控制器是触摸屏与主控芯片之间的桥梁,负责将触摸信号传输给主控芯片,并接收主控芯片发送的指令。
在选型控制器时,需要考虑以下因素:•接口类型:选择与主控芯片兼容的控制器,以确保信号传输的稳定性。
基于STM32F103X的LCD触摸屏驱动的设计姓名:徐进东 _______学号:10030227 ______班级:_10计卓______目录1概述 (3)2LCD 液晶显示屏 (3)2.1LCD液晶显示屏原理 (3)22 LCD液晶显示屏分类 (3)3触摸屏驱动原理概述 (4)3.1电阻触摸屏工作原理 (4)3.2触摸屏控制实现 (4)4设计目标 (4)5系统硬件设计 (5)5.1STM32微处理器FSMC接口 (5)5.2LCD液晶显示屏介绍 (7)5.3触摸屏控制板 (8)6系统软件设计 (10)6.1系统软件结构 (10)6.2头文件设计 (11)6.2硬件初始化程序 (11)6.33寸LCD模块驱动程序 (14)6.4触摸坐标获取程序 (19)6.5LCD控制器控制程序 (22)7总结 (24)1概述LCD液晶显示屏与触摸屏在嵌入式系统中的应用越来越普及。
他们是非常简单、方便、自然的人机交互方式,目前广泛应用于便携式仪器、智能家电、掌上设备等领域。
触摸屏与LCD液晶显示技术的紧密结合,成了主流配置。
LCD液晶显示屏(LCD Module , LCM)是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源以及结构件装配在仪器的组件。
触摸屏技术在我国的应用时间不是太长,但它已经成长为人们最为接受的输入方式。
利用这种技术人们只需触碰屏幕就可以对主机进行操作,是人机交互更为方便,直截了当。
本文档是对LCD液晶显示屏和触摸屏驱动的设计做深入介绍。
2 LCD液晶显示屏2.1L CD液晶显示屏原理液晶(Liquid Crystal):是一种介于固态和液态之间的具有规则性分子排列,及晶体的光学各向异性的有机化合物,液晶在受热到一定温度的时候会呈现透明状的液体状态,而冷却则会出现结晶颗粒的混浊固体状态,因为物理上具有液体与晶体的特性,故称之为“液晶”。
液晶显示器LCD( Liquid Crystal Display):是新型平板显示器件。
触摸屏驱动设计文献综述一.触摸屏的介绍1 触摸屏的主要类型从技术原理来区别触摸屏,可分为五个基本种类:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏。
其中矢量压力传感技术触摸屏已退出历史舞台;红外线技术触摸屏价格低廉,但其外框易碎,容易产生光干扰,曲面情况下失真;电容技术触摸屏设计构思合理,但其图像失真问题很难得到根本解决;电阻技术触摸屏的定位准确,但其价格颇高,且怕刮易损;表面声波触摸屏解决了以往触摸屏的各种缺陷,清晰不容易被损坏,适于各种场合,缺点是屏幕表面如果有水滴和尘土会使触摸屏变的迟钝,甚至不工作。
按照触摸屏的工作原理和传输信息的介质,我们把触摸屏分为四种,它们分别为电阻式、电容感应式、红外线式以及表面声波式。
每一类触摸屏都有其各自的优缺点,要了解哪种触摸屏适用于哪种场合,关键就在于要懂得每一类触摸屏技术的工作原理和特点。
2 触摸屏的工作原理为了操作上的方便,人们用触摸屏来代替鼠标或键盘。
工作时,我们必须首先用手指或其它物体触摸安装在显示器前端的触摸屏,然后系统根据手指触摸的图标或菜单位置来定位选择信息输入。
触摸屏由触摸检测部件和触摸屏控制器组成;触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给CPU,它同时能接收CPU发来的命令并加以执行。
2.1 电阻式触摸屏1、四线电阻屏四线电阻模拟量技术的两层透明金属层工作时每层均增加5V恒定电压:一个竖直方向,一个水平方向。
总共需四根电缆。
特点:高解析度,高速传输反应。
表面硬度处理,减少擦伤、刮伤及防化学处理。
具有光面及雾面处理。
一次校正,稳定性高,永不漂移。
2、五线电阻屏五线电阻技术触摸屏的基层把两个方向的电压场通过精密电阻网络都加在玻璃的导电工作面上,我们可以简单的理解为两个方向的电压场分时工作加在同一工作面上,而外层镍金导电层只仅仅用来当作纯导体,有触摸后分时检测内层ITO接触点X轴和Y轴电压值的方法测得触摸点的位置。
嵌入式触摸屏驱动开发设计【摘要】嵌入式系统设计中,使用触摸屏是重要的一环,在使用它之前要添加驱动程序才能使用,同时也要根据触摸屏的大小和种类进行修改对应的驱动,才能使触摸屏正确发挥功能。
【关键词】嵌入式触摸屏驱动当前,随着人们对多媒体信息查询的不断增加,人们逐渐越来越多地谈到触摸屏,因为它不仅适用于多媒体信息查询,而且具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。
利用触摸屏技术,用户只要用手指轻轻地碰触显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术大大方便了那些不懂电脑操作的用户。
触摸屏作为一种新的电脑输入设备,它是目前简单、方便、自然的一种人机交互方式。
它的应用范围非常广阔,主要在公共信息的查询方面;如电信局、税务局、银行、电力等部门的业务查询;城市街头的信息查询;此外应用于领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。
预计将来,触摸屏还要走入家庭。
在嵌入式系统中,经常要使用到触摸屏,然而它不是一连接就能使用的器件,需要添加驱动程序,才能使触摸有效,下面是触摸屏驱动程序添加的过程。
首先找到源文件,然后按照下列步骤进行操作。
s3c2410_ts.hs3c2410_ts.ccp s3c2410_ts.h include/asm-arm/cp s3c2410_ts.c drivers/char/修改drivers/char/目录下的Kconfig,Makefile文件。
添加ts驱动选项:Makefile1043 +obj-$(CONFIG_S3C2410_TS) +=s3c2410ts.oKconfig在config S4C2410_RTC选项下添加:choiceprompt “s3c2410 touchscreen”default S3C2410_TSdepends on ARCH_S3C2410config S3C2410_TStristate “normal touchscreeen “config S3C2410_TS_ADStristate “touchscreen ads”endchoic修改arch/arm/mach-s3c2410下的四个文件:devs.hdevs.cmach-smdk2410.cs3c2410.c1.devs.h添加如下:extern struct platform_device s3c_device_ts;2.devs.c添加如下:#include………./* Touchscreen */static struct s3c2410_ts_mach_info s3c2410ts_info;void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(structs3c2410_ts_mach_info));EXPORT_SYMBOL(set_s3c2410ts_info);struct platform_device s3c_device_ts = {.name = “s3c2410-ts”,.id = -1,.dev= {.platform_data = &s3c2410ts_info,}};EXPORT_SYMBOL(s3c_device_ts);/* USB Device (Gadget)*/3.mach-smdk2410.c添加如下:#include…….//ts flastatic struct s3c2410_ts_mach_info gec2410_ts __initdata = {.delay = 10000,.presc = 49,.oversampling_shift = 2,}static struct platform_device *smdk2410_devices[] __initdata = {&s3c_device_usb,&s3c_device_lcd,&s3c_device_wdt,&s3c_device_i2c,&s3c_device_iis,&s3c_device_nand,&s3c_device_ts, //add here};void __init smdk2410_map_io(void){s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));s3c24xx_init_clocks(0);s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));s3c24xx_set_board(&smdk2410_board);set_s3c2410fb_info(&smdk2410_lcd_platdata);set_s3c2410ts_info(&gec2410_ts);小结:本设计对嵌入式系统的触摸屏的驱动进行了开发,选取了典型的ARM 处理器S3C2410作为处理对象,驱动添加成功后,触摸屏的效果正常发挥,达到了目的。
触摸屏驱动编写1. 触摸屏驱动编写触摸屏接⼝:i2c触摸屏芯⽚型号:ft5x06触摸屏连接的i2c总线:i2c1触摸屏在i2c总线上的器件地址:0x38触摸屏设备的外部中断线:GPX1_6 (irq = IRQ_EINT(14))参考⽂档:ft5x06芯⽚⼿册:FT5x06.pdfft5x06芯⽚地址分布:AN_CTPM_Standard_eng5x06——new.pdf查看AN_CTPM_Standard_eng5x06——new.pdf⼿册可得,ft5x06芯⽚内部地址空间分布情况如下:0x02 :低四位存放触摸点个数0x03 :低四位存放第⼀个触摸点x坐标的8 ~ 11位0x04 :所有位存放第⼀个触摸点x坐标的0 ~ 7位0x05 :低四位存放第⼀个触摸点y坐标的8 ~ 11位0x06 :所有位存放第⼀个触摸点y坐标的0 ~ 7位0x07 :所有位存放第⼀个触摸点的压⼒⼤⼩例:获取触摸点个数及第⼀个触摸点x, y轴的坐标值。
int ctp = *0x02 & 0x0f;int x = ((*0x03 & 0x0f) << 8) | *0x04;int y = ((*0x05 & 0x0f) << 8) | *0x06;补充:内核裁剪,裁剪掉内核中的触摸屏驱动操作步骤:1)跳转的内核源码⽬录下命令:cd /work/linux-3.5/2)重新配置内核命令:make cleanmake distcleancp tiny4412_linux_defconfig .configmake menuconfig裁剪两个选项:System Type--> Support TrustZone-enabled Trusted Execution Environment 【裁剪掉】Device Drivers--> Input device support--> Touchscreens 【裁剪掉】保存退出!3)重新编译内核命令:make -j84)编译完成,⽣成新的zImage。