北天软件科技公司
北天软件集网站建设、网站开发、软件开发、网站优化SEO、网站宣传、网站开发成一体的网络公司。北天软件是专业的网站建设、网站开发、设计、制作和网站国际推广、搜索引擎推广的网络公司。口号:考虑企业所需,实现企业所想。JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!   旧版java技术网 | 设为首页 | 加入收藏 | RSS订阅地图
热情推荐JavaCMS自助建站系统免费下载
初学者园地  javascript  java技术  .Net技术 XML/WebService  数据库技术  web2.0技术  设计模式  设计框架  SEO技术  综合知识
您现在的位置是: 北天软件门户网>>.Net技术>>详细信息
矩阵键盘开发设计

引言

  随着现代科技日新月异的发展,作为新兴产业的嵌入式移动信息设备的应用越来越广。这些嵌入式设备中的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[1]。

  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中的驱动可分为两种模式:本机驱动模式和流驱动模式[2]。前者比较适合集成在本机上的设备,后者则通常用在用户添加的外围设备上。本文讨论的矩阵键盘作为一种外围设备适合采用流驱动模式。

  3.2 矩阵键盘驱动加载过程

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

  流接口驱动程序的主要任务就是把外设的使用传递给应用程序。这是通过把设备表示为文件系统的一个特殊文件来实现的,每个流接口的驱动程序都必须实现一组标准的接口函数。由于矩阵键盘驱动采用了流驱动模式设计,故矩阵键盘驱动使用标准的流驱动接口函数,也称“矩阵键盘驱动的DLL接口”。DLL接口的具体描述如表1所列。

关闭窗口 】   【 返回首页
推荐文章
· 微软.NET Visual Stud...
· ASP.NET中经常用到的2...
· Lambda表达式的一般应用
· .NET远程的执行SQL文件
· 2008微软技术创新日
· Google的浏览器
· 指定位置插入option
· ASP.NET26个性能优化...
· SEO优化的几点动态
· C#如何取硬件标志代码
· 关键词的几种用法
· 如何动态加载JavaScript
· 把文字变成图片的小程序
· 大文件上传开发总结集合
· .NET 3.5 SP1
· .NET世界中的AtomPub
· 命名空间和命名空间映射
· .net开发绑定到LINQ...
· .net开发绑定到ADO.NE...
· C#实现DB2数据库的编程
北天软件科技公司 版权所有©2006-2008
精彩出品 JavaCMS自助建站 (C)2006-2008 www.it3838.com limited.all rights reserved.
Powered by JavaCMS V2.6.0