配色: 字号:
文献综述-多按键状态识别系统设计
2012-11-01 | 阅:  转:  |  分享 
  


毕业设计(论文)文献综述





课题名称:多按键状态识别系统设计

学院:机电工程学院

专业:

年级:

指导教师:

学生姓名:

学号:______

起迄日期:__













文献综述

前言:

按键是一组排列好的功能键,用于把信息输入终端,从而送入既定的系统中。一个按键系统可以设计很多个单独按键,每个按键都各有自己独特的作用,但有时多个按键同时按下,系统也会完成相应的指令。键盘按文字输入同时击打按键的数量可分为单键输入键盘、双建输入键盘、多键输入键盘,而我们一般常用的都是单键输入键盘,速录机键盘属于多键输入键盘(1)。而多键输入键盘相对前面两种键盘来说使用比较方便,不仅提高了输入速度,扩充了输入内容,也增强了按键输入的识别能力。

随着经济的发展,改进、开发出按键识别系统的设计对现实生活中产品的应用以及消费价格至关重要。本文综合叙述了多种按键识别的设计方法,和存在的问题。

主题:

目前,按键输入电路大多数用的主要有两种:一种是非扫描方式可以判断多键状态,即允许多键同时作用,但这种不适用于大量按键情况,所需输入输出端口I/O较多;而另一种是扫描阵列方式,适用于大量按键,但不能多键同时按下识别(2)。目前一般的按键识别系统的设计方案采用以下几种方式。

第一种是最传统的设计按键识别的方法,用AT89S51单片机进行设计,可用串口写入,速度快、稳定性高,烧写电压仅仅只需要几伏,但工作频率最高可高达33MHz。键盘是单片机应用系统中不可缺少的输入设备,常用的有独立式(线性)和矩阵式两种结构(2)。

该设计系统的键盘采用16键矩阵行列式(4×4阵列)查询,电路图如图1。这种按键需要与单片机相连接,否则无法独立的工作。其中按键的P20~P27端口分别接AT89S51单片机的P2.0~P2.7,这样可节省要连接的端口。该键盘可键入数字0~9,以及实现复位功能。先在P2.0~P2.3口置入初始值为0,当有键按下时开始查询,读入P2口的值,若P2口全为二进制码11111111,则表明按下键是在第0行,反之则继续查询下一行。用同样的方法查询下面的行,直到查询到按下的行为为止。然后开始查询列,直到按下键所在的列为止,这样就得到了键入值。



图1按键分布图

独立式按键虽然软件和硬件结构简单,但因每个按键要单独占用一个单片机I/O引脚,所能扩展的按键数量有限,而矩阵式按键尽管在占用I/O引脚的情况下大大提高了按键的数量,但其软件编程比较复杂。

而第二种设计方法则是一种全新的多按键识别方法,此方法也是要依靠单片机来实现,但是由编码器构成的按键接口电路,它不仅节省了CPU的I/O端口资源,解决了按键接口占用计算机硬件资源和按键数量之间的矛盾,而且又能够简化按键识别程序的设计,具有一定的应用价值。

每个按键各连接一个二极管并相应地接入单片机的三个端口P1.2,P1.1,P1.0,引脚上逻辑电平分别为0,0,0;当其中一个按键按下时,P1.2,P1.1,P1.0引脚上逻辑电平分别为0,0,1,其他按键按下时也将产生一个对应的二进制代码,二进制的此种接法具有编码器的逻辑功能。由此可见,只要占用三个I/O端口,就能识别七个按键。此种按键结构按键数与占用I/O引脚的关系为:Y=2x-1,即当用3条I/O引脚时,就可以识别7个按键,4条即可以识别15个按键。照此推算,使用8条I/O引脚的情况下,独立式按键结构只可以识别8个按键,矩阵式按键结构可识别16个按键,而此种按键结构仅用5条I/O引脚即可识别到31个按键,这就大大提高了I/O引脚的利用率,节省了按键以及其他的元器件,使得总电路图更为简洁、易看(2-3)。

第三种设计方法是用单片机实现一线多按键识别技术。在单片机需要有按键输入的时候,常用独立式按键或者是矩阵式键盘等来设计键盘的输入,也就是上面提到的方法。但对于独立式按键常常是一个按键对应一个I/O口,使用更多按键的时候就需要用到更多的I/O口。对于像AVR或者PIC少引脚的单片机来说,在I/O口很有限的情况下想要使用很多按键时,就得使用其他方法来实现。比如说通过74HC165等芯片来扩展输入I/O口,或者是其他的方法,而这样会增加制作成本。在节约成本的条件下而利用AVR好PIC单片机大部分都内置有A/D模数转换器的功能,并且一般都是10位的A/D转换器。我们可以通过若干个电阻串联起来组成分压式方法,在每个分串联电阻之间连接一个按键,按键的另一端接到地,这样只需要利用AVR或者PIC单片机的一个I/O口就可以实现多个按键功能的识别了(2-3)。这种方法只需要占用AVR和PIC单片机的内置10位A/D转换器的一个A/D转换器通道即可,相对来说比较省成本,省制作时间。

EDA就是电子设计自动化技术,是一种以计算机为基础的工作平台,是利用电子技术、计算机技术、智能化技术等多种应用学科的最新成果,开发成的一整套电子CAD软件,是一种帮助电子设计工程师从事电子元件产品和系统设计的综合技术。现在EDA技术的基本特征是采用高级语言描述,具有系统级仿真和综合能力(4)。

在进行功能框图的划分和结构设计规划后,进行仿真、纠错,并用VHDL、Verilog-HDL等硬件描述语言对高层次的系统行为进行描述,再进行系统一级验证,最后逻辑综合优化,完成专用集成电路ASIC的设计与实现(5)。一般有三种途径:1、利用超大规模可编程逻辑器件,如常见的现场可编程门阵列FPGA和复杂可编程逻辑器件CPLD,它们的特点是直接面向用户,具有极大的灵活性和通用性,使用方便、硬件测试和实现快捷,开发效率高、成本低,工作可靠性高等。2、半定制或全定制的ASIC,就要用到掩模门阵列MPGA,但它与FPGA不同,它不是用户可编程的,也不属于可编程逻辑范畴,而是实际的ASIC。3、利用混合ASIC,主要指既具有面向用户的FPGA可编程功能和逻辑资源,同时也包含有可方便调用和配置的硬件标准单元模块(5-6)。

最后再介绍一种按键识别系统设计的方式,就是要利用FPGA可编程门阵列和VHDL汇编语言来实现。FPGA芯片的I/O端口数量较多和可以编程的特点,采用VHDL汇编语言编写程序,实现识别多个按键自由操作运行,这可以简化MCU单片机的控制信号。

VHDL是一种用于数字系统的设计和测试的硬件描述语言,能够达到集成电路的高集成度、系统化、微尺寸、微功耗的要求,并进行模拟仿真(6)。VHDL与其他的硬件描述语言相比,具有更强的行为描述能力,具有丰富的仿真语句和库函数,在完成一个确定的设计后,可以利用EDA工具进行逻辑综合和优化.而且对设计的描述具有相对的独立性,能够简单的改变设计的规模和结构从而完成设计,其本身的生命周期也比较长,不会随着外部的工艺技术改变而使得描述过时。

FPGA是一种可编程逻辑器件,它具有良好性能、极高的密度和极大的灵活性,外围电路简单可靠等特性。FPGA采用Altera公司EPF10K30ATC144,该器件内核采用3.3V供电,端口电压为3.3V可承受5V输入高电平,其工作频率高达100MHz有102个可用I/0端口,每个端口输入电流最高达25mA,输出电流达25mAl728个逻辑单元(Les),12288bit的用户Flash存储器,可满足用户小容量信息存储,完全满足系统设计要求因此,该系统设计由MCU、FPGA、按键等部分组成。路按键信号进入FPGA单元,以供数据采集FPGA处理采集到的数据信号,编码后写入内部FIFO。MCU通过I/O端口提取FIFO中的数据模块通过电源接口向各个部分供电。由于FPGA基于RAM工艺技术,该器件前需要从外部加载配置数据,需要一个外置存储器保存信息,采用可编程的串行配置器件供电电压为33V(8)。

由于外界环境复杂,按键引线长达,保护二极管VDi:在外界干扰信号大于VCC时导通起到保护FPGA的作用。电阻Ri上拉限流,按键未闭合状态下FPGA输入引脚始终处于高电平。FPGA内部逻辑设计FPGA内部功能分为扫描模块、编码模块、控制模块以及同步FIFORAM模块

[3]楼然苗.单片机课程设计实例指导.北京:电子工业出版社.2003

[4]辛春艳.VHDL硬件描述语言.国防工业出版社.2002.1

[5]汉泽西.EDA技术及其应用.北京航空航天大学出版社.2004.5

[6]朱正伟.EDA技术及其应用.北京:清华大学出版社.2005.10

[7]刘艳萍,高振斌,李志军.EDA实用技术及应用.国防工业出版社.2006.1

[8]蒋伟进.株洲工学院学报.1996年第4期.

[9]张开龙,刘军民.电子设计工程.2009年第1期.























献花(0)
+1
(本文系朽木轩首藏)