当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]嵌入式系统在触摸屏驱动程序中的应用

引言

  Windows CE.NET是一个抢先式多任务并具有强大通信能力的Windows 32位嵌入式操作系统,是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而从头设计的战略性操作系统产品。可以看出Windows CE并不是Windows桌面操作系统的一部分或缩减版本。CE系统与其它操作系统一样,也提供了设备驱动程序。以驱动内部或者外围硬件设备。驱动程序将操作系统和设备链接起来,使得操作系统能够识别设备,并为应用程序提供相应的服务。要想真正了解驱动程序必须结合一些驱动程序的实际开发。本文以基于ARM9核心硬件平台的触摸屏驱动程序为例,讲解如何在不同的硬件设备上实现Windows CE的驱动开发。

  1 Windows CE的体系结构

  Windows CE是由许多离散模块组成的。每一模块都提供特定的功能。这些模块中的一部分被划分成组件。组件使Win—dows CE变得非常紧凑,只占不到200KB的RAM,因此只占用了运行设备所需的最小的ROM、RAM以及其它的硬件资源。

  Windows CE包含提供操作系统最关键功能的4个模块:内核模块;对象存储模块;图形、窗口和事件子系统(GWES)模块以及通信模块。Windows CE还包含一些附加的可选择模块。这些模块可支持的任务有管理流设备驱动程序、支持COM等。

  内核是0S的核心。通过Core DII模块表示。它提供在所有设备中都出现的基本操作系统功能。内核负责内存管理、进程管理、以及特定文件管理等功能。它还管理虚拟内存、调度、多重任务处理以及例外处理等。

  对象存储可将用户数据和应用程序数据存入文件或注册器。在操作系统构造进程的过程中,对于这些不同的对象存储组件,可以选取,也可以忽略。

  GWES是用户、应用程序和0S之间的图形用户接口。

  GWES通过处理键盘、笔针动作来接受用户输入。并选择传送到应用程序和0S的信息。GWES通过创建并管理在显示设备和打印机上显示的窗口、图形以及文本来处理输出。

  通信组件提供对下列通信硬件和数据协议的支持:串行I/O支持,远程访问服务(RAS),传输控制协议/Internet协议(TCP/IP),局域网(LA娜,电话技术API,Windows CE的无线服务。Win—dows CE的整体架构如图1。

 

  2 设备驱动的中断处理

  中断是硬件与软件打交道的重要方法,所以大多数驱动程序都涉及到中断处理。要想了解驱动的开发过程。必须先了解Windows CE中断机制。在CE的中断处理中。一部分工作是由CE Kernel完成的,一部分是由OEM完成的。Windows CE的中断服务例程是由OAL(对象抽象层)实现的。硬件中断被发送到内核的异常处理器。内核的中断支持处理器调用OAL函数OEMInterruptDisable来屏蔽此硬件的特定中断。然后内核调用ISR来进行物理中断,以中断标志符的形式返回逻辑中断给系统的任务调度程序。系统得到该中断号后,就会找到该中断号,并唤醒等待相应事件的线程(IsD,然后IST就可以在用户模式下进行中断处理。处理完成后。IST需要调用InterruptDONe来通知操作系统中断处理结束。其中的管脚断的详细处理过程如图2所示。

 [!--empirenews.page--]3 WinCE下驱动程序模型

  要编写驱动程序还要确定它是属于哪种驱动。Windows CE驱动程序分本机设备驱动和流设备驱动。本机设备驱动程序是被静态地链接到GWES,它们不作为一个单独的DLL存在。有一些类型的设备,如键盘、显示器和Pc卡插槽等对操作系统都有一定的接口,是专门用于Windows CE.NET的。所以它们都属本机设备驱动。若是按照结构分,又可分为分层的驱动程序和不分层的驱动程序。分层的驱动程序由两个设置好的层组成:上层是模型设备驱动程序(MDD),下层是依赖平台的驱动程序(PDD)。流接口驱动程序是以动态链接库形式存在的,由设备管理器统一加载、管理和卸载。其驱动模型见图3。本文采用分层的驱动程序来完成基于$3C2410的触摸屏驱动。

 

  4 Windows CE下触摸屏驱动程序的实现

  4.1 配置硬件

  对于分层的驱动程序只需要编写对应于特定硬件平台的PDD层代码。首先是配置控制器硬件,这是完成驱动程序的第一件事。即对触摸屏进行硬件初始化。也就是通过向映射到存储器的寄存器中写人数据将触摸屏控制器设置成某个确定的状态。配置硬件之前,我们需要事先决定是否采用中断驱动。

  这里我们采用中断驱动方式。要说明的是。并不是采用中断永远是最好的设计方式。配置硬件这一过程是由TouchPanalPowerOn0函数完成的。下面是部分实现代码:

 

 

  4.2 设置中断判断被触摸情况

  对触摸屏基本的硬件进行正确设置完成后。接下来就要采用一种可靠的方法来判断屏幕是否被触摸了。在其驱动中采用了两个逻辑中断:

  1.SYSINTR TOUCH,用于触摸笔点击触摸屏时产生相应的中断:

  2.SYSINTR TOUCH_CHANGE,用于触摸笔离开时产生相应的中断。

  该过程有几个判断要点:检查屏幕是否被触摸;采集每个轴上的多个原始数据用于以后的过滤;检查屏幕是否仍在被触摸。[!--empirenews.page--]4.3 读取数据并去抖

  当屏幕被触摸时。我们首先读取x轴和Y轴的原始数据并进行去抖处理,然后判断得到的数据是否稳定,如果不稳定,继续读取数据并去抖,直到得到稳定的数据为止。读取触摸点的坐标是由DdsiTouchPanalGetPointoi累i数实现的。部分实现代码如下:

 

 

  4.4 触摸屏校准

  完成前面繁琐的工作后,驱动程序的各种功能就都已经准备就绪了。现在就可以实际触摸屏幕了。电阻触摸屏在操作前需要校准。这需要一些参考值。以便我们能够将接收到的原始模数转换值转换成高层软件所需的屏幕像素坐标。由于许多电阻触摸屏存在着显着的非线性,所以如果在最大值和最小值之间简单的插入几个位置数值会导致驱动程序非常不精确。通常触摸驱动程序在一启动时就运行校准程序。但要记住一定要把这些参考值保存起来。以免我们在以后的加电启动期间再做校准。

  下面是校正算法代码:

 

  做出准确判断的唯一途径就是进行大量反复的测试。经过大量试验表明,选取的校准点越多,内插窗口的间距越小,所得到的校准精度就越高。校准完成之后。便可以开始正常的操作了,并开始向更高层的软件发送触摸事件。最后一步,我们利用Platform Builder把编制好的驱动程序加载到WinCE内核中,然后烧录到目标设备。启动后我们就会得到一个友好的触摸屏界面。就能检验该驱动程序是否成功了。

  5 结语

  设计Windows CE驱动程序时。首先要选好驱动程序的类型。本文选取的是分层的本机设备驱动。开发的效率比较高,其它的驱动程序可以根据实际情况选择合适的驱动模型。此外。Windows CE的驱动程序可以针对不同的硬件平台进行移植。只要掌握了上述核心思想就能成功实现移植。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭