1、1目录目录 .2摘要 .3关键词 .31 引言 .41.1 课程设计背景 .41.2 课程设计目的 .41.3 课程设计内容 .42 数字密码锁设计 .42.1 系统设计 42.2 模块功能 52.2.1 控制模块 52.2.2 比较模块 72.2.3 寄存模块 73 仿真分析 .83.1 控制模块的仿真 .83.2 比较模块的仿真 .93.3 寄存模块的仿真 .103.4 系统的仿真波形 103.5 系统的引脚锁定 .124 设计总结 .12参考文献 .132摘要:随着数字集成技术和电子设计自动化(EDA)技术的迅速发展,数字密码锁应运而生。本文采用先进的 EDA 技术,利用 QUARTUS
2、 工作平台和 VHDL 语言,设计了一种新型的数字密码锁,它不但可以完成锁具的基本功能,还能附加一些其他的智能,例如:报警、识别功能,数字密码锁具功能齐全,安全系数高,有机械锁无可比拟的优越性,它的造价成本低,易于操作,越来越受到众多客户的青睐,可以优先占领市场有利份额。关键词:EDA 技术;QUARTUS 工作平台; VHDL 语言;数字密码锁31 引言1.1 课程设计背景数字密码锁随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面, 而且各种各样的电子产品也正在日新月异地向着高精尖技术发展。由于电子产品 的功能不断增加,使用也越来越方便,有些产品已经成为了人们日常生活中不可 缺
3、少的必备物品。发展历史悠久的机械式门锁,因其功能单一,安全性能较差等 缺点,必将被新一代的电子门锁所代替。新颖的多功能电子门锁,集电子门锁、 防盗报警器,门铃等功能于一身,而且还具有定时器呼唤,断电自动报知,显示 屋内有无人和自动留言等诸多附加功能。在未来的生活中,数字密码锁必将在学 领域再创新的成绩,将给我们的生活带来更大的便利,前景不可估量。1.2 课程设计目的1. 掌握 VHDL 语言编程方法,通过实践加深对理论知识的理解。2. 学会 Quartus软件的使用方法。3.掌握数字密码锁的设计方法。4.掌握波形仿真,学会分析实验现象,提高分析问题的能力。1.3 课程设计内容设计一个数字密码锁
4、,用户可输入 4 位的二进制数,可有用户任意输入正确时开锁,密码输入错误时报警.码可手动预置,并可进行修改密码,取消报警。给出系统总体组成框图,设计思路,完成以上模块的 VHDL 实现及功能仿真,顶层文件及整体仿真。2 数字密码锁设计2.1 系统设计根据系统的设计要求,系统设计采用自顶向下的设计方法。顶层设计采用原理4图的设计方式和系统的整体组装,分别由控制模块、寄存器模块、比较器模块等部分组成。即按照这三个组成模块定义相应的芯片引脚和输入输出的参数。2.2 模块功能系统主要由 3 个模块组成,分别是控制模块、寄存器模块、比较器模块。2.2.1 控制模块控制模块采用有限状态机设计,将系统分为
5、7 个状态,即开锁状态(outlock)、安锁状态(inlock)、输入密码状态(input)、密码初验正确状态(right)、密码初验错误状态(wrong)、报警状态(alarm)、修改密码状态(change)。状态转移图如图 2-2-1。change outlock rightxinputwrongalarminlockenter=1xiu=0enter=1 yes=1yes=0start=1enter=1enter=1系统上电时,处于开锁状态,当输入修改密码 xiu 信号时,系统进入修改密码状态; 若输入安锁 lock 信号,系统进入安锁状态,锁闭合:在安锁状态,输入输入密码 start
6、 信号,系统进入输入密码状态;在输入密码状态,如输入密码内容和长度均正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号 enter 时,进入开锁状态,在开锁状态 kai 信号等于1;在密码初验错误状态,输入确认信号 enter 时,进入报警状态;在报警状态。warn 信号等于1。VHDL 代码如下:library ieee;use ieee.std_logic_1164.all;图 2-2-1 状态转移图lock=0 enter=0enter=0enter=0start=0enter=05entity mima is port(clk,lock,s
7、tart,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;beginprocess(clk)beginif clkevent and clk=1thenpskaienenenkaiwarnenclk,lock=lock,start=start,xiu=xiu,enter=enter,yes=g,kai=kai
8、,warn=warn,wr=d,en=e);u2:ji port map(clk=clk,wr=d,en=e,data_in=key,data_out=f);11u3:bi port map(a=key,b=f,c=g);end;3.5 系统的引脚锁定如图 3-5 所示:4 设计总结通过这次的课程设计,使我对 EDA 这门课程、对 Quartus开发软件和 FPGA 实验开发系统有了一个更加深刻的认识。我深深地被 EDA 的强大所震撼,Quartus开发软件虽然使用起来有些麻烦,但它的功能真的很强大,而且设计很自由,设计方式很多,能极大地满足当今社会高速发展的需要。通过这次课程设计,我还懂得了
9、理论与实际相结合的重要性。我们只有把所学的理论知识与实践相结合起来,从实践中检验理论,才能真正为社会服务,并且我们也可以在实践中提高自己的实际动手能力和独立思考的能力,使自己更加适合当今社会的需要。这次关于密码锁的课程设计,总的来说,还是比较成功的。在设计的过程中遇到的问题,反映出来我的许多不足之处,我以后要努力克服缺点。说真的,这次的课程设计真的很不容易,在过程中遇到了不少的问题。如:编写源程序时,经常不能通过。图 3-5 引脚锁定表12就如在写顶层文件的程序时,遇到了不少的问题,各元件之间的连接、顶层文件程序与底层文件程序之间的连接以及信号的定义,总是有错误。但在老师同学的帮助下,再加上自己不懈的努力,最终还是算比较顺利地做了出来。经过这次的课程设计,使我以后的学习和生活受益匪浅,让我在以后的学习中更加注重理论与实践的结合,我应该感谢这次的设计。参考文献1 Volnei A.Pedroni 著,乔庐峰、王志功等译,VHDL 数字电路设计教程 .电子工业出版社,20102 周立功,EDA 实验与实践 .第一版.北京航空航天大学出版社, 20073 潘松,黄继业。 EDA 技术实用教程 。科学出版社, 2010.64 刘江海。 EDA 技术课程设计 。华中科技大学出版社, 2009.5