基于FPGA的键盘接口模块设计

时间:2022-08-10 07:44:30

基于FPGA的键盘接口模块设计

摘要:介绍一种嵌入式系统键盘接口模块的设计和实现。该电路结构简单、可靠性高、易实现。

关键词: 嵌入式系统;键盘;抖动;FPGA

中图分类号:TP2 文献标识码: A 文章编号:1671-1297(2008)11-179-02

一、 概述

军用或民用的手持、背负、车载等通信设备中,键盘是不可或缺的输入单元。键盘接口部分负责自定义键盘和嵌入式处理器的连接,完成键盘扫描、键码产生、命令接收与响应等功能。系统框图如图1所示。

图1中键盘与接口模块之间的连接是行列扫描信号。双向端口表明键盘接口模块需要向嵌入式处理器提供正确的扫描码,同时还需要接收处理器相关的控制指令,如扫描码选择和延迟设定等。

二、相关知识: FPGA简介

现场可编程门阵列(Field Programmable Gates Array, FPGA) 是20世纪80年代中期出现的一种实现数字逻辑的新技术,是在PAL,GAL等逻辑器件基础上发展起来的。

1、FPGA的特点

同以往的PAL,GAL相比,FPGA的规模比较大,适合于时序、组合等逻辑电路的应用。他可以替代几十甚至上百块通用IC芯片。

FPGA采用类似于掩膜编程的门阵列通用结构,因而具有更高的集成度、更强的逻辑实现能力和更好的设计灵活性。同时它还具有在线仿真能力,这种软件的仿真可以非常方便地检查设计的内部接点。利用他们进行数字系统设计具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及实时在线检验等优点。

2、 Verilog HDL语言

Verilog HDL(Hardware Description Language)是目前应用最为广泛的硬件描述语言之一,可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合、仿真验证和时序分析。

三、 实现方法

(一) 特点

根据项目的实际需要,键盘扫描模块应具有如下特点:

1、该模块实时地将扫描所得键值信息写入存储器的指定地址,其中键值信息包括键值和同一按键的重复次数。

2、如果系统对CPU的运行速度要求较高,并且CPU的负荷较重,系统资源比较紧张,则可以在键盘中设置一个单片机,由单片机执行键盘扫描程序,然后向CPU申请中断并送出扫描码或键值。

3、键盘去抖动的方法采用多次扫描法,当连续几次扫描到同一键值时,则认为此键被按下,这样就实现了去抖动操作。

(二)具体实现

键盘扫描是比较耗时和浪费资源的操作,这部分操作有3种传统的处理方法:第1种是用CPU外加并行口扩展芯片(如Intel公司8255)和驱动芯片(如74HC07)完成硬件设计,CPU软件定时扫描获取键值,这是最为经典的方法,其缺点是占用CPU较多的硬件资源和时间。第2种是使用专用控制芯片,如三菱公司生产的M8279。这种方法的优点是CPU软件工作量小、占用IO资源少,缺点是成本高,使用不够灵活。第3种方法是利用CPU的SCI端口和串行输入/并行输出芯片,无须CPU定时扫描,节省了CPU的时间,优化了硬件设计,减少了显示板和主控板间的连线。

该设计采用4个模块来实现键盘扫描功能,分别为即时扫描模块、扫描控制模块、扫描脉冲模块和键值传送模块。

1、 即时扫描模块

独立式非编码键盘一端连接在移位寄存器的位选输出上,另一端接在一起(通过上拉)送回FPGA,用于键值读取。在片选有效的任何时候,与此相连的按键都可被读取。本模块用于完成键盘即时扫描功能。

2、扫描控制模块

键盘接口模块正确生成键码的基础是对键按下或释放的状态有正确的判决。实际键盘在被按下或释放时,扫描信号存在不稳定状态,同时即使按键状态未做改变,扫描线上也可能有干扰,键盘处理方面,键抖动会引起一次按键被误读多次,为了确保对键的一次闭合仅作一次处理,必须去除键抖动。本模块用于控制是否允许进行扫描以及完成键盘去抖动等。

3、扫描脉冲模块

本模块的主要功能是产生扫描延时计数和指示窄脉冲。

4、 键值传送模块

本模块负责把键值的信息写入存储器。

结语

若对该模块稍加修改同样可以移植到其他的系统中,这样可以大大减轻CPU的运行负荷。因此对已有FPGA的系统,用它作键盘电路是一种很好的选择。在产品设计、制造过程中、甚至在交付用户使用之后,仍可根据要求对器件进行逻辑重构和功能修改。在数字系统设计中,为用户提供了一种低成本的解决方案,减少了工作量和成本。

参考文献

[1]夏惊雷.嵌入式系统键盘接口模块的FPGA实现[J].嵌入式系统,

2006.

[2]徐欣,于红旗,易凡等.基于FPGA的嵌入式系统设计[M].北京:机械工业出版社,2005.

[3]王志辉,林水生.基于FPGA的键盘扫描模块的设计实现[J].电子元器件应用,2006.

[4]王志辉,林水生.基于FPGA的键盘扫描模块的设计与实现[J].国外电子元器件,2006.

Design of Keyboard Interface Module Based on FPGA

XuYan1,2,WenTangliu1,3

(1. College of Applied Science, Jiangxi Univ. of Science & Technology, Ganzhou China;2. School of Information Engineering, Wuhan Univ. of Technology,Wuhan China;3. College of Information Engineering, Jiangxi Univ. of Science & Technology, Ganzhou China)

上一篇:房地产价格与居民住房消费 下一篇:环境监测生物技术