




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要摘要随着数字集成技术和电子设计自动化(EDA)技术的迅速发展,数字密码锁应运而生。本文采用先进的 EDA 技术,利用 QUARTUS 工作平台和 VHDL 语言,设计了一种新型的数字密码锁,它不但可以完成锁具的基本功能,还能附加一些其他的智能,例如:报警、识别功能,数字密码锁具功能齐全,安全系数高,有机械锁无可比拟的优越性,它的造价成本低,易于操作,越来越受到众多客户的青睐,可以优先占领市场有利份额。关键词:EDA 技术 quartus工作平台 VHDL 语言 数字密码锁目录目录1 1 引言引言.11.1 课程设计背景.11.2 课程设计目的.11.3 课程设计内容.22 2 数字密码锁设
2、计数字密码锁设计.22.1 系统设计.22.2 模块功能.2 2.2.1 控制模块 .2 2.2.2 比较模块 .3 2.2.3 寄存模块.53 3 仿真分析仿真分析.63.1 控制模块的仿真.63.2 比较模块的仿真.73.3 寄存模块的仿真.83.4 系统的仿真波形.93.5 系统的引脚锁定.114 4 总结总结.11参考文献参考文献.131 引言引言1.11.1 课程设计背景课程设计背景随着社会的发展和人们生活水平的提高,人们的安全意识的加强,安全防盗已成为社会问题。自古以来锁在人们的生活中扮演着重要的角色,人们对其要求也较高,希望锁既要安全可靠地防盗,又要使用方便。目前使用广泛的弹子锁
3、由于要携带钥匙,经常更换锁芯等缺点,已经渐渐变得难以满足当前社会对于安全防盗的要求。而数字密码锁由于其高安全性、低成本、易操作、密码可更换等优点受到越来越多人的欢迎。随着现代电子技术的迅速发展,ASIC 技术的日趋进步和完善,数字系统的硬件设计正朝着速度快、体积小、容量大、重量轻的方向发展。目前大部分密码锁采用单片机进行设计,电路比较复杂,性能不够灵活。而硬件描述语言 VHDL 的出现,则为设计者提供了一种用形式化方法来描述数字系统硬件电路的方法。VHDL 具有强大的系统描述能力、规范的程序设计结构、灵活的语句表达风格和多层次的仿真测试手段。VHDL 使得设计者可以进行更大、更复杂的数字系统的
4、设计。本文采用先进的 EDA 技术,利用 QUARTUS 工作平台和 VHDL 语言,设计了一种新型的密码锁。该密码锁具有密码预置和误码报警等功能,保密性好,远远大于以往的密码锁,使随机破译成功率几乎为零,编码可变,避免因人员的更替而使锁的保密级别下降且有利于用户编制易于记忆的密码,因而该数字密码锁具有体积小、功耗低、价格便宜、安全可靠,维护和升级都十分方便等优势。1.21.2 课程设计目的课程设计目的1. 掌握 VHDL 语言编程方法,通过实践加深对理论知识的理解。2. 学会 Quartus软件的使用方法。3.掌握数字密码锁的设计方法。4.掌握波形仿真,学会分析实验现象,提高分析问题的能力。
5、1.31.3 课程设计内容课程设计内容设计一个数字密码锁,用户可输入 4 位的二进制数,可有用户任意输入正确时开锁,密码输入错误时报警.码可手动预置,并可进行修改密码,取消报警。给出系统总体组成框图,设计思路,完成以上模块的 VHDL 实现及功能仿真,顶层文件及整体仿真。2 2 数字密码锁设计数字密码锁设计2.12.1 系统设计系统设计根据系统的设计要求,系统设计采用自顶向下的设计方法。顶层设计采用原理图的设计方式和系统的整体组装,分别由控制模块、寄存器模块、比较器模块等部分组成。即按照这三个组成模块定义相应的芯片引脚和输入输出的参数。2.22.2 模块功能模块功能根据“自顶而上”的设计方法,
6、将系统顶层实体划分为若干模块,本实验大体可分为三个模块,分别为:顶层实体控制器模块,寄存器模块,比较器模块。控制器是整个系统的功能核心,接受按键和其他模块传来的信号,再根据系统功能产生相应的控制信号送到相关的模块,输出钥匙信号和报警信号。2.2.12.2.1 控制模块控制模块控制模块采用有限状态机设计,将系统分为 7 个状态,即开锁状态(outlock) 、安锁状态(inlock)、输入密码状态(input)、密码初验正确状态(right)、密码初验错误状态(wrong)、报警状态(alarm)、修改密码状态(change)。状态转移图如图 2-2-1。 lock=0enter=0enter=
7、0changeoutlockrightxinputwrongalarminlockenter=1xiu=0enter=1yes=1yes=0start=1enter=1enter=1系统上电时,处于开锁状态,当输入修改密码 xiu 信号时,系统进入修改密码状态;若输入安锁 lock 信号,系统进入安锁状态,锁闭合:在安锁状态,输入输入密码start 信号,系统进入输入密码状态;在输入密码状态,如输入密码内容和长度均正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号 enter 时,进入开锁状态,在开锁状态 kai 信号等于1 ;在密码初验错误状态,
8、输入确认信号 enter 时,进入报警状态;在报警状态。warn 信号等于1 。VHDL 代码如下:library ieee;use ieee.std_logic_1164.all;entity mima is port(clk,lock,start,xiu,enter,yes:in std_logic; warn,kai,wr,en:out std_logic);end; architecture bhv of mima istype state is(inlock,input,rightx,wrong,unlock,change,alarm);signal ps,ns:state;begi
9、n process(clk) begin图 2-2-1 状态转移图enter=0enter=0start=0 if clkevent and clk=1then pskai=0;en=0;warn=0; wr=0; if(start=1)then ns=input; else nsen=1;kai=0;warn=0; wr=0; if(yes=1)then ns=rightx; else nsen=0;kai=0;warn=0; wr=0; if enter=1 then ns=unlock; else nsen=0;kai=0;warn=0; wr=0; if enter=1then ns=
10、alarm; else nskai=1;warn=0;en=0; wr=0; if lock=1then ns=inlock; elsif xiu=1then ns=change; else nswarn=1;kai=0;en=0; wr=0; if enter=1then ns=inlock; else nsen=1;warn=0;kai=1; wr=1; if enter=1then ns=unlock; else ns=change; end if; end case; end process;end;2.2.22.2.2 比较模块比较模块在数字密码器中,比较器模块的功能是对按键输入和寄
11、存器模块的输出进行比较,然后将比较的结果送入到控制器模块。比较器的具体工作原理是:当比较结果相等时,c 输出为 1;当比较结果不相等时,c 的输出为 0。VHDL 代码如下:library ieee;use ieee.std_logic_1164.all;entity bi isport(a,b:in std_logic_vector(3 downto 0); c:out std_logic);end;architecture bhv of bi isbeginc=1when a=b else 0;end;2.2.32.2.3 寄存模块寄存模块寄存器模块用于存放预设和修改后的密码,并在开锁时将
12、所存密码输出到比较器与按键输入的密码进行比较,判断由按键输入密码是否正确的结果。VHDL 代码如下:library ieee;use ieee.std_logic_1164.all;entity ji isport(clk,wr,en:in std_logic; data_in:in std_logic_vector(3 downto 0); data_out:out std_logic_vector(3 downto 0);end;architecture bhv of ji issignal m:std_logic_vector(3 downto 0);beginprocess(clk)b
13、egin if clkevent and clk=1 then if (en=1and wr=1) then data_out=data_in;m=data_in; else data_outclk,lock=lock,start=start, xiu=xiu,enter=enter,yes=g,kai=kai, warn=warn,wr=d,en=e);u2:ji port map(clk=clk,wr=d,en=e,data_in=key,data_out=f);u3:bi port map(a=key,b=f,c=g);3.53.5 系统的引脚锁定系统的引脚锁定如图 3-5 所示:图 3
14、-5 引脚锁定表4 4 总结总结通过这次的课程设计,使我对 EDA 这门课程、对 Quartus开发软件和 FPGA 实验开发系统有了一个更加深刻的认识。我深深地被 EDA 的强大所震撼,Quartus开发软件虽然使用起来有些麻烦,但它的功能真的很强大,而且设计很自由,设计方式很多,能极大地满足当今社会高速发展的需要。通过这次课程设计,我还懂得了理论与实际相结合的重要性。我们只有把所学的理论知识与实践相结合起来,从实践中检验理论,才能真正为社会服务,并且我们也可以在实践中提高自己的实际动手能力和独立思考的能力,使自己更加适合当今社会的需要。这次关于密码锁的课程设计,总的来说,还是比较成功的。在设计的过程中遇到的问题,反映出来我的许多不足之处,我以后要努力克服缺点。说真的,这次的课程设计真的很不容易,在过程中遇到了不少的问题。如:编写源程序时,经常不能通过。就如在写顶层文件的程序时,遇到了不少的问题,各元件之间的连接、顶层文件程序与底层文件程序之间的连接以及信号的定义,总是有错误。但在老师同学的帮助下,再加上自己不懈的努力,最终还是算比较顺利地做了出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区块链技术革新艺术品鉴定与溯源的新篇章
- 《市场开发战略报告》课件
- 面部美白的绝活之策
- 从理论到实践探索区块链技术在医疗的突破
- 从未来视角看区联技术如何重塑企业知识产权的边界和定义
- 化工设备设计与教育领域的结合
- 区块链在不动产交易中的价值体现
- 《白塞综合征诊疗进展》课件
- 区块链技术助力提升教育数据管理的安全性
- 医疗AI助力精准医疗提高诊疗质量
- 2025年九江市第一批面向社会公开招聘留置看护队员【68人】笔试备考题库及答案解析
- 2025年建筑工程装饰合同范本
- 2025-2030中国可再生能源行业发展分析及投资前景与战略规划研究报告
- 院校建设可行性研究报告
- 《电力设备典型消防规程》知识培训
- 四川省成都东部新区龙云学校2024-2025学年五年级下册半期测试题(含答案)
- 儿童支气管哮喘诊断与防治指南(2025版)解读课件
- 仓管员安全培训课件
- 红蓝黄光治疗皮肤病临床应用专家共识解读
- 区域健康医疗大数据中心建设方案
- 铆接粘接与锡焊教案
评论
0/150
提交评论