




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA技术课程设计 一 设计意义 随着社会的发展和人们生活水平的提高,人们的安全意识的加强,安全防盗已成为社会问题。自古以来锁在人们的生活中扮演着重要的角色,人们对其要求也较高,希望锁既要安全可靠地防盗,又要使用方便。目前使用广泛的弹子锁由于要携带钥匙,经常更换锁芯等缺点,已经渐渐变得难以满足当前社会对于安全防盗的要求。而数字密码锁由于其高安全性、低成本、易操作、密码可更换等优点受到越来越多人的欢迎。在很多安全性要求高的地方已经有了数字密码锁的应用,如:数字保险柜、银行自动柜员机、门卡系统、自动售货机等1。随着现代电子技术的迅速发展,ASIC 技术的日趋进步和完善,数字系统的硬件设计正朝着速度快、体积小、容量大、重量轻的方向发展。一个复杂的数字系统大概需要百万个以上的逻辑门或传输晶体管器件,如信号处理器,ALU 等,如果人工的话需要非常长的时间,这样效率就明显会下降。目前大部分密码锁采用单片机进行设计,电路比较复杂,性能不够灵活2。而硬件描述语言VHDL的出现,则为设计者提供了一种用形式化方法来描述数字系统硬件电路的方法。HDL 具有强大的系统描述能力、规范的程序设计结构、灵活的语句表达风格和多层次的仿真测试手段。根据系统的行为和功能要求,可以自上而下的完成相应的描述、综合、优化、仿真与验证,直至生成器件系统。VHDL 使得设计者可以进行更大、更复杂的数字系统的设计3。本文采用先进的EDA技术,利用QUARTUS 工作平台和VHDL语言,设计了一种新型的密码锁。该密码锁具有密码预置和误码报警等功能,保密性好,远远大于以往的密码锁4,使随机破译成功率几乎为零,编码可变,避免因人员的更替而使锁的保密级别下降且有利于用户编制易于记忆的密码,因而该数字密码锁具有体积小、功耗低、价格便宜、安全可靠,维护和升级都十分方便等优势。二 设计原理2.1 设计要求设计一种数字密码锁,密码由4位二进制数字组成,初始设定为“0000”。可有用户任意输入正确时开锁,密码输入错误时报警。按“安锁”键,将锁闭合;开锁时,先按“输入密码键”,输入密码,再按“确认”键;若输入密码内容有误,则报警;只有在开锁状态下才可以重新设置密码,先按“修改密码”键,输入新密码,再按“确认”键。2.2 系统设计2.2.1 设计概述根据“自顶而上”的设计方法,将系统顶层实体划分为若干模块,本实验大体可分为三个模块,分别为:顶层实体控制器模块,寄存器模块,比较器模块。控制器是整个系统的功能核心,接受按键和其他模块传来的信号,再根据系统功能产生相应的控制信号送到相关的模块,输出钥匙信号和报警信号。键盘输入密码给比较器和寄存器。并提供密码脉冲信号给控制器;比较器用来比较编码器输出和寄存器输出数据是否相等,输出送给控制器;寄存器在校验密码时,输出密码以供比较,在修改密码时,保存新密码。钥匙信号控制锁打开、关闭,报警信号可以接LED及其他安防设备。按“按锁”键,将锁闭合;开锁时,先按“输入密码”密码键,键入密码,再按“确认”键;若输入密码内容有误,报警;只有在开锁状态下才可以设置新密码,先按“修改密码”键,输入新密码,再按“确认”键。2.2.2 各引脚功能输入信号:clk 输入时钟 Lock 安锁信号Start 开始输入密码Ps_ch 修改密码Enter 密码确认Yes 密码比较 输出信号:warn 警告信号 Op 密码正确显示Wr 寄存器读写信号En 密码输入使能三 仿真分析3.1控制模块控制模块采用有限状态机设计,将系统分为7个状态,即开锁状态、安锁状态、输入密码状态、密码初验正确状态、密码初验错误状态、报警状态及修改密码状态,状态转换图如图1所示。系统上电时,处于开锁状态,当输入ps_ch信号时,系统进入修改密码状态;若输入lock信号,进入安锁状态,锁闭合;在安锁状态,输入start信号,进入输入密码状态;如果输入密码内容正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号enter时,进入开锁状态;在密码初验错误状态,输入确认信号enter时,进入报警状态;在报警状态,alarm信号等于1。图1 状态机转换图changeunlockinputRight1inlockwrongalarmEnter=0Ps_ch=1Enter=1Lock=0Enter=1Enter=0Yes=1Start=0Start=1Enter=1Lock=1Enter=0Enter=1Enter=0Yes=0波形仿真图如图2 控制模块仿真图所示图2 控制模块仿真图波形仿真分析:起始密码为“0000”,安锁后锁关闭op信号为0;开锁时,按下start开锁键,密码比较yes信号为1有效,输入密码正确,按下enter确认键,锁开,锁开标志信号op有效为1;开锁状态下,按下ps_ch修改密码键,输入新密码后按确认键start,密码修改成功,再按下lock安锁,此时密码为新输入密码;按下输入密码键start输入密码键若输入密码错误,按下确认键enter后,报警warm信号有效。3.2 比较模块在数字密码器中,比较器模块的功能是对按键输入和寄存器模块的输出进行比较,然后将比较的结果送入到控制器模块。比较器的具体工作原理是:当比较结果相等时,c输出为1;当比较结果不相等时,c的输出为0。波形仿真图如图3 比较模块仿真图所视图3 比较模块仿真图波形仿真分析:起始寄存器输出密码为“0000”,键盘输入为“1100”时不相等,所以输出c为0;当寄存器输出密码为“0001”,键盘输入为“0001”时相等,所以输出c为1,其他与此相同。3.3 寄存器模块寄存器模块用于存放预设和修改后的密码,并在开锁时将所存密码输出到比较器与按键输入的密码进行比较,达到判断由按键输入密码是否正确的结果。波形仿真图如图4 寄存器模块仿真图所视波形仿真分析:如图4当使能信号en无效时,无论输入data_in信号与写使能信号wr是否有效输出data_out都为“0000”当使能信号en与写使能信号wr都有效时,将data_in输入的信号存储到寄存器中如data分别为“0011”,“0100”,“0101”时,对应寄存器中存放“0011”,“0100”,“0101”。当使能信号en有效而写使能信号wr无效时,无论输入信号data_in为多少,输出信号data_out都为寄存器所存内容。3.4 整体程序仿真整体程序波形仿真图如图5程序波形仿真图所视图5程序波形仿真图波形分析:上电后,系统的初始密码为“0000”按lock键按锁,锁关闭开锁输出标志信号op无效为0;开锁时,按下start键由键盘key输入密码“0000”,输入密码正确按确认键enter键锁开,开锁输出标志信号op为1,显示开锁;在开锁状态下按ps_ch修改密码键后,由键盘key输入新密码1010后按确认键enter密码修改成功,按lock键密码锁上锁,此时密码锁密码为新密码;若按下start键后输入的密码错误如图“0000”与密码锁密码“1010”不同,warm报警信号有效,op信号无效,锁不开且报警。四 设计总结本文提出的数字密码锁由于采用VHDL语言设计,使用FPGA实现,因而体积小,功耗低、性能特别灵活,稍加修改就可以改变密码的位数和输入密码的次数,因而升级和维护都很方便。连续开锁失败后,报警系统报警,但不死锁;只有锁处于开启状态时,才可以重新设置密码;开锁后有显示开锁的输出信号,有较好的识别性。总之该密码锁具有较好的应用前景。VHDL语言是一种很有用的硬件描述语言,通过两周的学习与实践终于基本实现了老师要求的设计要求,通过自己动手实践和同学们交流,研究完成了一次设计,掌握了设计应有的基本流程,很开心,也使我对EDA课程VHDL语言有了更深刻的了解,同时也增加了我的兴趣。通过仿真分析可以看出,该密码锁达到了设计要求。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到的问题,反映出来我的许多不足之处,我以后要努力克服缺点。 总的来说,这次设计的密码锁还是比较成功的,在设计中遇到了很多问题,最后在同学和老师的辛勤的指导下外加上自己的努力,终于都得到了解决,因此很有成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的。参考文献1.吴秋兰, 耿霞. 基于ISP 技术的电子密码锁设计J.2004 30(12): 78-802.宁爱民.应用ATC89C2051单片机设计电子密码锁J.淮海工学院学报,2003,12(2):28-313.孟祥忠.数字电子密码锁的设计4.冼凯仪.电子设计自动化中的硬件描述语言J.半导体技术,2003,28(4):32-36附录源程序代码:-控制器状态转化模块-library ieee;use ieee.std_logic_1164.all;library ieee;use ieee.std_logic_1164.all;entity mima is port(clk,lock,start,ps_ch,enter,yes:in std_logic; warn,op,wr,en:out std_logic);end; architecture bhv of mima istype state is(inlock,input,right1,wrong,unlock,change,alarm);signal ps,ns:state;begin process(clk) begin if clkevent and clk=1then psop=0;en=0;warn=0;wr=0; if(start=1)then ns=input; else nsen=1;wr=0;op=0;warn=0; if(yes=1)then ns=right1; else nsen=0;wr=0;op=0;warn=0; if enter=1 then ns=unlock; else nsen=0;wr=0;op=0;warn=0; if enter=1then ns=alarm; else nsop=1;warn=0;en=0;wr=0; if lock=1then ns=inlock; elsif ps_ch=1then ns=change; else nswarn=1;op=0;en=0;wr=0; if enter=1then ns=inlock; else nsen=1;wr=1;warn=0;op=1; if enter=1then ns=unlock; else ns=change; end if; end case; end process;end;-寄存器模块-library ieee;use ieee.std_logic_1164.all;entity reg 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 reg isbegin process(clk)variable m:std_logic_vector(3 downto 0); begin if clkevent and clk=1 then if en=1 then if wr=1 then m:=data_in; else data_out=m; end if; end if; end if; end process;end; -比较器模块-library ieee;use ieee.std_logic_1164.all;entity cmp isport(a,b:in st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力行业数据监控报告表
- 分析制造业中质量管理体系的建设与实施
- 六一创意综合活动方案
- 六一散打活动方案
- 六一治水活动方案
- 六一活动游园活动方案
- 六一活动迪士尼活动方案
- 六一活动饺子活动方案
- 六一灯谜活动方案
- 六一节活动童装活动方案
- 以DeepSeek为代表的AI在能源行业的应用前景预测
- 中国粮食面试试题及答案
- 《钱学森》介绍课件
- 智慧树知到《中国近现代史纲要(哈尔滨工程大学)》2025章节测试附答案
- 旅游公司介绍模板
- 单层泄爆屋面安装施工方案
- LY/T 3408-2024林下经济术语
- 《动物药理》课件 第9章作用于血液循环系统的药物
- 2024年度无人驾驶技术课件
- 《南京中山陵》课件
- 计算机网络知到智慧树章节测试课后答案2024年秋辽宁工程技术大学
评论
0/150
提交评论