【电阻触摸屏】嵌入式Win CE 电阻触摸屏 驱动编程

本文详细介绍了WinCE系统中电阻触摸屏的工作原理,包括四线电阻式触摸屏的结构和触点坐标计算方法。同时,文章讲解了WinCE触摸屏驱动模型,分为MDD和PDD两层,以及它们之间的函数接口。此外,还探讨了触摸屏驱动的实现过程,包括配置相关控制器、处理触摸事件、校准触摸屏以及驱动的工作流程。
摘要由CSDN通过智能技术生成

转载自:http://blog.csdn.net/loongembedded/article/details/6683548

视频教程:http://download.farsight.com.cn/download/index.htm

 课件:http://download.farsight.com.cn/download/pdf/Farsight081115WinCE.pdf

备注:

MSPS(million samples per second)表示每秒采样百万次,是转换速率的单位,而转换速率(conversion rate)是指完成一次从模拟量到数字量的AD转换所需要时间的倒数。我们知道S3C6410的ADC最大的A/D转换时钟频率是5MHZ,所以可以计算出一次A/D转换的时间=5*(1/5MHZ)=1us,所以1s中的采样次数=1s/1us=1MSPS,这就是1MSPS的由来。

1.    电阻式触摸屏的工作原理

四线电阻式触摸屏是电阻式家族中应用最广、最普及的一种。其结构由下线路(玻璃或薄膜材料)导电ITO层和上线路(薄膜材料)导电ITO层组成。中间有细微绝缘点隔开,其中下层的ITO与玻璃基板附着,上层的ITO附着在PET薄膜上。当触摸屏表面没有压力时,上下线路处于开路状态。一旦有压力施加到触摸屏表面。上下线路就会导通,控制器通过下线路导电ITO层在X坐标方向上施加驱动电压,通过上线路导电ITO层上的探针,侦测X方向上的电压,由此推算出触点的X坐标。通过控制器改变施加电压的方向,同理可测出触点的Y坐标,从而明确触点的位置。当有物体接触触摸屏表面并施以一定的压力时,上层的ITO导电层发生形变与下层ITO发生接触,该结构可以等效为相应的电路,如下图

  

图1

计算触点的X,Y坐标分为如下两步:

⑴. 计算Y坐标,在Y+电极施加驱动电压Vdrive, Y-电极接地,X+做为引出端测量得到接触点的电压,由于ITO层均匀导电,触点电压与Vdrive电压之比等于触点Y坐标与屏高度之比。

⑵. 计算X坐标,在X+电极施加驱动电压Vdrive, X-电极接地,Y+做为引出端测量得到接触点的电压,由于ITO层均匀导电,触点电压与Vdrive电压之比等于触点X坐标与屏宽度之比。

测得的电压通常由ADC转化为数字信号,再进行简单处理就可以做为坐标判断触点的实际位置。

 

图2

2.    WINCE触摸屏驱动模型及接口函数

2.1 WINCE触摸屏驱动模型

WINCE触摸屏驱动模型如下图所示:

(什么是GWES:用户、用户应用程序和操作系统之间的  图形化用户接口http://zhidao.baidu.com/question/173304664.html&__bd_tkn__=67bc462d2c3793384959a767a4b169aa944cd5aa8078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb6015795bfe319d63affe5a0f03de0125270aa637bf0e3e029a717828b98fd13f42750228445bce130d3b3ac0d9a89f798faccbdc8c0bcc3520fe4eab)

(什么是DDI:DDI(Device-Driver Interface)一般的解释是:设备驱动程序接口(DDI))

(什么是MDD\PDD: MDD到OS间的接口 就是我们所说的driver和OS的接口,PDD是PDD层代码和MDD层代码间的接口! MDD层只负责完成driver与OS得交互,他吧与硬件相关的代码留作接口让PDD层来实现,所以如果要用MDD+PDD类型,就看MDD代码里面是怎么定义接口的)

  

图3

在WINCE系统中,触摸屏驱动是一种分为MDD(Model Device Driver,模型设备驱动)层和PDD(Platform Device Drvier,平台设备驱动)层的分层驱动。其中MDD层一般不需要修改就可以直接使用,该部分提供DDI接口给GWES调用,而MDD层通过调用PDD层提供的DDSI函数接口来实现自身的功能。MDD层和PDD层除了DDSI函数接口之外,还要通过一些全局变量来协调者两层的工作,比如gIntrTouch和gIntrTouchChanged全局变量就是在PDD层定义,在MDD层和PDD层都有使用。

我们在触摸屏驱动中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值