ARN触摸屏驱动实验

合集下载

android下触摸屏驱动实现

android下触摸屏驱动实现

最近学习了电容触摸屏的驱动及其上层工作原理,拿出来和大家分享!转]Android触摸屏校准程序的实现一,校准的触摸算法如下:触摸屏校准通用方法。

(XL, YL是显示屏坐标,XT, YT是触摸屏坐标,)XL = XT*A+YT*B+CYL = XT*D+YT*E+F由于具体计算是希望是整数运算,所以实际中保存的ABCDEF为整数,而增加一个参数Div XL = (XT*A+YT*B+C) / DivYL = (YT*D+YT*E+F) / DivTSLIB把以上的7个参数ABCDEF Div 保存在pointercal 文件中。

不校准的数据:A=1, B=0, C=0, D=0, E=1, F=0, Div=1A 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。

嵌入式系统中的电容触摸屏驱动开发

嵌入式系统中的电容触摸屏驱动开发

嵌入式系统中的电容触摸屏驱动开发0引言在当今高端智能手机中,多点触摸已经成为标配,实现多点触摸屏功能的正是由电容式触摸屏,而电阻式触摸屏智能实现单点触摸功能。

高端M1D平板电脑以及其他多媒体嵌人式设备中,支持多点触摸的电容式触摸屏也有应用。

.虽然现阶段电容式触摸屏的价格较贵,在中低端产品中,还是以电阻式触摸屏为主,但随着电容式触摸屏价格的下降,技术门槛的降低,以及能带给用户更为丰富的体验.电容式触摸屏的应用必将越来越广泛。

MX51是飞思卡尔半导体的基于ARM CORTEX A8内核的高端ARM嵌入式多媒体处理器,Linunx是一个功能强大的嵌入式操作系统.它可以移植在各种不同体系结构的处理器上。

本文以Linux2. b.31内核和M JCS1为系统的软、硬件平台,讨论了电容式触摸屏驱动的开发方法及实现技术。

1电容式触摸屏概述电容式触摸屏利用人体的电流感应进行工作。

它是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂有一层ITo.最外层是一薄层矽土玻瑞保护层,夹层ITo 涂层作为工作面,四个角上弓{出四个电极,内层ITO为屏蔽层以保证良好的工作环境。

当手指触摸在金属层上时,由于人体电场,用户和触摸屏表面形成一个韧合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流二这个电流从触摸屏四个角上的电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,触摸屏控制器通过对这四个电流比例的精确计算,得出触摸点的位置。

与电阻式触摸屏相比,电容式触摸屏表现出了更加良好的性能。

由于轻触就能感应,使用十分方便;而且手指与触摸屏的接触几乎没有磨损,使用寿命长。

2触摸屏驱动工作原理本设计采用的方案是MX51外接瑞士PIXCIR公司的AT-mega168芯片,ATmega168是电容式触摸屏控制芯片。

通过I^2C接口和MX51处理器相连,硬件连接示意图如图1所示。

I^C接口只需要SCL时钟和SDA数据两根信号线,另外,当有手指点击电容触摸屏时,ATmega168采样到坐标值后,会产生一个中断信号(ATTb)通知MX51,AT'I、连到MX51的一个GPIO中断管脚上。

触摸屏驱动程序设计实验报告

触摸屏驱动程序设计实验报告

触摸屏驱动程序设计一.设计目的1,巩固学习嵌入式软件方面的基本知识,进一步熟悉基本概念。

2,熟练常用控件,文件,图形等方面的操作了解基本的流程。

3,运用所用学的嵌入式知识,编写出较为实用的小软件,增进对一些实际问题的软,硬件知识的掌握。

4,培养查阅资料,独立思考问题的能力。

二、要求:编写从A/D转换器的通道x获取模拟数据,并将转换后的数字量以波形的形式在LCD上显示的程序。

三. 实验步骤:四.基本思路及关键问题的解决方法;基本思路:1. 按照步骤程序设计原理说明,使用”CodeWarrior for ARM Developer Suite”软件编写程序并进行编译,建立一个新的文件单击【File】菜单中的【New File】选项,然后出现下面的对话框,输入文件名(加上后缀“.c”),单击保存按钮,在编译过程中如果出现错误,修改程序直到没有错误为止,编译过程中出现警告一般可以不必考虑,但特殊时也要通过修改程序消除警告。

程序编写完成后,将程序所在文件保存到2440test.mcp中,如图所示:2.用开发板测试程序代码:(1)首先设置开发板的拨动开关S2 为Nor Flash 启动,连接好附带的USB 线和电源(可以不必连接串口线)。

(2)设置超级终端(3)开机进入BIOS 模式,此时开发板上的绿色LED1 会呈现闪烁状态,其启动界面,如下图:输入”d”(4)安装USB 下载驱动(5)点击DNW 程序的“USB Port” “Transmit”,选择这个2440test.mcp文件,接着点“打开”,这样就开始下载了五、流程图及电路原理图1.绘制所需的流程图:ADS7843与S3C2410的硬件连接如图1所示,图1 触摸屏输入系统示意图触摸屏驱动程序设计触摸屏驱动程序中重要数据结构typedef struct {unsigned short pressure;unsigned short x;unsigned short y;unsigned short pad;} TS_RET;typedef struct {unsigned int PenStatus;TS_RET buf[MAX_TS_BUF];unsigned int head, tail;wait_queue_head_t wq;spinlock_t lock;} TS_DEV;static struct file_operations s3c2410_fops = {owner: THIS_MODULE,open: s3c2410_ts_open,read: s3c2410_ts_read, release: s3c2410_ts_release,poll: s3c2410_ts_poll, };本设计中触摸屏控制器ADS7843的中断输出通过外部中断5接在中断控制器上,当触摸屏上有触摸事件发生时,会引发中断号为IRQ_EINT5的中断服务程序s3c2410_isr_tc()。

ARM下的触摸屏驱动系统设计

ARM下的触摸屏驱动系统设计

ARM 下的触摸屏驱动系统设计
1 引言
在我们的日常生活中,无论你是在商场购物,还是在银行存取款,触摸式的自动服务器将能为你提供了方便快捷的服务。

这里通过对触摸屏原理的理解和分析,成功的设计出了CPU 与触摸屏芯片之间的硬件连接,并依照硬件和驱动设计的原理,设计出了基于嵌入式Linux 和飞思卡尔i.MX27 芯片以及AD7873 触摸屏芯片的驱动程序,并成功移植到内核中,实现了家庭控制器系统的触摸技术。

2 硬件系统的构成
2.1 电阻式触摸屏原理。

电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X 坐标和Y 坐标的电压。

当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间会产生接触。

所有的电阻式触摸屏都采用分压器原理来产生代表X 坐标和Y 坐标的电压。

如图1 所示,。

触摸屏实训指导课件

触摸屏实训指导课件
显示方式:ON
《触摸屏实训指导》PPT课件
[基本]对话框内容的设置②
图形:quare-1 (有6种图形可选)
边框色、背景色、开关色: 有16级灰度可选,但注意颜色不要接近和相同,特别不要与文本颜 色接近与相同,否则屏幕会显示不出)。 对单色触摸屏,背景色一般选项白色,开关色一般选深色。
手指触摸处
触摸屏主菜单
连接设备设置 GOT设置 时钟的显示及设置 程序/数据管理
《触摸屏实训指维导护功 》能P、P自 T课我诊件断
对于GOT-900系列的触摸屏,其主菜单与GOT-1000系列有 不同。如图所示。
手指触摸处
选择菜单 用户屏模式 HPP模式 采样模式 报警模式 测试模式 其它模式
终止
PLC程序设计软件 FXCP/WIN-C
触摸屏画面设计与输送 PLC程序设计与输送
完成触触摸屏画面和PLC程序的设计输送后,计算机可脱机,由触摸屏 实现对程序的执行与数据显示《触。摸屏实训指导》PPT课件
⑵ 确认计算机上已安装画面设计软件GT Designer2与 PLC程序设计软件FXCP/WIN-C。
PLC输出端接线图
HL1
Y0
HL2
Y1
Y2
HL3
Y3
HL4
Y4
按下按钮D,信号灯HL4发光并保持(要
COM
求用PLC程序的置位指令实现);
+
D C 24v
因为是用触摸屏设定的按钮发出控制信号,所以 PLC输入端就不用外接控制元件。
《触摸屏实训指导》PPT课件
⑷打开PLC程序设计软件FXCP/WIN-C,根据控制要要求编 写PLC程序,用通信线连接计算机与PLC,将程序传送到 PLC中。
梯形图 M0

电容触摸屏原理及其驱动实现.ppt

电容触摸屏原理及其驱动实现.ppt
如下图所示:
(3) 修改TP驱动的makefile编译文件 修改kernel-3.10\drivers\input\touchscreen\mediatek\makefile文件,增加编译选项
obj-$(CONFIG_MSG5846_SP466)
+= msg5846_sp466/
(4) 修改配置文件 修改 /kernel-3.18/arch/arm64/configs/lava6750_sp603_th_debug_defconfig 与 lava6750_sp603_th_defconfig 文
操作时,控制器先后提供电流给驱动线,因而使各节点与导线间形成一特定电场。然后逐 列扫描感应线测量其电极间的电容变化量,从而达成多点定位。当手指或触动媒介接近时,控 制器迅速测知触控节点与导线间的电容值改变,进而确认触控的位置。这种一根轴通过一套AC 信号来驱动,而穿过触摸屏的响应则通过其它轴上的电极感测出来。使用者们把这称为“横穿 式”感应,也可称为投射式感应。传感器上镀有X,Y轴的ITO图案,当手指触摸触控屏幕表面 时,触碰点下方的电容值根据触控点的远近而增加,传感器上连续性的扫描探测到电容值的变 化,控制芯片计算出触控点并回报给处理器。
电气连接框图:
TP端
VDD GND SCL SDA INT RESET VDDIO
主机端
硬件原理图
五、MTK平台驱动实现
1. TP的软件基本操作流程:
◎ 主机端初始化TP的接口方式(I2C端口初始化); ◎ TP IC初始化(主要是为TP上电、复位及下发配置参数,让TP工作起来,不同厂家的IC初 始化方式不同,有些TP不需要主机端下发配置参数); ◎ 设置TP INT引脚(中断方式:低/高电平中断、下降沿/上升沿中断),装载中断向量表; ◎ 等待中断信号,读取手指触摸坐标数据,并上报给系统。

嵌入式实验报告_触摸屏驱动实验

嵌入式实验报告_触摸屏驱动实验

贵州大学实验报告学院:专业:班级:姓名学号实验组实验时间05.06 指导教师余佩嘉成绩实验项目名称触摸屏驱动实验实验目的1.了解触摸屏基本概念与原理。

2.理解触摸屏与 LCD 的密切配合。

3.编程实现对触摸屏的控制。

实验原理1.触摸屏原理触摸屏按其工作原理的不同分为表面声波屏、电容屏、电阻屏和红外屏几种。

常见的又数电阻触摸屏。

如图 3-20 所示,电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。

如图 3-21 所示,当手指或笔触摸屏幕时(图 c),平常相互绝缘的两层导电层就在触摸点位置有了一个接触,因其中一面导电层(顶层)接通 X 轴方向的 5V 均匀电压场(图a),使得检测层(底层)的电压由零变为非零,控制器侦测到这个接通后,进行 A/D 转换,并将得到的电压值与 5V 相比即可得触摸点的 X 轴坐标为(原点在靠近接地点的那端): Xi=Lx*Vi / V(即分压原理)同理得出 Y 轴的坐标,这就是所有电阻触摸屏共同的最基本原理。

2.电阻触摸屏的有关技术电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层叫 ITO 的透明导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层导电层(ITO 或镍金)。

电阻触摸屏的两层 ITO 工作面必须是完整的,在每个工作面的两条边线上各涂一条银胶,一端加 5V 电压,一端加 0V,就能在工作面的一个方向上形成均匀连续的平行电压分布。

在侦测到有触摸后,立刻 A/D 转换测量接触点的模拟量电压值,根据5V 电压下的等比例公式就能计算出触摸点在这个方向上的位置。

EXP19-touchpanel-v1.0

EXP19-touchpanel-v1.0

华恒 ARM9 嵌入式教学实验指导书
第 2 页,共 2 页
Dyk=1024*Vyk-yp / VE 触摸屏 S3C2410 1K
VE T1
NYPON AIN[0]
4.7K VE T2 YPOS 1K
NXPON 4.7K XPOS AIN[2]

1K
YMON
T4
1K
XMON
图 17-1 上述的处理简化了许多细节。如 T1、T2、T3、T4 控制用晶体管的导通电阻不可能等于 0。另外触摸屏的分度是按 10 比特 ADC 的转化值表达的,它和 LCD 显示屏的原点并不重 合,如图 17-2 所示。这里以 240*320LCD 为例,X1 是 LCD 的起点;X2 是 LCD 的终点。 xk 是触针按下的 K 点的 X 位置。要转换成 LCD 像素点阵的位置,LCD Kx 则用下述公式计 算: LCD 240 个点阵
华恒 ARM9 嵌入式教学实验指导书
第 4 页,共 4 页
控制输入区: 位图文件
手写区
字符显示区
图 17-4
手写输入大写字母
图 17-5
手写输入小写字母
(a) 图 17-4:触摸字符输入区,对应的字符区就会变暗,在 LCD 下部显示区中显示该 字符。 (b) 图 17-5:先单击“大/小”软按键,软键盘输入字母就变成了小写,可以输入小写 字母。
(239,0)
(239,116)
120…254
0,288
图 17-6
软键盘、笔形输入区和数据输出区在 LCD 上的分布
(2) 定义 kdb[]结构数组。该数组是同软键盘的分布密切相关的,数组元素与字符输入区的 对应关系见上图 17-6。该数组的每一个元素都是一个数据结构,对应着软键盘上的一个按 键。如图 17-6,kdb[0]对应着“1”这个按键。这个元素的信息如下: {'1', 1+STARTX, 1+STARTY, 15+STARTX, 24+STARTY} “1” 表示在软键盘对应的字符是 “1” , 1+STARTX, 1+STARTY, 15+STARTX, 24+STARTY 表示其所处的小矩形的各个位置坐标。已经定义了 STARTX=STARTY=0,所以在软键盘上 包围“1”的矩形坐标位置为(1, 1, 15, 24),如图 17-6 所示。仔细看可以发现,不同行字符
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

触摸屏驱动实验
班级:电信091 学号: 200916022xx 姓名: xxx 指导教师: xxx 日期: 2011年11月20日
一、实验目的
1.了解触摸屏基本概念与原理。

2.理解触摸屏与LCD的密切配合。

3.编程实现对触摸屏的控制。

二、实验内容
学习触摸屏基本原理,理解对触摸屏进行输出标定、与LCD显示器配合的过程。

三、预备知识
1、用EWARM集成开发环境,编写和调试程序的基本过程。

2、ARM应用程序的框架结构。

3、能够在LCD上进行格式化输出。

四、实验设备及工具
硬件:ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上。

软件:PC机操作系统Win2000或WinXP、EWARM集成开发环境、仿真器驱动程序、超级终端通讯程序
五、实验原理及说明
1.触摸屏原理
触摸屏按其工作原理的不同分为表面声波屏、电容屏、电阻屏和红外屏几种。

常见的有电阻触摸屏。

如图3-20所示,电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。

图3-20 (北泰)触摸屏的结构
如图3-21所示,当手指或笔触摸屏幕时(图c),平常相互绝缘的两层导电层就在触摸点位置有了一个接触,因其中一面导电层(顶层)接通X轴方向的5V均匀电压场(图a),使得检测层(底层)的电压由零变为非零,控制器侦测到这个接通后,进行A/D转换,并将得到的电压值与5V相比即可得触摸点的X轴坐标为(原点在靠近接地点的那端):
Xi=Lx*Vi / V(即分压原理)
同理得出Y轴的坐标,这就是所有电阻触摸屏共同的最基本原理。

图3-21 触摸屏坐标识别原理
六、实验步骤
1. 启动H-JTAG 仿真器并进行初始化配置。

2.启动EWARM0新建工程,将“Exp5触摸屏驱动实验”中的文件添加到工程。

3.在头文件中定义宏及常量(tchscr.c,tchscr.h)
4.编写测试函数(tchscr.c) 将触摸动作及触摸点坐标在超级终端上显示出来。

5.校准触摸屏坐标输出,转换坐标,与LCD紧密配合
可以使用TchScr_GetScrXY()函数来获得液晶屏的x、y方向的电压范围,分别点触摸屏有效面积的左上角和右下角,得到下列参数:
TchScr_Xmax=997;
TchScr_Xmin=38;
TchScr_Ymax=974;
TchScr_Ymin=23;//此数值仅供参考,请以实际校对为准
6. 在ADS集成开发环境中编译、调试和运行工程程序。

七、思考题
(1)电阻型触摸屏检测坐标值的原理
答:A: 屏体部分是一块与显示器表面非常配合的多层复合薄膜:
B:由一层玻璃或有机玻璃作为基层表面涂有透明的导电层(OTI,氧化铟),导电体,透光率为80%);
C:上面再盖一层外表面硬化处理、光滑防刮塑料层,它的内表面也涂有一层OTI在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把他们隔开绝缘;
D:当手指接触屏幕,两层OTI导电层(层间距2.5微米)出现一个接触点,因其中一面导电层接通Y轴方向的5V均匀电压场,使得侦测层的电压由零变为非零,控制器侦测到这个接通后,进行A/D转换,可得触摸点的Y轴坐标;
同理得出X轴坐标;
E:电阻屏根据引线数多少,分为四线、五线等多线电阻触摸屏。

(2)如果LCD坐标原点在右下角,分辨率为240X180,触摸屏坐标原点在右上角请给出触摸屏输出坐标的转换公式,对触摸屏的分辨率有什么影响。

答:lcdx=(x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax -TchScr_Xmin)
lcdy=(TchScr_Ymax - y)*LCDHEIGHT/(TchScr_Ymax-TchScr_Ymin)
其中TchScr_Xmin TchScr_Xmax 为触摸屏的x 轴上最小最大电压值。

TchScr_Ymin
TchScr_Ymax 为触摸屏的y 轴上最小最大电压值。

LCDWIDTH 与LCDHEIGHT 分别是显示屏
的宽度和高度。

x 与y 是触摸点的电压值。

lcdx与lcdy是转换后的坐标。

触摸屏的分辨率尽管可以达到很高,但由于 LCD 分辨率的限制,触摸屏的分辨率为
240X180。

相关文档
最新文档