基于FPGA的数字密码锁设计【毕业论文】.doc

上传人:一*** 文档编号:79105 上传时间:2018-06-28 格式:DOC 页数:53 大小:1.54MB
下载 相关 举报
基于FPGA的数字密码锁设计【毕业论文】.doc_第1页
第1页 / 共53页
基于FPGA的数字密码锁设计【毕业论文】.doc_第2页
第2页 / 共53页
基于FPGA的数字密码锁设计【毕业论文】.doc_第3页
第3页 / 共53页
基于FPGA的数字密码锁设计【毕业论文】.doc_第4页
第4页 / 共53页
基于FPGA的数字密码锁设计【毕业论文】.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、 本科 毕业 论文 (设计 ) (二零 届) 基于 FPGA的数字密码锁设计 所在学院 专业班级 电气工程及其自动化 学生姓名 学号 指导教师 职称 完成日期 年 月 - 2 - 摘 要 随着电子技术的发展,各类电子产品应运而生,数字密码锁就是其中之一。数字密码锁首先需要实现密码的输入和显示,并且要具有安 全可靠性,其次,需要能够反复更改不同的密码,并且可以将密码保存起来。本文针对数字密码锁的功能要求,决定采用 FPGA 设计的数字密码锁方案。 在文中介绍了数字密码锁的结构设计、主要功能、模块划分及总体和各模块的 VHDL 源程序,通过使用 VHDL程序语言的编译,模拟实现数字密码锁的各项功能

2、,并且给出了数字密码锁设计的仿真结果。 然后研究了其在各领域的应用及未来的发展以及对其安全可靠性的说明。最后 ,在 Quartus II 环境下进行了电路的模拟仿真,仿真结果说明,整个设计基本满足了预期数字密码锁的设计目标。 关键 字 : FPGA; VHDL; 数字密码 锁; Quartus II - 3 - Abstract With the development of electronic technology, various electronic products have appeared, the digital code lock is just one of them. T

3、he digital code lock needs to implement the password input and display, to have the safety and reliability. The digital code lock also needs to change different password, and the password can be stored. This paper accords to the function requirements of digital code lock, decided to adopt the scheme

4、 of digital Code Lock design based on FPGA. This paper summarizing the definition of digital lock, working principle, and the classification of various types of digital code lock. A way of the electronic circuit-design was employed. Function and operation of computer simulation applied to the electr

5、onic system design. The result of computer simulation was obtained. Its application in all areas and future development will be introduced in the second part. Subsequently, a variety of digital code lock will be summarized and compared. Finally, the simulation of the circuit which is under the envir

6、onment of the Quartus II has indicated that the whole design is to meet the desired objectives. Keywords: EDA; VHDL; Digital Password Lock; Quartus II - 4 - 目 录 1 引言 . 1 2 实现方案的确定 . 2 2.1 基于单片机技术的设计方案 . 2 2.2 基于专用集 成电路的控制设计 . 5 2.3 基于 FPGA 实现的设计方案 . 7 3 功能模块设计与实现 . 8 3.1 数字密码锁的框架 . 8 3.2 主要功能模块的划分 .

7、 9 3.3 各功能模块的原理与仿真 . 10 3.3.1 控制器模块 . 10 3.3.2 密码存储模块 . 11 3.3.3 编码模块 . 12 3.3.4 数码管显示译码模块 . 14 3.3.5 分频模块 . 15 3.3.6 同步消抖模块 . 17 3.3.7 使能电路模块 . 19 3.3.8 反相电路模块 . 21 3.3.9 比较模块 . 22 3.3.10 计数器选择模块 . 23 3.3.11 指示电路模块 . 25 4 数字密码锁的综合调试与结果说明 . 27 4.1 顶层电路 . 27 4.2 过程调试 . 30 5 展望 . 33 6 致谢 . 错误 !未定义书签。

8、7 参考文献 . 34 附录 1 程序代码 . 35 - 1 - 1 引言 随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。电子密码锁可以用分立元件、单片机等来实现,其中分立元件现在不常用,目前使用的电子密码锁大部分是基于单片机技术 ,以单片机为主要器件 ,其编码器与解码器的生成为软件方式。在实际应用中 ,由于程序容易跑飞 , 系统的可靠性能相对来说比较差。 当前,数字应用系统设计向小型化、快速化、大容量、重量轻的方向发展。FPGA是英文 Field Programmabl

9、e Gate Array 的缩写,即现场可编程门阵列,它是在 PAL、 GAL、 EPLD 等可编程器件的基础上进一步发展的产 物。 FPGA 的结构一般分为三部分:可编程逻辑模块、可编程 I/O 模块和可编程内部互连区 IR。CLB 的功能很强,不仅能够实现逻辑函数,还可以配置成 RAM 等复杂的形式。基于 SRAM 的 FPGA 器件工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的 EPROM 或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程 1。 FPGA 出现后受到电子设计工程师的普遍欢迎,发展十分迅速。 本设计是一种基于现场可编程门阵列(

10、FPGA)器件的电子密码锁。由于 FPGA具有 ISP 功能,当用户需要更改时,如增加口令位数和更改口令权限管理时,只需更改 FPGA 中的控制和接口电路,利用 EDA 工具将更新后的设计下载到 FPGA中即可,无需更改外部电路,这就大大提高了设计效率。而且采用 FPGA 设计的电子密码锁与单片机控制的电子密码锁相比结构简单、具有更高的系统保密性和可靠性 2。这种基于 FPGA 的电子密码锁可以应用在办公室、仓库、宾馆等人员经常变动的场所。 - 2 - 2 实现 方案的确定 结合设计任务和功能实现要求,下面简单介绍一下单片机实现和分立元件实现数字密码锁的技术,并在此基础上确定基于 FPGA 的

11、主控实现方案。 2.1 基于单片机技术的设计方案 数字密码锁的设计框图如图所示。 整个设计由键盘控制、掉电存储、数字显示、指示灯电路、控制电路和报警电路组成。 图 2-1 基于单片机的原理框图 键盘控制主要用于输入密码或者设置自己想设的密码。当输入的密码时将输入的信号传入 89S51 单片机中,经过数据处理再传给输 出电路 3。若密码正确则指示灯电路显示绿灯,开锁控制电路执行开锁;若输入的密码错误,指示电路显示红灯;若连续三次输入错误,输入错误锁定键盘电路则将锁定键盘,延时报警控制电路报警。 AT24C02 掉电存储电路是用于在电源没电的时候存储之前设置好的密码的相关数据,防止被盗和提高密码锁

12、的安全性。 AT24C02 掉电存储 输入错误锁定键盘 延时报警控制电路 指示电路 89S51 单片机 数字显示电路 键盘控制 开锁控制电 路 - 3 - 图 2-2所示主程序的流程图中:当开启密码锁电源时先对密码锁进行初始化,原先设置好的密码保存在密码锁中。当有按键按下时就启动定时器,开始计数按键按的次数是否按完 ,若没按完则不进入下一步;若按键超过规定时间则自动清除原先按入的密码;若超时三次则锁定键盘。结束按键且未超时就可以将输入完的密码与设置好的密码进行比较,比较结果相同则开锁,不同则重新开始。主程序主要完成初始化、设置中断向量、检查有无按下、以及调用显示等等。键盘采用查询的方式放在主程

13、序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向响应的子程序处理,处理结束再返回。 图 2-2 主程序流程图 初始化 调用显示 有键按 下 启动定时 识别按键 全部按完 超时 比较密码 开锁 N Y N Y N 自动清除 3 次? N Y Y 开始 结束 锁定 - 4 - 图 2-3 为键盘处理功能是检查键盘的输入情况,如没有输入则置寄存器 R0为 0FFH,若有输入,则判断是哪个键被按下,并把对应的键的值赋予寄存器 R0,根据 R0 中不同的键值转向不同的按键处理程序。其中使用延迟 10ms 的方式实现消抖功能。 图 2-4 为修改密码的流程图,当按下修改键时,启动定时器

14、定时,此时可以输入新密码存入缓存中,然后再输入旧密码确认后与之前设置好的密码进行比较,若密码相同则将新密码存如 AT24C02 中,修改密码成功后通过显示电路显示,最后按修改键退出修改密码;若不相同则需要重新输入新密码再次进行设置。 有按键否? 调用显示 Y 延时程序 扫描程序 有没按键? 返回 N 读取键号 处理程序 找到 未找到 Y N 图 2-3 键盘处理程序流程图 图 2-4 修改密码流程图 初始化 启动定时 输入新密码 存入缓存 输入旧密码 比较密码 N 调用 24C02 Y 调用显示 按下修改键 修改键退出 - 5 - 2.2 基于专用集成电路的控制设计 基于标准单元的半定制设计方

15、法 , 是指采用经过精心设计的逻辑单元版图 , 照芯片的功能要求排列而成集成电路的设计技术。标准单元具有以下特征 : ( 1)各单元具有相同的高度 , 可以有不同的宽度。 ( 2)单元的电源线和地线通常安排在单元的上下端 , 从单元的左右两侧同时出线 , 电源、地线在两侧的位置要相同 , 线的宽度要一致 , 以便单元间电源、地线的对接。 ( 3)单元的输入输出端安排在单元的上下两边 , 要求至少有一个输入端或输出端可以在单元的上边和下边两个方向引出。 ASIC 设计设计 ,产业化后成本低 ,设计安全性高 ,缩小了产体积而使产品的便携性更好。还有 ,可以通过不改变核心芯片而对输入模块和输出模块的

16、更换而增加产品线 ,使产品的形式多样化 ,又可以不改变输入模块和输出模块而更换核心芯片使产品升级而降低生产成本。 目前设计的数字密码锁 ASIC 实现的主要功能是将输入模块的信号同已存在的信号进行同异比较 , 并将比较的结果输出到输出模块。具体功能为 : ( 1)存储 6位十进制数组 ,即密钥; ( 2)接收 6位十进制数组 ,即用户输入的密码; ( 3)比较这两组数组的异同; ( 4)将比较的结果输出; ( 5)能够修改密钥。 - 6 - 图 2-5 单元电路图 如图 2-5 是单元电路图,其中 IN_A_01-04:密码接收端口; IN_A_S:密码接收使能端口; IN_B_01-04:密钥接收端口; IN_B_S:密钥接收使能端口; OUT:单元判断输出端口。 通过使用 Tanner Pro集成电路设计工具完成了一种数字密码锁 ASIC 的设计 , 得到了它的电路设计方案和版图设计结果 , 在整个设计过程中 , 流程严谨 , 每个环节都进行了相应的仿真和验证 ,整个数字密码锁 ASIC 共用到了 102 个标准单元。如果将该电路进一步完善 , 配以门禁控制器等调节控制设备,将可以推广应用。 专用集成电路方案的主要不足之处就是原 理过于复杂,体积大,而且不能满足现在的安全需求。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。