tempad
ReadyGo!技术成就梦想 >>.Net >> Windows CE.Net下矩阵键盘开发设计详解 (1)

Windows CE.Net下矩阵键盘开发设计详解 (1)

ReadyGo!技术成就梦想 网络搜索 efish 2008-6-7 17:26:04

引言

  随着现代科技日新月异的发展,作为新兴产业的嵌入式移动信息设备的应用越来越广。这些嵌入式设备中的PDA以其体积小、重量轻、便于携带、功能强大、功耗低等特点而备受青睐。键盘作为一种最为普通的输入工具在PDA上显得尤为重要。PDA因其体积小、功能专一等特点决定了它的键盘不大可能采用普通PC机上的标准键盘,因而大多数PDA采用键数相对较少的矩阵键盘。矩阵键盘设计也是多种多样,有外接键盘管理芯片设计的,如采用CH452、UR5HCSPI等芯片;有外接普通单片机设计的,如采用8051、2051等单片机;也有不采用任何外围芯片直接与CPU的I/O口相连设计的。本文介绍一种在Windows CE.Net操作系统下,直接与CPU的I/O口相连的矩阵键盘的硬件设计方案,以及相应的流接口驱动程序设计方案。

  1  Windows CE.Net介绍

  Windows CE是Microsoft公司专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而全新设计的战略性嵌入式操作系统。Windows CE的设计目标是:模块化以及可伸缩性、实时性能好、通信能力强、支持多种CPU。

  Windows CE.Net是Windows CE 3.0的后续产品,它不仅是一个功能强大的实时嵌入式操作系统,而且提供了众多强大工具,允许用户利用它快速开发出下一代的智能化小体积连接设备。借助于完善的操作系统功能和开发工具,Windows CE.Net提供了构建、调试和部署基于Windows CE.Net的定制设备所需的一切特性。

  Windows CE.Net的最大好处是具有可定制性。当它自带的驱动程序不能满足用户的要求时,需要用户自己编写相应的驱动程序。Windows CE.Net的开发工具Platform Builder就可以完成相应的驱动程序开发。

  2  矩阵键盘硬件设计

  嵌入式设备上的键盘作为一种输入工具,有着极其重要的作用;然而受设备本身体积影响,键盘设计大多数采用20个左右的键值(0—9数字键、上下左右方向键、确定取消键以及输入法切换键ALT、TAB,具体视应用而定)。这里采用4×5的矩阵键盘设计,即4行5列。把这些矩阵键盘的行和列直接与CPU的I/O口相连,可以充分利用CPU的I/O口资源,降低硬件和驱动设计难度,提高整个系统的稳定性,并在一定程度上降低设备的生产成本。采用矩阵式键盘设计还可以最大限度地节省CPU的I/O口资源。这里用到了CPU的9个I/O口,其中4个I/O口作为中断I/O口。为了使I/O口的初始输入状态为高电平,需要在与键盘相连的每个I/O口上接起初始化电平作用的上拉电阻(100 kΩ)。上拉电阻的阻值根据I/O口端口的电流值来确定。如果相邻I/O口的布线过近,相邻I/O口的电平跳变可能会相互影响,导致扫描按键不准确,这时就需要在每个I/O口上接一个滤波电容到地,减少串扰。支持Windows CE.Net操作系统的CPU有很多种,比较常见的有三星公司的S3C2440、2410 ARM芯片和Intel公司的PXA255、270 ARM芯片,这里的CPU芯片采用的是PXA255。不同CPU之间,矩阵键盘硬件设计相同。矩阵键盘硬件设计电路原理如图1所示。        

            图1  矩阵键盘(4×5)电路原理

  3  矩阵键盘驱动设计

  3.1  矩阵键盘驱动开发策略

  Windows CE.Net中的驱动可分为两种模式:本机驱动模式和流驱动模式。前者比较适合集成在本机上的设备,后者则通常用在用户添加的外围设备上。本文讨论的矩阵键盘作为一种外围设备适合采用流驱动模式。

  3.2  矩阵键盘驱动加载过程

  Windows CE.Net系统运行时会默认启动DEVICE.EXE进程。DEVICE.EXE就是负责加载所有流驱动的,进程对流驱动的加载通过注册表列举器(RegEnum.dll)来实现。键盘的资源信息由OEM适配层(OAL)记录在注册表中,RegEnum.dll是通过扫描注册表项HKEYLOCALMACHINE\Drivers\BuiltIn\PWRBUTTON下的键值对矩阵键盘进行初始化的。注册表中关于矩阵键盘驱动的注册信息如下:
  
  Prefix=PWR//设备文件名前缀
  Dll=PwrButton.Dll//键盘驱动的动态连接库名
  Order=dword:2//键盘驱动加载顺序
  Ioctl=dword:4

1 2 >>

[1]  [2]  上一页  下一页
责任编辑: efish 参与评论 查找更多:
相关文章
使用 Exchange 2000 Collaboration Data Objects:性… 使用 Exchange 2000 Collaboration Data Objects:性能优化
如何编写用于 SharePoint Portal Server 2003 的备份… 如何编写用于 SharePoint Portal Server 2003 的备份和恢复应用程序
将仪表板 Web 部件转换为 Microsoft SharePoint 产品… 将仪表板 Web 部件转换为 Microsoft SharePoint 产品和技术的 Web
使用 Wppackager 打包和部署 Microsoft SharePoint … 使用 Wppackager 打包和部署 Microsoft SharePoint 产品和技术的 Web 部件
面向开发人员的 Web 部件介绍 面向开发人员的 Web 部件介绍
向 Visual Studio 2005 Tools for Office 迁移时,将… 向 Visual Studio 2005 Tools for Office 迁移时,将 VBA 代码转换为 Visual Basic .NET
针对开发人员的智能标记 针对开发人员的智能标记
在 Excel 2003 中创建 XML 映射 在 Excel 2003 中创建 XML 映射
Office 2003 主 Interop 程序集的安装和使用 Office 2003 主 Interop 程序集的安装和使用
在自定义 Web 窗体中托管 InfoPath 2007 窗体编辑环境 在自定义 Web 窗体中托管 InfoPath 2007 窗体编辑环境
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想