当前位置:文档之家› 如何编写触摸屏应用软件

如何编写触摸屏应用软件

如何编写触摸屏应用软件
如何编写触摸屏应用软件

触摸屏驱动

二、前提知识 1、Linux输入子系统(Input Subsystem): 在Linux中,输入子系统是由输入子系统设备驱动层、输入子系统核心层(Input Core)和输入子系统事件处理层(Event Handler)组成。其中设备驱动层提供对硬件各寄存器的读写访问和将底层硬件对用户输入访问的响应转换为标准的输入事件,再通过核心层提交给事件处理层;而核心层对下提供了设备驱动层的编程接口,对上又提供了事件处理层的编程接口;而事件处理层就为我们用户空间的应用程序提供了统一访问设备的接口和驱动层提交来的事件处理。所以这使得我们输入设备的驱动部分不在用关心对设备文件的操作,而是要关心对各硬件寄存器的操作和提交的输入事件。下面用图形来描述一下这三者的关系吧! 另外,又找了另一幅图来说明Linux输入子系统的结构,可能更加形象容易理解。如下:

2、输入子系统设备驱动层实现原理: 在Linux中,Input设备用input_dev结构体描述,定义在input.h中。设备的驱动只需按照如下步骤就可实现了。 ①、在驱动模块加载函数中设置Input设备支持input子系统的哪些事件; ②、将Input设备注册到input子系统中; ③、在Input设备发生输入操作时(如:键盘被按下/抬起、触摸屏被触摸/抬起/移动、鼠标被移动/单击/抬起时等),提交所发生的事件及对应的键值/坐标等状态。 Linux中输入设备的事件类型有(这里只列出了常用的一些,更多请看linux/input.h中):

三、触摸屏驱动的实现步骤 1、硬件原理图分析: S3c2440芯片内部触摸屏接口与ADC接口是集成在一起的,硬件结构原理图请看: S3C2440上ADC驱动实例开发讲解中的图,其中通道7(XP或AIN7)作为触摸屏接口的X坐标输入,通道5(YP或AIN5)作为触摸屏接口的Y坐标输入。在"S3C2440上ADC驱动实例开发讲解"中,AD转换的模拟信号是由开发板上的一个电位器产生并通过通道1(AIN0)输入的,而这里的模拟信号则是由点触触摸屏所产生的X坐标和Y坐标两个模拟信号,并分别通过通道7和通道5输入。S3c2440提供的触摸屏接口有4种处理模式,分别是:正常转换模式、单独的X/Y位置转换模式、自动X/Y位置转换模式和等待中断模式,对于在每种模式下工作的要求,请详细查看数据手册的描述。本驱动实例将采用自动X/Y位置转换模式和等待中断模式。 注意:在每步中,为了让代码逻辑更加有条理和容易理解,就没有考虑代码的顺序,比如函数要先定义后调用。如果要编译此代码,请严格按照C语言的规范来调整代码的顺序。 2、建立触摸屏驱动程序my2440_ts.c,首先实现加载和卸载部分,在驱动加载部分,我们主要做的事情是:启用ADC所需要的时钟、映射IO口、初始化寄存器、申请中断、初始化输入设备、将输入设备注册到输入子系统。代码如下:

程序流程图编写规范_(终极整理版)

程序流程图规范 1.引言 国际通用的流程图形态和程序: 开始(六角菱型)、过程(四方型)、决策(菱型)、终止(椭圆型)。在作管理业务流程图时,国际通用的形态:方框是流程的描述;菱形是检查、审批、审核(一般要有回路的);椭圆一般用作一个流程的终结;小圆是表示按顺序数据的流程;竖文件框式的一般是表示原定的程序;两边文件框式的一般是表示留下来的资料数据的存储。 2.符号用法 程序流程图用于描述程序内部各种问题的解决方法、思路或算法。 图1-1 标准程序流程图符号 1)数据:平行四边形表示数据,其中可注明数据名、来源、用途或其 它的文字说明。此符号并不限定数据的媒体。 2)处理:矩形表示各种处理功能。例如,执行一个或一组特定的操作,

从而使信息的值,信息形式或所在位置发生变化,或是确定对某一流向的选择。矩形内可注明处理名或其简要功能。 3)特定处理:带有双纵边线的矩形表示已命名的特定处理。该处理为 在另外地方已得到详细说明的一个操作或一组操作,便如子例行程序,模块。矩形内可注明特定处理名或其简要功能。 4)准备:六边形符号表示准备。它表示修改一条指令或一组指令以影 响随后的活动。例如,设置开关,修改变址寄存器,初始化例行程序。 5)判断:菱形表示判断或开关。菱形内可注明判断的条件。它只有一 个入口,但可以有若干个可供选择的出口,在对符号内定义各条件求值后,有一个且仅有一个出口被激活,求值结果可在表示出口路径的流线附近写出。 6)循环界限:循环界限为去上角矩形或去下角矩形,分别表示循环的 开始和循环的结束。一对符号内应注明同一循环标识符。可根据检验终止循环条件在循环的开始还是在循环的末尾,将其条件分别在上界限符内注明(如:当A>B)或在下界限符内注明(如:直到C

电容式触摸屏设计要求规范精典

电容式触摸屏设计规 【导读】:本文简单介绍了电容屏方面的相关知识,正文主要分为电子设计和结构设计两个部分。电子设计部分包含了原理介绍、电路设计等方面,结构设计部分包好了外形结构设计、原料用材、供应商工艺等方面 【名词解释】 1. V.A区:装机后可看到的区域,不能出现不透明的线路及色差明显的区域等。 2. A.A区:可操作的区域,保证机械性能和电器性能的区域。 3. ITO:Indium Tin Oxide氧化铟锡。涂镀在Film或Glass上的导电材料。 4. ITO FILM:有导电功能的透明PET胶片。 5. ITO GALSS:导电玻璃。 6. OCA:Optically Clear Adhesive光学透明胶。 7. FPC:可挠性印刷电路板。 8. Cover Glass(lens):表面装饰用的盖板玻璃。 9. Sensor:装饰玻璃下面有触摸功能的部件。(Flim Sensor OR Glass Sensor) 【电子设计】 一、电容式触摸屏简介 电容式触摸屏即Capacitive Touch Panel(Capacitive Touch Screen),简称CTP。根据其驱动原理不同可分为自电容式CTP和互电容式CTP,根据应用领域不同

可分为单点触摸CTP和多点触摸CTP。 1、实现原理 电容式触摸屏的采用多层ITO膜,形成矩阵式分布,以X、Y交叉分布作为电容矩阵,当手指触碰屏幕时,通过对X、Y轴的扫描,检测到触碰位置的电容变化,进而计算出手指触碰点位置。电容矩阵如下图1所示。 图1 电容分布矩阵 电容变化检测原理示意简介如下所示: 名词解释: ε0:真空介电常数。 ε1 、ε2:不同介质相对真空状态下的介电常数。 S1、d1、S2、d2分别为形成电容的面积及间距。

各类型触摸屏故障及维修方法

?关键词:触摸屏故障触摸屏 ?摘要:触摸屏是经常使用的电子产品,难免会出现问题,相信很多人在使用触摸屏时,都遇到触摸屏因出现故障而不能使用的情况。那么触摸 屏这些常见的故障该如何维修呢?本文就按触摸屏类型介绍一些常见故障的解决与维护方法: 触摸屏是经常使用的电子产品,难免会出现问题,相信很多人在使用触摸屏时,都遇到触摸屏因出现故障而不能使用的情况。那么触摸屏这些常见的故障该如何维修呢?本文就按触摸屏类型介绍一些常见故障的解决与维护方法: 一、表面声波触摸屏 ⑴故障一:触摸偏差 现象1:手指所触摸的位置与鼠标箭头没有重合。 原因1:安装完驱动程序后,在进行校正位置时,没有垂直触摸靶心正中位置。 解决1:重新校正位置。 现象2:部分区域触摸准确,部分区域触摸有偏差。 原因2:表面声波触摸屏四周边上的声波反射条纹上面积累了大量的尘土或水垢,影响了声波信号的传递所造成的。 解决2:清洁触摸屏,特别注意要将触摸屏四边的声波反射条纹清洁干净,清洁时应将触摸屏控制卡的电源断开。 ⑵故障二:触摸无反应 现象:触摸屏幕时鼠标箭头无任何动作,没有发生位置改变。 原因:造成此现象产生的原因很多,下面逐个说明: ①表面声波触摸屏四周边上的声波反射条纹上面所积累的尘土或水垢非常严重,导致触摸屏无法工作; ②触摸屏发生故障; ③触摸屏控制卡发生故障; ④触摸屏信号线发生故障; ⑤计算机主机的串口发生故障;

⑥计算机的操作系统发生故障; ⑦触摸屏驱动程序安装错误。 解决方法: ①观察触摸屏信号指示灯,该灯在正常情况下为有规律的闪烁,大约为每秒钟闪烁一次,当触摸屏幕时,信号灯为常亮,停止触摸后,信号灯恢复闪烁。 ②如果信号灯在没有触摸时,仍然处于常亮状态,首先检查触摸屏是否需要清洁;其次检查硬件所连接的串口号与软件所设置的串口号是否相符,以及计算机主机的串口是否正常工作。 ③运行驱动盘中的COMDUMP命令,该命令为DOS下命令,运行时在COMDUMP后面加上空格及串口的代号1或2,并触摸屏幕,看是否有数据滚出。有数据滚出则硬件连接正常,请检查软件的设置是否正确,是否与其他硬件设备发生冲突。如没有数据滚出则硬件出现故障,具体故障点待定。 ④运行驱动盘中的SAWDUMP命令,该命令为DOS下命令,运行程序时,该程序将寻问控制卡的类型、连接的端口号、传输速率,然后程序将从控制卡中读取相关数据。请注意查看屏幕左下角的X轴的AGC和Y轴的AGC 数值,任一轴的数值为255时,则该轴的换能器出现故障,需进行维修。 ⑤安装完驱动程序后进行第一次校正时,注意观察系统报错的详细内容。“没有找到控制卡”、“触摸屏没有连接”等,根据提示检查相应的部件。如:触摸屏信号线是否与控制卡连接牢固,键盘取电线是否全部与主机连接等。 ⑥如仍无法排除,请专业人员维修。 二、五线电阻触摸屏 ⑴故障一:触摸偏差 现象1:手指所触摸的位置与鼠标箭头没有重合。 原因1:①安装完驱动程序后,在进行校正位置时,没有垂直触摸靶心正中位置; ②触摸屏上的信号线接触不良或断路。 解决1:重新校正位置;查找断点,重新连接,或更换触摸屏。 现象2:不触摸时,鼠标箭头始终停留在某一位置;触摸时,鼠标箭头在触摸点与原停留点的中点处。

电容式触摸屏设计规范精典

电容式触摸屏设计规范【导读】:本文简单介绍了电容屏方面的相关知识,正文主要分为电子设 计和结构设计两个部分。电子设计部分包含了原理介绍、电路设计等方面,结构设计部分包好了外形结构设计、原料用材、供应商工艺等方面 【名词解释】 1. V.A区:装机后可看到的区域,不能出现不透明的线路及色差明显的区域等。 2. A.A区:可操作的区域,保证机械性能和电器性能的区域。 3. ITO:Indium Tin Oxide氧化铟锡。涂镀在Film或Glass上的导电材料。 4. ITO FILM:有导电功能的透明PET胶片。 5. ITO GALSS:导电玻璃。 6. OCA:Optically Clear Adhesive光学透明胶。 7. FPC:可挠性印刷电路板。 8. Cover Glass(lens):表面装饰用的盖板玻璃。 9. Sensor:装饰玻璃下面有触摸功能的部件。(Flim Sensor OR Glass Sensor) 【电子设计】 一、电容式触摸屏简介 电容式触摸屏即Capacitive Touch Panel(Capacitive Touch Screen),,根据应CTP和互电容式CTP。根据其驱动原理不同可分为自电容式CTP简称. 用领域不同可分为单点触摸CTP和多点触摸CTP。 1、实现原理 电容式触摸屏的采用多层ITO膜,形成矩阵式分布,以X、Y交叉分布作为电容矩阵,当手指触碰屏幕时,通过对X、Y轴的扫描,检测到触碰位置的电容变化,进而计算出手指触碰点位置。电容矩阵如下图1所示。 1 电容分布矩阵图 电容变化检测原理示意简介如下所示:名词解释::真空介电常数。ε0 ε2:不同介质相对真空状态下的介电常数。ε1 、d2S2d1S1、、、分别为形成电容的面积及间距。

触摸屏控制器驱动程序设计

触摸屏控制器驱动程序设计 在便携式的电子类产品中,触摸屏由于其便、灵活、占用空间少等优点,已经逐渐取代键盘成为嵌入式计算机系统常选用的人机交互输入设备。触摸屏输入系统由触摸屏、触摸屏控制器、微控制器及其相应的驱动程序构成。本文从触摸屏控制器的驱动程序设计着手,介绍触摸屏控制器ADS7843的内部结构及工作原理和在嵌入式Linux操作系统中基于PXA255微处理器的ADS7843驱动程序设计。 1触摸屏控制器ADS7843的介绍 1.1ADS7843的内部结构 ADS7843内驻一个多路低导通电阻模拟开关组成的供电-测量电路网络、12bit逐次逼近A/D转换器和异步串行数据输入输出,ADS7843根据微控制器发来的不同测量命令导通相应的模拟开关,以便向触摸屏电极对提供电压,并把相应电极上的触点坐标位置所对应的电压模拟量引入A/D 转换器,图1为ADS7843内部结构图。X+、Y+、X-、Y-为触摸屏电极模拟电压输入;CS为ADS7843的片选输入信号,低电平有效;DCLK接外部时钟输入,为芯片进行A/D转换和异步串行数据输入/输出提供时钟;DIN串行数据输入端,当CS低电平时,输入数据在时钟的上升沿将串行数据锁存;DOUT串行数据输出端,在时钟下降沿数据由此移位输出,当CS为高电平时,DOUT呈高阻态。BUSY为系统忙标志端,当CS为低电平,且BUSY 为高电平时,表示ADS7843正在进行数据转换;VREF参考电压输入端,电

压值在+1V到+VCC之间变化;PENIRQ为笔触中断,低电平有效;IN3、IN4为辅助ADC转换输入通道;+VCC为电源输入。 图1ADS7843内部结构 1.2ADS7843的转换时序 ADS7843完成一次数据转换需要与微控制器进行3次通信,第一次微处理器通过异步数据传送向ADS843发送控制字,其中包括起始位、通道选择、8/12位模式、差分/单端选择和掉电模式选择,其后的两次数据传送则是微控制器从ADS7843取出16bitA/D转换结果数据(最后四位自动补零),每次通信需要8个时钟周期,完成一次数据转换共需24个时钟周期,图2为ADS7843转换时序。 图2ADS7843转换时序 2ADS7843与PXA255硬件接口 PXA255微处理器是Intel公司生产的第二代基于32位XScale微架构的集成系统芯片(ISOC),PXA255具有高性能、低功耗等优点,它除了XScale 微内核外,还集成了许多适用于手持设备市场需要的外围设备。图3为ADS7843触摸屏控制器与PXA255微处理器的硬件连线示意图。当屏触发生时ADS7843向PXA255发出中断请求,由PXA255响应该中断请求,

程序代码编写规范

程序编写规范及约定 (仅供内部使用) 文档作者:_______________ 日期:___/___/___ 开发/测试经理:_______________ 日期:___/___/___ 项目经理:_______________ 日期:___/___/___ 请在这里输入公司名称 版权所有不得复制

目录 程序编写规范及约定 (3) 1编写目的 (3) 2代码编写风格 (3) 2.1单元风格 (3) 2.2语句风格 (3) 3命名规则 (3) 3.1命名约定 (3) 3.1.1标志符 (3) 3.1.2类class (3) 3.1.3枚举类型enum (4) 3.1.4委托delegate (4) 3.1.5常量const (4) 3.1.6接口interface (4) 3.1.7方法function (4) 3.1.8命名空间namespace (4) 3.1.9参数 (4) 3.1.10局部变量 (5) 3.1.11数据成员 (5) 3.1.12自定义异常类 (5) 3.1.13命名缩写 (5) 3.1.14数据库命名 (5) 3.2代码编写命名规范 (6) 3.3界面常用控件命名约定 (6) 3.4文件命名规范 (7) 3.4.1文档文件命名 (7) 3.4.2配置文件命名 (7) 3.4.3程序文件命名 (7)

程序编写规范及约定 1编写目的 为了使编写代码具有可读性、可理解性、可维护性,对程序编写人员代码实行统一风格,使得程序代码能够以名称反映含义、以形式反映结构。此文档可供程序代码编写人员及代码维护人员使用。 2代码编写风格 2.1单元风格 2.2语句风格 3命名规则 3.1命名约定 Pascal和Camel命名约定: 编程的命名方式主要有Pascal和Camel两种(Pascal:每个单词的首字母大写,例如ProductType;Camel:首个单词的首字母小写,其余单词的首字母大写,例如productType) 3.1.1标志符 规则:Pascal、Camel 实例与描述:例子说明 3.1.2类class 规则:Pascal 实例与描述:Application

触摸屏界面设计原则

上海交通大学 硕士学位论文 触摸屏界面通用设计原则研究 姓名:刘思文 申请学位级别:硕士 专业:设计艺术学 指导教师:陈贤浩 20090115

触摸屏界面通用设计原则研究 摘要 本论文通过对于用户界面设计的认识和触摸屏界面的了解,其中包括自身使用体会、他人的评价和感想、设计人员的资源共享等,发现了在触摸屏界面设计上存在的问题,深感触摸屏界面可用性的重要性以及在设计中人力物力投资的重复性,从而得出了为触摸屏界面提供一套通用的设计原则的必要性。 文章开篇第一章首先说明了一下研究背景、目的、意义及方法。 接着在第二章介绍了触摸屏和界面设计的基本概念,包括触摸屏的起源、发展、技术、使用范围以及有关界面设计的方方面面。 然后在第三章列出并参照一些有关界面设计的理论原则、可用性的基本理念、人因工程学和用户研究方法等。 在第四章里,通过各种设计案例的比较和分析以及对已有理论原则的推导,同时又受到用户界面管理程序的启示,设想了一套触摸屏界面通用设计原则,使之能最大限度的适用于各种不同的触摸屏界面设计之中。 在第五章中,通过“纺织车间通风系统触摸屏设计”这个相关项目的设计操作来对以上构想进行论证。设计论证过程包括对此设计项目建立研究模型、需求调研和可用性设计指标设定等,然后把经分析得出的关于此项目的可用性设计指标和之前提出的触摸屏界面通用设计原则构想进行对比,查看出入点,随后做出原型设计并提交用户做可用性评估,然后发现问题进行适当的补充改进设计,再次提交测评……通过这个循环的设计过程之后,证明了之前所提出的触摸屏界面通用设计原则构想基本上是准确的、合理的,并且对此原则进行适当的补充完善使之成为一种科学的原则。 最后第六章中,把之前论证的研究结论具体化简明化的罗列出来并且再提出对未来研究的展望。 关键词:触摸屏,界面设计,通用原则,可用性

linux 触摸屏驱动程序设计

物理与电子工程学院 《嵌入式系统设计》 课程小论文 课题题目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 -

程序代码注释编写规范

程序代码注释编写规范 XXX份公司

为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************

电容屏设计规范

电容式触摸屏设计规范 作者: Willis,Tim 【导读】:本文简单介绍了电容屏方面的相关知识,正文主要分为电子设计和结构设计两个部分。电子设计部分包含了原理介绍、电路设计等方面,结构设计部分包好了外形结构设计、原料用材、供应商工艺等方面。 【名词解释】 1. V.A区:装机后可看到的区域,不能出现不透明的线路及色差明显的区域等。 2. A.A区:可操作的区域,保证机械性能和电器性能的区域。 3. ITO:Indium Tin Oxide氧化铟锡。涂镀在Film或Glass上的导电材料。 4. ITO FILM:有导电功能的透明PET胶片。 5. ITO GALSS:导电玻璃。 6. OCA:Optically Clear Adhesive光学透明胶。 7. FPC:可挠性印刷电路板。 8. Cover Glass(lens):表面装饰用的盖板玻璃。 9. Sensor:装饰玻璃下面有触摸功能的部件。(Flim Sensor OR Glass Sensor) 【电子设计】 一、电容式触摸屏简介 电容式触摸屏即Capacitive Touch Panel(Capacitive Touch Screen),简称CTP。根据其驱动原理不同可分为自电容式CTP和互电容式CTP,根据应用领域不同可分为单点触摸CTP和多点触摸CTP。 1、实现原理 电容式触摸屏的采用多层ITO膜,形成矩阵式分布,以X、Y交叉分布作为电容矩阵,当手指触碰屏幕时,通过对X、Y轴的扫描,检测到触碰位置的电容变化,进而计算出手指触碰点位置。电容矩阵如下图1所示。

图1 电容分布矩阵 电容变化检测原理示意简介如下所示: 名词解释: ε0:真空介电常数。 ε1 、ε2:不同介质相对真空状态下的介电常数。 S1、d1、S2、d2分别为形成电容的面积及间距。 图2 触摸与非触摸状态下电容分布示意 非触控状态下:C=Cm1=ε1ε0S1/d1 触控状态下:C=Cm1*Cmg/(Cm1+Cmg),Cm1=ε1ε0S1/d1, Cmg=Cm1=ε2ε0S2/d2 电容触摸驱动IC会根据非触控状态下的电容值与触控状态下的电容值的差异来判断是否有触摸动作并定位触控位置。

触摸屏接口硬件编写驱动程序

尽管触摸屏正在迅速普及开来,但大多数开发人员以前从来没有开发过触摸屏产品。本文详细介绍了触摸屏产品的设计步骤,指导读者了解使触摸屏首次工作需要的软硬件细节。 触摸屏如今随处可见。工业控制系统、消费电子产品,甚至医疗设备上很多都装备了触摸屏输入装置。我们平时不经意间都会用到触摸屏。在ATM机上取款、签署包裹,办理登机手续或查找电话号码时都可能会用到触摸屏。 本文介绍了二种较新的CPU,它们都内建了对触摸屏输入的支持。本文将介绍如何编写软件驱动程序,从而能够使用这些微处理器配置、校准触摸屏以及对触摸屏输入持续响应。最终将提供可免费下载和使用的工作代码,作为读者进一步设计的基础。 触摸屏作为输入手段的优点和缺点 没有一种输入方式是十全十美的,对某些特定的应用和产品类型来说,触摸屏不是最好的输入手段。为了让读者清楚的了解触摸屏的特性,下面先概括使用触摸屏作为输入手段的优点和缺点。 首先是优点:触摸屏不可否认的具有酷的感觉,立刻就能使产品的使用变得更有乐趣。同时触摸屏也非常直观。当用户想要选择A选项时,他伸出手指碰一下A 选项就可以了。这还不够直观吗?连两岁的婴儿都知道怎样伸手去触摸他(或她)想要的东西。 最后要说的是,触摸屏作为输入装置和系统固定在了一起。如果用户忘记遥控器或鼠标放的位置,就会无法进行输入。而如果具有触摸屏的设备放在用户前面,用户马上就可以用触摸屏进行输入。 再说缺点,触摸屏可能会在不合适的场合下被错误的使用。这里我是指对安全性要求严格的设备,对于这些设备,如果没有适当的预防措施,使用触摸屏会非常危险。下面我将概括一些最明显的潜在的问题,如果读者想作更进一步的了解,可以参考更多的资料。 第一个问题是视差,即屏幕上看到的对象的位置与其在触摸面板上的实际有效位置之间的差异。图1说明了这个问题。我能想到的最佳例子是典型的“免下 车”ATM机。这种ATM机不会根据汽车的高度升高或降低自己的高度,因此如果你坐在较高的SUV或卡车里,那么你就会从抬高的位置俯视显示屏。为了保护昂贵的显示器件免受恶意破坏,ATM机都会在用户和显示屏之间放置几层强化玻璃。 触摸屏是不能这样保护的。如果真这样做的话,用户就无法进行触摸了。因此触摸屏放在表层上,而显示屏放在表层下的几层玻璃后面。这就造成了触摸层和显示层之间的物理隔离。如果用户以某个角度观看屏幕,就意味着用户按压触摸屏进行选择的位置会与用户接口软件预期的输入位置之间存在一定的距离偏差。

触摸屏设计规范

触摸屏设计规范 一、工程图设计 当接到客户出图资料的第一时间先把客户资料审一遍,把客户的设计意图彻底的弄清楚明白,如客户资料 不全的或不明白的可以把它列出来,以邮件形式或电话方式联系客户把所有的不明项都要弄清楚。咨询客户最好是把所有的不明项都列出来再去跟客户联系,如电话打多了客户会反感的,也给别人的印象就是不专业,这点是需做到的。如客户无法回复的可以先自定义给客户确认,但要在邮件上说清楚,自定义时尽量按标准去设计,不要太随意了。 工程图主要分为:产品外形正视图、右视图(结构图)、背视图、出线FPC、逻辑走线图(矩阵图)、备注栏、装配示意图、图框 1、产品外形正视图:此视图为样品的实际外形图,包括外形尺寸,面版图案,冲孔的示意,还有就是逻辑分配区。 1、1面版外形按客户图档制作,公差为0.1mm,冲孔最小1.0以上,冲孔到边致少1.5mm,否则模具下料会拉伤 面版,图案线宽至少0.15mm以下,如没达到的需调整; 1、2右视图也就是结构图,我司所用的视角为第三视角,出图时要注意视角关系如下图1-2所示,结构图上要 求标示出所有材料名称及厚度,总厚度要按所选的材料计算出来,一般情况总厚度会偏上公差,所以算 出来的厚度不要偏上公差;选材时要按我司存来选取。厚度公差为0.1mm, 1-2 1.31 1、3 背视图包括TP外形、背胶、补强等部分 1、3、1 TP外形在面版外形上内缩单0.15mm,只要保证TP外形不露出面版外形即可,冲孔部分一样,必要时冲孔可以内缩0.3mm,以保证组合公差,但如要在视窗上挖空的则要外扩至少单边0.35mm以上,见图1.31; 1、3、2 钢化玻璃一般情况下都做成TP一比一的,便于组合偏差,通常制作时会把TP部分内缩0.05制作,所以四层结构的TP要比钢化玻璃小单边0.05mm 见图1.32 1.3.2 1.3.3 1、3、3如钢化玻璃是在屏体中心的,钢化玻璃外形一定要比面版视窗大单边1.5mm,否则会脱胞不良或造成上下线短路,如图1.33所示,玻璃在屏体中心的建议客户下线OCA保留,以方便生产同时也方便客户上机时不用再贴双面胶,另外钢化玻璃尽量做成直角,不要倒角,以减少制作难度. 1.3、4钢化玻璃孔到边最小距离为2.0mm,长为5mm.否则钢化玻璃易断,内角不能做成直角的,只能做圆角R0.5以上,钢化玻璃的厚度有0.4mm、0.5mm、0.55mm(此钢化玻璃没货,需进口,价格高)、0.7mm、0.8mm. 选择时就注意,另外钢化玻璃是小能做的孔是1.8mm的,小于1.8mm的很难做。 1、3、5钢化玻璃尽量不要做成铣槽的,如客户要求则建议做成机壳上避空,钢化玻璃铣槽制作难度很大,成本高,交期很难达到。或者改成补强方式设计,PC补强对铣槽较灵活没有太多的约束。

程序设计规范

程序设计规范 一、程序风格: 1、严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如: 2、提示信息字符串的位置 在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。 3、对变量的定义,尽量位于函数的开始位置。 二、命名规则: 1、变量名的命名规则 ①、变量的命名规则要求用“匈牙利法则”。即开头字母用变量的类型,其余部分用变量的英文意思或其英文意思的缩写,尽量避免用中文的拼音,要求单词的第一个字母应大写。即:变量名=变量类型+变量的英文意思(或缩写) 对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。 见下表: bool(BOOL) 用b开头bIsParent byte(BYTE) 用by开头byFlag short(int) 用n开头nStepCount long(LONG) 用l开头lSum char(CHAR) 用c开头cCount float(FLOAT) 用f开头fAvg double(DOUBLE) 用d开头dDeta void(VOID) 用v开头vVariant unsigned int(WORD)用w开头wCount unsigned long(DWORD) 用dw开头dwBroad HANDLE(HINSTANCE)用h开头hHandle DWORD 用dw开头dwWord LPCSTR(LPCTSTR) 用str开头strString 用0结尾的字符串用sz开头szFileName 对未给出的变量类型要求提出并给出命名建议给技术委员会。 ②、指针变量命名的基本原则为: 对一重指针变量的基本原则为: “p”+变量类型前缀+命名 如一个float*型应该表示为pfStat 对多重指针变量的基本规则为: 二重指针:“pp”+变量类型前缀+命名 三重指针:“ppp”+变量类型前缀+命名 ...... ③、全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount,即:变量名=g_+变量类型+变量的英文意思(或缩写)

电容式触摸屏设计规范-A

电容式触摸屏设计规范

1 目的 规范电容式触摸屏(投射式)的设计,提高设计人员的设计水平及效率,确保触摸屏模块整体的合理性及可靠性。 2 适用范围 第五事业部TP厂技术部电容式触摸屏设计人员。 3 工程图设计 3.1 工程图纸为TP模块的成品管控,以及出货依据,包含以下内容: 3.1.1 正面视图: 该视图包含TP外形、view area、active area、FPC图形及相关尺寸.若TP需作表面处理,则必须对LOGO的位置、尺寸、材质、颜色、以及工艺进行标注。 需标注尺寸及公差如下: 3.1.2 侧视图: 该视图表示出TP的层状结构, TP各层的厚度、材质、FPC厚度(含IC等元件)必须标注。 需要标注尺寸及公差如下:

3.1.3 反面视图: 这一图层包含背胶、保护膜、泡棉及导光膜的外形尺寸,以及FPC背面的IC及元件区尺寸。 需要标注尺寸及公差如下: 3.1.4 FPC出线图:一般情况FPC的表示可以在正面视图中完成,主要反应FPC与主板的连接方式。如果FPC连接方式为ZIF ,则必须标注以下尺寸。 如果TP与主板的连接方式为B2B,则必须标注连接器的位置尺寸及公差。走线图,出线对照表: 走线图表示TP内部走线,如下图所示: 出线表为TP内部与外界的连接接口,电容的一般分I2C、SPI、USB,如下图所示: I2C接口

USB接口 3.2 文字说明 该部分对TP的常规非常规性能作重点表述,主要包括以下内容: 3.2.1 结构特性:包括lens材质,ITO膜的厂家及型号,IC型号3.2.2 光学特性:包括透光率,雾度,色度等 3.2.3 电气特性:工作电流,反应时间等 3.2.3 机械特性:输入方式,表面硬度等 3.2.4 环境特性:工作温度,储存温度,符合BHS-001标准等 以上特性如超出行业规格范围,需逐一标注,并让客户确认。 3.3 图档管理 图档管理这块需按以下原则进行相应维护: 3.3.1 按照命名规则填写图框,并签名。 3.3.2 如有更改需有更改记录及版本升级,并需客户确认。

android下触摸屏驱动实现

最近学习了电容触摸屏的驱动及其上层工作原理,拿出来和大家分享! 转]Android触摸屏校准程序的实现 一,校准的触摸算法如下: 触摸屏校准通用方法。 (XL, YL是显示屏坐标,XT, YT是触摸屏坐标,) XL = XT*A+YT*B+C YL = XT*D+YT*E+F 由于具体计算是希望是整数运算,所以实际中保存的ABCDEF为整数,而增加一个参数Div XL = (XT*A+YT*B+C) / Div YL = (YT*D+YT*E+F) / Div TSLIB把以上的7个参数ABCDEF Div 保存在pointercal 文件中。 不校准的数据:A=1, B=0, C=0, D=0, E=1, F=0, Div=1 A B C D E F Div -411 37818 -3636780 -51325 39 47065584 65536 二,Android 事件处理机制 android 事件的传入是从EventHub开始的,EventHub是事件的抽象结构,维护着系统设备的运行情况(设备文件放在/dev/input里),设备类型包括Keyboard、TouchScreen、TraceBall。它在系统启动的时候会通过open_device方法将系统提供的输入设备都增加到这个抽象结构中,并维护一个所有输入设备的文件描述符,如果输入设备是键盘的话还会读取/system/usr/keylayout/目录下对应键盘设备的映射文件(修 改./development/emulator/keymaps /qwerty.kl来改变键值的映射关系),另外getEvent 方法是对EventHub中的设备文件描述符使用poll操作等侍驱动层事件的发生,如果发生的事件是键盘事件,则调用Map函数按照映射文件转换成相应的键值并将扫描码和键码返回给KeyInputQueue. frameworks/base/services/jni/com_android_server_KeyInputQueue.cpp 根据事件的类型以及事件值进行判断处理,从而确定这个事件对应的设备状态是否发生了改变并相应的改变对这个设备的描述结构InputDevice。 Windowmanager会创建一个线程(InputDispatcherThread),在这个线程里从事件队列中读取发生的事件(QueuedEvent ev = mQueue.getEvent()),并根据读取到事件类型的不同分成三类(KEYBOARD、TOUCHSCREEN、TRACKBALL),分别进行处理,例如键盘事件会调用dispatchKey((KeyEvent)ev.event, 0, 0)以将事件通过Binder发送给具有焦点的窗口应用程序,然后调用mQueue.recycleEvent(ev)继续等侍键盘事件的发生;如果是触摸屏事件则调用dispatchPointer(ev, (MotionEvent)ev.event, 0, 0),这里会根据事件的种类(UP、DOWN、MOVE、OUT_SIDE等)进行判断并处理,比如Cancel或将事件发送到具有权限的指定的窗口中去; 移植方案 Android本身并不带触摸屏校准。Android获取到的数据就是驱动上报的原始数据。 方案一: 移植TSLIB,通过TSLIB产生pointercal 校准参数文件。 方案二: 从Android框架层获取OnTouch事件产生pointercal 校准参数文件 方案一: 数据的校准在驱动中完成。即把pointercal 的参数数据通过某种方式(sysfs)传递给驱动程序进行校准。

相关主题
文本预览
相关文档 最新文档