资源描述
一选题意义随着社会的发展和人们生活水平的提高,人们的安全意识也逐步加强。传统的机械锁由于其构造的简单,失效的事件屡见不鲜,如何实现保密防盗这一问题变的尤其的突出,密码锁以其安全性高、成本低、功耗低、易操作等优点受到越来越多人的欢迎。在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。基于VHDL语言的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。二背景知识电子杂志、报刊经常刊登有密码开关、密码锁这样的电路,大多数是使用常用的数字电路,如CD4017,然后通过不同的连接方式实现密码控制功能。这种电路的特点就是密码修改只能通过改变电路的连接来实现,密码很容易被破解,电路复杂,故障率高。本制作是针对这些电路而设计的,将以往的以单片机实现设计改为可编程器件FPGA利用VHDL编程实现电子密码锁的设计。这种设计移动方便。基于FPGA的电子密码锁具有保密强、灵活性高、适用范围广等特点,它在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,本设计采用“任意设定数字密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新,在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出5秒报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按复位方可停止。本设计的电子密码锁的特点是:体积小、功耗低、价格便宜、安全可靠,维护和升级都十分方便,具有较好的应用前景。它与传统锁具的不同之处在于:它与可编程逻辑器件实现系统的设计,应用简洁清晰的VHDL语言实现设计编程思想,能够实现适时、智能控制管理功能,特别是在系统的扩展上有很好的优势。三系统设计电子密码锁设计要求如下:设计一个三位数的电子密码锁,通过输入的数字控制密码锁的开关。开锁期间用户可通过CHANGE键自行设置密码。开锁时,输入密码后,按下TEST键检测,密码正确时开锁:输出LOCKOPEN为高电平,LOCKCLOSE为低电平,密码锁开启;否则LOCKOPEN为低电平,LOCKCLOSE为高电平,密码锁关闭。LOCKOPEN,LOCKCLOSE分别用来驱动绿色和红色发光二级管,作为密码锁状态显示标志。任何状态下输入的3位数字(百位,十位,个位)将在七段共阴极数码管上显示。四 子模块设计电子密码锁由以下模块组成:顶层主控制模块如图所示。输入和显示译码模块如图所示。对来自键盘的数字输入进行译码,以用于显示和密码验证。五 系统集成与仿真1. 顶层主控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164,.ALL;ENTITY ElecLock IS PORT(NUMH:IN STD_LOGIC_VECTOR(9 DOWNTO 0); NUMT:IN STD_LOGIC_VECTOR(9 DOWNTO 0); NUMO:IN STD_LOGIC_VECTOR(9 DOWNTO 0); DISPLAYH:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); DISPLAYT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); DISPLAYO:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); CLK:IN STD_LOGIC; CHANGE,TEST:IN STD_LOGIC; LOCKOPEN,LOCKCLOSE:OUT STD_LOGIC);END ENTITY ElecLock ;ARCHITECTURE ART OF ElecLock IS COMPONENT DECODER IS PORT(CLK:IN STD_LOGIC; DATA:IN STD_LOGIC_VECTOR(9 DOWMTO 0); Q:OUT STD_LOGIC_VECTOR(6 DOWMTO 0);-DISPLAY Q1:OUT STD_LOGIC_VECTOR(3 DOWMTO 0)-JUDGE); END COMPONENT DECODER;SIGNAL ENABLE,C0,C1,SENABLE1:STD_LOGIC;SIGNAL TEMPH,TEMPT,TEMPO,DECO_H,DECO_T,DECO_O:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINENABLE=CHANGE AND (NOT TEST);ENABLE1CLK,DATA=NUMH,Q=DISPLAYH,Q1=DECO_H);U1:DECODERPORT MAP(CLK=CLK,DATA=NUMH,Q=DISPLAYH,Q1=DECO_T);U2:DECODERPORT MAP(CLK=CLK,DATA=NUMH,Q=DISPLAYH,Q1=DECO_O);PROCESS(CLK,DECO_H,DECO_T,DECO_O) BEGIN IF(CLKEVENT AND CLK=1) THEN TEMPH=DECO_H; TEMPH=DECO_T; TEMPH=DECO_O; END IF; IF (ENABLE1=1)THEN IF(TEMPH=DECO_H AND TEMPT=DECO_T AND TEMPO=DECO_O)THEN LOCKOPEN=1; LOCKCLOSE=0; ELSE LOCKOPEN=0; LOCKCLOSEQ=0111111;Q1Q=0111111;Q1Q=0110000;Q1Q=1101101;Q1Q=1111001;Q1Q=1011011;Q1Q=1110000;Q1Q=1111111;Q1Q=1111011;Q1 Q=0000000;Q1=0000; END CASE; END IF; END PROCESS;END ARCHITECTURE ART;3. 仿真分析电子密码锁仿真分析图如图所示CHANGE信号为高电平,TEST为低电平时设定密码。输入的数字用十位二进制向量表示:第N位数字是高电平时,表示数字N-1。仿真中,三位数字的密码是“210”。TEST为高电平,CHANGE为低电平时,可以验证密码,密码正确(与设定相同)。则电子密码锁打开,LOCKOPEN输出高电平,LOCKCLOSE输出低电平;否则LOCKOPEN为低电平,LOCKCLOSE为高电平,密码锁关闭。仿真中输出的七位向量信号DISPLAYH,DISPLAYT,DISPLAYIO,用来驱动7段数码管,它们是输入数字信号的译码。六总结七感言
展开阅读全文