基于FPGA可靠性电子密码锁设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA可靠性电子密码锁设计

基于FPGA可靠性电子密码锁设计   摘 要: 以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDL)为主要表达方式,设计了一种基于FPGA的电子密码锁,它能够实现记忆和修改4位密码、多次输入密码错误时进行报警等功能,保密性和安全性能进一步增强,最后利用Quartus Ⅱ软件平台完成了电子密码锁的功能设计与仿真,并在FPGA芯片EP1C12Q240C8和EDA?VI开发系统上通过了验证。结果表明,利用该方法设计的密码锁具有高安全性、低成本、低功耗、操作简单等优点。   关键词: 密码锁; FPGA; VHDL; Quartus Ⅱ   中图分类号: TN702?34 文献标识码: A 文章编号: 1004?373X(2013)07?0151?03   0 引 言   随着电子技术的发展,具有防盗报警功能的电子密码锁越来越收到人们的青睐,用其代替密码量少、安全性差的机械密码锁已是必然趋势。电子密码锁与普通机械锁相比,具有无可比拟的优越性,如保密性好、防盗性强、可以不用钥匙记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,以软件的方式生成编码器与解码器。而在实际应用中,由于程序容易跑飞,使得系统的可靠性比较差。基于FPGA[1?2]器件的电子密码锁,所有算法完全由硬件电路实现,使得系统的可靠性大为提高。   1 电子密码锁功能设计要求   设计的密码锁应具有下列功能:具有密码预置功能,并有上锁指示;密码串行输入,且输入过程中不提供密码数位信息;只有正好输入4 位密码且密码完全正确时按下解锁键,才能打开密码锁;密码输入过程中密码有误时,能对已经输入的密码清除以便重新输入密码;密码连续三次输入错误,开启报警;设置万能密码为8888,防止遗忘密码造成的诸多不便;密码可以修改,在密码锁打开状态下,输入新的密码,按下上锁键即可修改密码。   2 电子密码锁设计方案   一个通用的密码锁[3]是由密码锁控制器以及附加的外围电路组成的,其中密码锁控制器的主要作用是接收输入密码并进行密码的验证操作,外围指示电路的主要作用是用来输入密码、显示输入的密码和根据密码验证的结果给出不同的信号显示或者启动报警装置,其中报警装置通常用扬声器。电子密码锁的组成框图如图1所示。      密码锁系统结构框图   3 电子密码锁的电路实现   电子密码锁主要有输入电路模块、控制电路模块、显示电路模块和报警电路模块四个模块[4?6]。由于显示模块比较简单,重点介绍输入电路、控制电路和报警电路。   3.1 电子密码锁输入电路的设计[7]   电子密码锁输入电路即矩阵键盘输入电路,包括时序产生电路、键盘消抖电路、键盘扫描电路、键盘译码电路四个子模块。   (1)时序产生模块。它对系统的主时钟进行分频,以产生4×4矩阵键盘的行扫描信号所需要的时钟。分频是因为消除按键抖动的计数器时钟要比分频后扫描时钟高得多。   (2)按键抖动消除模块。由于矩阵式键盘是机械开关结构,因此在开关切换的瞬间会在接触点出现信号来回弹跳的现象,若不消除,一次按键会被错误地认为同一键被多次按下,从而造成输入密码的错误。按键抖动消除的方法可以采用硬件方法和软件延时方法,本文采用计数法来实现软件延时。键盘弹跳的时间一般为10 ms,因此去抖时钟设为1 kHz,只有连续8次检测到有按键按下时,才算是一次有效按键输入。   (3)键盘扫描模块[8]。扫描电路的作用是提供键盘扫描信号的。当检测到分频输出信号的上升沿到来时,扫描信号就跳为下一行,当扫描到最后一行时,再从第0行开始扫描。   (4)键盘译码模块。它负责将按下键的行列位置码译码成相应的键值码,键盘中按键可分为数字按键和功能按键,如定义“*”和“#”为功能按键。   3.2 电子密码锁控制电路的设计   输入电路完成之后,接下来进行电子密码锁的控制电路设计。密码锁的控制电路是整个电路的控制中心,主要完成对数字按键的输入和功能按键输入的响应控制,完成密码的比较、修改及多次试探密码报警提示等多项控制功能。 控制电路包括寄存器清除信号发生电路、输入数字寄存部分、预存密码部分、比较部分和解锁部分。控制电路整体框架      密码锁控制电路结构框图   其中寄存器清除信号发生电路用于产生清除信号,当检测到此信号时,将输入数字寄存器清零。输入数字寄存器部分是一个16位的寄存器[9],负责保存输入的4位数字,比较输入的数字和预存密码是否相等,若相等再按下解锁信号后则解锁指示灯亮。解锁后,如果输入4位数字,按下上锁按键,则实现了密码更改的功能。预存密码寄存器也是一个16位的寄存器,负责保存密码。若想增加密码位数,只需修改程序中两个寄存器的位数以及计数值就可以了。另外设置万能密码“8888”,只要检测到输入为“88

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档