contact us
联系我们POSTTIME:2024-08-16 作者:918博天堂 点击量:
章节 随着现代科技日新月异的发展,作为新兴产业的嵌入式移动信息设备的应用于更加甚广。这些嵌入式设备中的PDA以其体积小、轻巧、便于装载、功能强大、功耗低等特点而倍受注目。
键盘作为一种尤为普通的输出工具在PDA上变得尤为重要。PDA因其体积小、功能专一等特点要求了它的键盘不大可能使用普通PC机上的标准键盘,因而大多数PDA使用键数比较较较少的矩阵键盘。矩阵键盘设计也是多种多样,有外接键盘管理芯片设计的,如使用CH452、UR5HCSPI等芯片;有外接普通单片机设计的,如使用8051、2051等单片机;也有不使用任何外围芯片必要与CPU的I/O口连接设计的。
本文讲解一种在WindowsCE.Net操作系统下,必要与CPU的I/O口连接的矩阵键盘的硬件设计方案,以及适当的流模块驱动程序设计方案。 1WindowsCE.Net讲解 WindowsCE是Microsoft公司专门为信息设备、移动应用于、消费类电子产品、嵌入式应用等非PC领域而全新设计的战略性嵌入式操作系统。WindowsCE的设计目标是:模块化以及可伸缩性、动态性能好、通信能力强劲、反对多种CPU[1]。
WindowsCE.Net是WindowsCE3.0的先前产品,它不仅是一个功能强大的动态嵌入式操作系统,而且获取了众多强劲工具,容许用户利用它较慢研发出有下一代的智能化小体积相连设备。借助完备的操作系统功能和开发工具,WindowsCE.Net获取了建构、调试和部署基于WindowsCE.Net的自定义设备所需的一切特性。
WindowsCE.Net的仅次于益处是具备可自定义性。当它自带的驱动程序无法满足用户的拒绝时,必须用户自己撰写适当的驱动程序。WindowsCE.Net的开发工具PlatformBuilder就可以已完成适当的驱动程序研发。 2矩阵键盘硬件设计 嵌入式设备上的键盘作为一种输出工具,具有极其重要的起到;然而不受设备本身体积影响,键盘设计大多数使用20个左右的键值(09数字键、上下左右方向键、确认中止键以及输入法切换键ALT、TAB,明确视应用于而以定)。
这里使用45的矩阵键盘设计,即4行5列。把这些矩阵键盘的行和列必要与CPU的I/O口连接,可以充分利用CPU的I/O口资源,减少硬件和驱动设计可玩性,提升整个系统的稳定性,并在一定程度上减少设备的生产成本。
使用矩阵式键盘设计还可以最大限度地节省CPU的I/O口资源。这里中用了CPU的9个I/O口,其中4个I/O口作为中断I/O口。为了使I/O口的初始输出状态为高电平,必须在与键盘连接的每个I/O口上接起初始化电平起到的上拉电阻(100k)。上拉电阻的阻值根据I/O口端口的电流值来确认。
如果邻接I/O口的布线过近,邻接I/O口的电平跳变可能会相互影响,造成扫瞄按键不精确,这时就必须在每个I/O口上相接一个滤波电容到地,增加串扰。反对WindowsCE.Net操作系统的CPU有很多种,较为少见的有三星公司的S3C2440、2410ARM芯片和Intel公司的PXA255、270ARM芯片,这里的CPU芯片使用的是PXA255。有所不同CPU之间,矩阵键盘硬件设计完全相同。
矩阵键盘硬件设计电路原理如图1右图。 图1矩阵键盘(45)电路原理 3矩阵键盘驱动设计 3.1矩阵键盘驱动研发策略 WindowsCE.Net中的驱动可分成两种模式:本机驱动模式和流驱动模式[2]。前者较为合适构建在本机上的设备,后者则一般来说用在用户加到的外围设备上。本文辩论的矩阵键盘作为一种外围设备合适使用流驱动模式。
3.2矩阵键盘驱动读取过程 WindowsCE.Net系统运营时会配置文件启动DEVICE.EXE进程。DEVICE.EXE就是负责管理读取所有流驱动的,进程对流驱动的读取通过注册表列出器(RegEnum.dll)来构建。键盘的资源信息由OEM兼容层(OAL)记录在注册表中,RegEnum.dll是通过扫瞄注册表项HKEYLOCALMACHINEDriversBuilTInPWRBUTTON下的键值对矩阵键盘展开初始化的。
注册表中关于矩阵键盘驱动的登记信息如下: [HKEY_LOCAL_MACHINEDriversBuiltInPWRBUTTON] Prefix=PWR//设备文件名后缀 Dll=PwrButton.。
本文来源:918博天堂-www.hnzhongyin.com