基于FPGA的数字密码锁 下载本文

CPLD/FPGA课程设计

项目名称:专业班级:学生学号:学生姓名:指导老师:

基于FPGA的数字密码锁设计

年6月4日

2016

摘 要

本设计是基于现场可编程门阵列FPGA 器件的电子密码锁的设计。通过Verilog语言控制4位二进制数,组成数字排列,形成一个简单的数字密码锁,假设预设密码为4位数:0000,当输入正确时输出为1、输入错误时输出为0。同时输出输入的次数,当3次以上输入错误时,输出一个报警信号,即使第四、五次输入正确也输出报警信号。

本设计利用Modelsim软件编写Verilog HDL硬件描述语言程序以实现输入密码、开锁、报警功能。 通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。

关键词: 现场可编程门阵列;数字密码锁;Verilog HDL;

I

Abstract

This design is the electronic code lock field programmable gate array FPGA devices based design. By Verilog language control 4-bit binary number, composed of figures arranged to form a simple digital lock, assuming that the default password is 4 digits: 0000, correct output when the input is 1, the output of the input error to zero. At the same time the number of input and output, and when more than three times the input error, an alarm signal is output, even if the fourth and fifth also enter the correct output alarm signal.

This design uses Modelsim software write Verilog HDL hardware description language program to implement a password lock, alarm function. The simulation debugging, using the programmable device FPGA design basic electronic locks to achieve the desired purpose. Key words: FPGA;The digital combination lock;Verilog HDL;

II

目 录

摘 要................................................................. I Abstract............................................................. II 第1章 所选项目的研究意义............................................. 1

1.1 概述.......................................................... 1 1.2 数字密码锁的研究现状.......................................... 2

1.2.1 数字密码锁的应用........................................ 3 1.2.2 数字密码锁的困难........................................ 3 1.3 本文研究意义.................................................. 3 1.4 设计思路...................................................... 4 第2章 设计方案.............................................................................................................. 5

2.1 功能定义...................................................... 5 2.2 模块设计...................................................... 5 第3章 系统软件设计...................................................................................................... 7

3.1 设计概括...................................................... 7 3.2 设计流程...................................................... 7

3.2.1 密码存储模块............................................ 7 3.2.2 编码模块................................................ 8 3.2.3 比较模块................................................ 8 3.3 主要程序模块.................................................................................................... 9 第4章 软件仿真............................................................................................................ 14

4.1 仿真过程..................................................... 14 4.2 仿真结果..................................................... 15 4.3 仿真分析..................................................... 16

4.3.1 仿真过程.............................................................................................. 17

结 论................................................................................................................................ 18 参考文献.......................................................................................................................... 19 附录1 程序代码........................................................................................................... 20 项目创新及特色.............................................................................................................. 26

III

基于FPGA的数字密码锁(CPLD/FPGA课程设计)

第1章 所选项目的研究意义

1.1 概述

数字密码锁是一个小型的数字系统,与普通机械锁相比, 具有许多独特的优点: 保密性好, 防盗性强, 可以不用钥匙, 记住密码即可开锁等。在人们平时生活中,贵重物品或个人信息资料大多数都已加锁的方式进行保管。如果使用传统的机械锁进行对物品及资料的保管,那么人们要携带很多把钥匙在身上,携带非常不便,而且钥匙丢失将对物品保管的安全性大打折扣,也为人们的生活及心情带来不便。

随着生活质量的不断提高,加强家庭防盗安全变得非常重要,但传统机械锁的构造过于简单,很容易被打开,从而降低了安全性。数字密码锁因为它的保密性很高,安全系数也非常高,再加上其不需要携带避免了丢失的可能,省去了因钥匙丢失而需要换锁的麻烦,受到了越来越多的人的欢迎。随着人们对高科技产品也越来越推崇,在当今社会科技的高度集中和创新,人们对日常生活中保护自身及财产安全的物品非常追捧,对其安全性的要求也非常的高。为了达到人们对锁具安全性的高要求,加强锁具的安全保密性,用密码锁来取代传统机械锁的锁具是必然趋势。数字密码锁比传统机械锁具更加的安全[1]。

锁具发展到现在已有若干年的历史了,锁是用于保管物品的器件,用来关住某种器物的一种器具。其必须用钥匙才能打开。所以在人们的日常生活中离不开锁,这使得我们队锁具的结构和原理也多少有些了解,因此,就有了不借用钥匙就打开锁的方法。锁具都存在致命的弱点,比如锁芯采用常见的铜、锌、铝等材料容易遭到暴力破坏,还有就是锁具制作工艺的技术落后,从而导致防盗功能缺失,目前,国内市场的锁具,实际上都不具备真正的防盗功能,在惯偷面前用几件简单工具就可以轻松打开这些锁,其实不是他们多么的高明,而是一般锁具的原理过于简单,面对这一社会现状,新时代提出了锁具必须改革的迫切需求[2]。

安全防盗已成为人们所关注的焦点。然而传统机械弹子锁安全性低,密码量少且需时刻携带钥匙使其无法满足一些特定场合的应用要求,特别是在人员经常变动的公共场所,目前使用的电子密码锁主要有两个方案:一是基于单片机用分立元件实现的,二是通过现代人体生物特征识别技术实现的,前者电路较复杂且灵活性差,无法满足应用要求;后者有其先进性但需考虑成本和安全性等诸多因素。基于此,本文设计了一种新型电子密码锁,采用FPGA芯片,目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流[3]。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数

1