×

使用VHDL设计PS2键盘控制的电子密码锁详细资料说明

消耗积分:1 | 格式:pdf | 大小:1.77 MB | 2019-04-23

王娟

分享资料个

  现代社会,人们的安全意识正在不断提升。按键密码锁由于其具有方便性、低成本等特征,还是大有用武之地的。但是通常的按键密码锁开发,都是基于单片机技术。因为单片机在性能方面存在着一些不足,还不能完全满足人们对密码锁功能和安全方面进行扩展的需求。所以,本文提出了一种相应的解决方法。本文阐述了一种基于FPGA平台和VHDL语言的密码锁设计原理与方法。密码锁作为一个小型数字系统,通过利用PS/2接口键盘作为输入模块、 FPGA作为核心处理模块、LED数码管作为输出模块,来实现其具体的功能。设计过程中所用的具体芯片型号是XILINX公司的SPARTAN XC3S400,EDA开发工具为ISE ,仿真工具是Modelsim SE。最后,本文实现了一个简单的密码锁原型系统的设计。该系统开发采用了“从上至下”的设计方针,先设计系统的主要功能模块,然后对功能模块进行具体化实现。最终的密码锁系统,解决了密码锁输入模块的通讯问题,密码锁控制模块的构造问题,密码锁输出模块的显示问题。

  随着社会的发展,人们的安全意识正在不断提升。这就需要更先进的锁类产品来满足人们更高的需求。与普通的机械锁相比,电子密码锁由于具有更高的安全性以及更智能化的操作性,所以逐渐受到人们的青睐。按照操控方式来分类,目前市场上的电子密码锁设备,大致可划分为如下三种:生物特征密码锁、卡式密码锁和键盘密码锁[1]。其中,生物特征密码锁一般是通过识别人体的某些生理特征来进行工作的产品,如基于指纹识别、声音识别的密码锁[1]。生物特征密码锁由于具有很高的安全性,一般被用在安全性要求极高的行业中,如银行业[1]。卡式密码锁一般是通过识别IC(Integrated Circuit,集成电路)卡等具有存储功能的卡片来进行工作的产品。卡式密码锁又可分为接触式和非接触式两种类型[1]。无论是哪一种都需要人们随身携带卡片,万一卡片丢失损坏或被盗,就会给使用者造成无可挽回的损失。键盘式电子密码锁是通过键盘输入密码信号来进行工作的设备[1] 。从价格和方便性的角度综合考虑,键盘式电子密码锁是比较适合一般大众的。因而,键盘式密码锁具有广泛的研究前景与应用价值。但是在研究了键盘式电子密码锁设计的相关文献之后,会发现目前此类密码锁在设计的过程中所使用的工具与开发模式存在如下问题:

  (1)当前键盘式密码锁产品的设计主要是基于单片机技术,将单片机作为系统的中央处理模块。但是单片机在性能方面存在着一些不足,还不能完全满足人们对功能和安全方面进行扩展的需求。单片机一般只有40个引脚、几KB的存储器容量[2],那么在利用单片机做功能设计和扩展时就受到了很大的限制。比如,要在密码锁键盘识别的基础上,再增加语音识别或指纹识别等功能时,就需要控制芯片拥有更大的存储空间、更快的处理能力。而这是单片机所不具备的。

  (2)当前键盘式密码锁产品设计过程中,开发人员在利用单片机进行开发时,主要采用汇编语言或者是C语言[3],这类语言不能够充分模仿硬件电路级的行为,从而增加了开发成本。以汇编语言为例,汇编语言是一些转移指令、运算指令、跳转指令等底层硬件指令的集合[4]。要完成一个简单的功能,如键盘时序的控制,一般就需要写上百行的汇编代码。最终,程序会十分冗长,并且可维护性差。

  (3)当前键盘式密码锁产品设计过程中,开发人员针对不同型号的产品一般都要重新设计键盘扫描电路、键盘消抖电路和键盘译码电路等接口电路。而这些重复工作无疑增加了开发人员的负担。针对上述这些问题,本文提出了一种解决办法。首先,如果能够采用FPGA(Field Programmable Gate Array,现场可编程门阵列)作为中央处理模块来进行密码锁设计就基本可以解决单片机容量不足和扩展性能力弱的问题。目前的FPGA芯片一般有200个引脚,几MB的存储容量[5],具备密码锁等小型数字系统设计的容量与能力,甚至绰绰有余。其次,如果能够采用EDA(Electronic Design Automation,电子设计自动化)技术作为密码锁的开发模式来进行设计,就基本可以解决利用汇编或C进行开发的可维护性差的问题。因为在电子设计行业,EDA技术是进行数字系统设计的重要手段,并且在某些复杂系统设计领域中甚至成为主要的手段[6]。在EDA软件的支持下,开发人员需要做的只是描述数字系统的功能与行为,然后将描述的结果交由计算机软件进行处理,最终在下载到FPGA中后便得到想要的电子线路[6]。通过这样的设计方式,使原本需要在硬件上进行的修改,简化到只需要修改程序的程度。

  本文所采用EDA编程语言是VHDL(Very high speed integrated circuit Hardware Description Language, 超高速集成电路硬件描述语言)语言。 VHDL作为一种硬件描述语言,具有功能强大的语言结构,可以用简洁的程序来描述复杂的逻辑行为[7]。它具有多层次的设计描述功能,经过工具软件的层层细化,最后可直接生成电路级的描述,下载到FPGA后便可得到所需要的电子设备[7]。VHDL还支持同步电路、异步电路和随机电路的设计[7],这是其他硬件描述语言所不能比拟的。VHDL支持多种设计方法,既支持自底向上的设计模式,也支持自顶向下的设计模式。所以,在利用VHDL语言进行数字系统设计时,可以极大地发挥开发人员的创造性。最后,考虑到当前PS/2(Personal System 2,个人系统2)键盘已经集成键盘扫描电路、消抖电路、译码电路[8]。所以,在采用PS/2键盘直接作为密码锁输入电路之后,就可以减轻开发人员重复设计接口电路的工作负担。并且PS/2键盘具有广泛的普及率、丰富的按键等优势。这些因素将给开发者带来巨大的方便。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !