EDA课程设计数字密码锁.docx

上传人(卖家):四川天地人教育 文档编号:1763167 上传时间:2021-09-27 格式:DOCX 页数:12 大小:626.27KB
下载 相关 举报
EDA课程设计数字密码锁.docx_第1页
第1页 / 共12页
EDA课程设计数字密码锁.docx_第2页
第2页 / 共12页
EDA课程设计数字密码锁.docx_第3页
第3页 / 共12页
EDA课程设计数字密码锁.docx_第4页
第4页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、目录 目录 . 1 摘要 . 2 关键词 . 2 1引言 . 2 1.1 课程设计背景. 2 1.2 课程设计目的. 2 1.3 课程设计内容. 3 2数字密码锁设计. 3 2.1 系统设计 . 3 2.2 模块功能 . 3 2.2.1 控制模块. 3 2.2.2 比较模块. 6 2.2.3 寄存模块. 6 3仿真分析 . 7 3.1 控制模块的仿真. 7 3.2 比较模块的仿真. 8 3.3 寄存模块的仿真. 8 3.4 系统的仿真波形 . 9 3.5 系统的引脚锁定. 10 4设计总结 . 11 参考文献 . 12 1 摘要 随着数字集成技术和电子设计自动化(EDA)技术的迅速发展,数字密

2、码锁应运 : 而生。本文采用先进的 EDA 技术,利用 QUARTUS 工作平台和 VHDL 语言,设计了 一种新型的数字密码锁,它不但可以完成锁具的基本功能,还能附加一些其他的智能,例 如:报警、识别功能,数字密码锁具功能齐全,安全系数高,有机械锁无可比拟的优越 性,它的造价成本低,易于操作,越来越受到众多客户的青睐,可以优先占领市场有利 份额。 关键词 :EDA 技术;QUARTUS 工作平台;VHDL 语言;数字密码锁 1引言 1.1 课程设计背景 数字密码锁随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层 面, 而且各种各样的电子产品也正在日新月异地向着高精尖技术发展。由于

3、电子产品 的功能不断增加,使用也越来越方便,有些产品已经成为了人们日常生活中不可缺少 的必备物品。发展历史悠久的机械式门锁,因其功能单一,安全性能较差等 缺点,必 将被新一代的电子门锁所代替。新颖的多功能电子门锁,集电子门锁、 防盗报警器, 门铃等功能于一身,而且还具有定时器呼唤,断电自动报知,显示 屋内有无人和自动 留言等诸多附加功能。在未来的生活中,数字密码锁必将在学 领域再创新的成绩,将 给我们的生活带来更大的便利,前景不可估量。 1.2 课程设计目的 1. 掌握 VHDL 语言编程方法,通过实践加深对理论知识的理解。 2. 学会 Quartus软件的使用方法。 3.掌握数字密码锁的设计

4、方法。 4.掌握波形仿真,学会分析实验现象,提高分析问题的能力。 2 1.3 课程设计内容 设计一个数字密码锁,用户可输入4 位的二进制数,可有用户任意输入正确时开 锁,密码输入错误时报警.码可手动预置,并可进行修改密码,取消报警。给出系统总 体组成框图,设计思路,完成以上模块的 VHDL 实现及功能仿真,顶层文件及整体仿 真。 2数字密码锁设计 2.1 系统设计 根据系统的设计要求,系统设计采用自顶向下的设计方法。顶层设计采用原理图 的设计方式和系统的整体组装,分别由控制模块、寄存器模块、比较器模块等部分组成。 即按照这三个组成模块定义相应的芯片引脚和输入输出的参数。 2.2 模块功能 系统

5、主要由 3 个模块组成,分别是控制模块、寄存器模块、比较器模块。 2.2.1 控制模块 控制模块采用有限状态机设计,将系统分为 7 个状态,即开锁状态(outlock)、安 锁状态(inlock)、输入密码状态 (input)、密码初验正确状态 (right)、密码初验错误状态 (wrong)、报警状态(alarm)、修改密码状态(change)。状态转移图如图 2-2-1。 lock=0enter=0enter=0 3 enter=1 yes=1 yes=0 changerightx xiu=0 input enter=1 enter=1 wrong enter=0 enter=0 图 2-

6、2-1 状态转移图 系统上电时,处于开锁状态,当输入修改密码xiu 信号时,系统进入修改密码状态; 若输入安锁 lock 信号,系统进入安锁状态,锁闭合:在安锁状态,输入输入密码 start 信号,系统进入输入密码状态;在输入密码状态,如输入密码内容和长度均正确,进入 密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输 入确认信号 enter 时,进入开锁状态,在开锁状态 kai 信号等于1;在密码初验错误状 态,输入确认信号enter 时,进入报警状态;在报警状态。warn 信号等于1。 VHDL 代码如下: library ieee; use ieee.std_l

7、ogic_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 is type state is(inlock,input,rightx,wrong,unlock,change,alarm); signal ps,ns:state; begin process(clk) begin if clkevent and clk=1then pskai=0;en=0;warn=0; wr=0

8、; 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=alarm; else nskai=1;warn=0;en=0; wr=0; if lock=1then ns=inlock; elsif xiu=1then ns=change; else nswarn=1;k

9、ai=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; 5 2.2.2 比较模块 在数字密码器中,比较器模块的功能是对按键输入和寄存器模块的输出进行比较, 然后将比较的结果送入到控制器模块。比较器的具体工作原理是:当比较结果相等时, c 输出为 1;当比较结果不相等时,c 的输出为 0。 VHDL 代码如下: library ieee; use i

10、eee.std_logic_1164.all; entity bi is port(a,b:in std_logic_vector(3 downto 0); c:out std_logic); end; architecture bhv of bi is begin c=1when a=b else 0; end; 2.2.3 寄存模块 寄存器模块用于存放预设和修改后的密码,并在开锁时将所存密码输出到比较器与 按键输入的密码进行比较,判断由按键输入密码是否正确的结果。 VHDL 代码如下: library ieee; use ieee.std_logic_1164.all; entity ji

11、 is port(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 is signal m:std_logic_vector(3 downto 0); begin process(clk) begin if clkevent and clk=1 then 6 if (en=1and wr=1) then data_out=data_in; m=data_in; else da

12、ta_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); end; 3.5 系统的引脚锁定 如图 3-5 所示: 10 图 3-5 引脚锁定表 4设计总结 通过这次的课程设计,使我对 EDA 这门课程、对 Quartus开发软件和 FPGA 实验开 发系统有了一个更加深刻的认识。我深深地被 EDA

13、的强大所震撼,Quartus开发软件 虽然使用起来有些麻烦,但它的功能真的很强大,而且设计很自由,设计方式很多,能 极大地满足当今社会高速发展的需要。通过这次课程设计,我还懂得了理论与实际相结 合的重要性。我们只有把所学的理论知识与实践相结合起来,从实践中检验理论,才能 真正为社会服务,并且我们也可以在实践中提高自己的实际动手能力和独立思考的能 力,使自己更加适合当今社会的需要。 这次关于密码锁的课程设计,总的来说,还是比较成功的。在设计的过程中遇到的 问题,反映出来我的许多不足之处,我以后要努力克服缺点。说真的,这次的课程设计 真的很不容易,在过程中遇到了不少的问题。如:编写源程序时,经常不

14、能通过。就如 在写顶层文件的程序时,遇到了不少的问题,各元件之间的连接、顶层文件程序与底层 文件程序之间的连接以及信号的定义,总是有错误。但在老师同学的帮助下,再加上自 己不懈的努力,最终还是算比较顺利地做了出来。 经过这次的课程设计,使我以后的学习和生活受益匪浅,让我在以后的学习中更加 注重理论与实践的结合,我应该感谢这次的设计。 11 参考文献 1 Volnei A.Pedroni 著,乔庐峰、王志功等译,VHDL 数字电路设计教程.电子工业出版社,2010 2 周立功,EDA 实验与实践.第一版.北京航空航天大学出版社,2007 3 潘松,黄继业。EDA 技术实用教程。科学出版社,2010.6 4 刘江海。EDA 技术课程设计。华中科技大学出版社,2009.5 12

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(EDA课程设计数字密码锁.docx)为本站会员(四川天地人教育)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|