新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式Linux的键盘驱动设计

基于嵌入式Linux的键盘驱动设计

作者:时间:2010-12-22来源:网络收藏

摘要:提出一种基于的矩阵实现方案,介绍矩阵式的结构与工作原理。课题以IntelPXA255处理器和2.4. 19操作系统为基础,对人机交互接口设备程序的设计开发做了深入的研究,针对系统的的特点,设计基于行列扫描的键盘程序。
关键词:矩阵键盘;嵌入式linux;键盘驱动程序

1 键盘驱动程序的设计
随着电子信息技术飞速发展,嵌入式系统构成的各种设备得到了广泛的应用,嵌入式是一种开放源码、软实时、多任务的操作系统,是开发嵌入式产品的优秀操作系统平台,其中键盘是人机界面中人类监控计算机重要数据输入设备。实现键盘有两种方法:一种是采用现有的一些芯片实现键盘扫描;二是用软件实现键盘扫描。目前许多芯片可用来实现键盘扫描,但是键盘扫描的软件实现方法有助于缩减系统的重复开发成本,而只需很少的CPU开销。嵌入式控制器的功能很强。可以充分利用这一资源。本课题提出的键盘方案是以嵌入式Linux和PXA255为软硬件平台,通过测试,表明其具有良好的稳定性和实时性。

2 矩阵式键盘的结构与工作原理
本课题采用矩阵键盘,如图1所示。四根行线四根列线组成4x4矩阵键盘,分别用CPU的4个GPIO口。当有键按下,某个列GPIO口电平被下拉从而产生下降沿,触发中断。其中按键行阵列必须提供上拉信号,列阵列加二极管,防止瞬间电流过大对GPIO口造成冲击。
a.JPG


3 Linux键盘驱动简介
在Linux中,键盘驱动被划分成两层来实现。上层是一个通用键盘抽象层,下层则是硬件处理层,主要对硬件进行直接的操作。键盘驱动程序上层公共部分在 driver/keyboard.c里。文件中最重要的是内核用EXPORT_SYMBOL这个宏导出的handle_scancode函数。在这个文件中还定义了其它的几个回调函数,它们由键盘驱动程序中上层公共部分调用,并且由底层硬件处理函数实现。键盘驱动程序的底层硬件处理部分则根据不同硬件有不同实现。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭