1、数电设计密码锁B 大连理工大学本科实验报告题目:电子锁课程名称: 数字电路课程设计 学院系:电子信息与电气工程学部专 业: 电气工程及自动化 班 级: 学生姓名: 学 号: 完成日期: 成 绩: 2010 年 12 月 08 日题目:电子锁1 设计要求在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运
2、而生。基于EDA技术设计的电子密码锁。以其价格便宜、使用方便、安全性高、成本低、功耗低、易操作等优点,受到了人们的普遍关注。而以可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDL)为主要表达方式,以Quartus6开发软件等为设计工具设计的电子密码锁,由于其能够实现密码输入、密码校验、密码设置和更改等功能,因此,能够满足社会对安全防盗的需求。本设计的各个模块由相应的VHDL程序具体实现,并在Quartus6环境下进行了整体电路的模拟仿真,最终实现“密码锁控制器设计”的要求。数字密码锁实现:1、不需要带钥匙,只要记住开锁密码即可开锁的功能。2、在输入密码正确后,还可以修改密码。3、在
3、输入密码的过程中,不显示密码,只显示无规律的提示某位密码是否输入完毕,防止了密码的泄漏,大大加强了密码锁的保密性。2 设计分析及系统方案设计密码锁控制器是硬件与软件的结合。根据设计要求,决定以FPGA芯片和VHDL语言设计此电子密码锁。用一片FPGA芯片实现,从而大大简化了系统结构,降低了成本,提高了系统的保密性和可靠性。这种设计不仅简化了系统结构,降低了成本,更提高了系统的可靠性和保密性。另外,采用可编程逻辑器件开发的数字系统,方便地升级和改进。 本演示系统实现了:1、输入密码正确后,正确小灯(green)亮,错误小灯(red)不亮; 2、当输入密码正确后,可修改密码,可使用want开关正确
4、进行密码修改功能,而后密码被重新设定为新的密码,当密码输入错误的时候并不可以修改密码,此时即使按下want键也不好用;3、输入错误密码,正确小灯(green)不亮,错误小灯(red)亮;4、按下reset后,密码归为初始密码。开锁代码为8位二进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁。否则系统进入“错误”状态,并发出报警信号红灯亮。开锁程序由设计者确定,并锁内给定的密码是可调的,且预置方便,保密性好。串行数字锁的报警方式是点亮指示灯LEDR0,直到按下复位开关,报警才停止。此时,数字锁自动进入等待下一次开锁的状态。3系统以及模块硬件电路设计 3.1系统总框
5、图图 1 密码锁控制器系统总框图3.2密码提示电路七段数码管是电子开发过程中常用的输出显示设备。在本设计中使用的是1个共阴极型七段数码管。其单个静态数码管如下图3.6所示。由于七段数码管公共端连接到GND(共阴极型),当数码管的中的一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相反。在本次密码锁电路中,7段式数码显示管的作用为提示当前输入的密码为第几个,因为密码有八位,很可能让正在输入密码的人忘记输入到了第几位,而数显管恰好起到了提示作用,此处的设计体现了其更加智能化和人性化的理念。图2 单个数码管管脚示意图3.3输入密码、更改密码、复位密码及报警电路此处电路的实现
6、需要使用四个开关及两个小灯。开关SW0到SW2从左至右依次实现的按钮功能为用于输入串行密码(共8位)的密码按键,复位成初始系统自带密码的RESET键,当密码输正确的可以选择设置新密码的按键WANT,(当密码输入不正确时,此按键并不好用)。灯分别为红灯绿灯用于报警电路提示此时输入的密码是正确的还是错误的。同时在程序端口中需要的相当于时钟CLK功能的按键,在外部输入电路中起到的作用是相当于按键确认功能,每输入一位密码,确认该密码。在程序中需要count计数以保证达到8位密码即判断密码输入正确与否,未达到8位由外部人员继续输入直至到达8位。3.4模拟电路 3.4引脚分布接口名称类型(输入/输出)结构
7、图上的信号名引脚号说明clkinKEY0PIN_G26时钟信号,按一次输入一位kinSW0PIN_N25高电平表示输入1greenoutLEDG0PIN_AE22输入正确时亮redoutLEDR0PIN_AE23输入错误时亮resetinSW1PIN_N26按下(为1)时复位,密码归为原密码wantinSW2PIN_P25是否修改密码,为1时修改coutHEX0(数码管)提示作用c0outHEX00PIN_AF10数码管c1outHEX01PIN_AB12数码管c2outHEX02PIN_AC12数码管c3outHEX03PIN_AD11数码管c4outHEX04PIN_AE11数码管c5ou
8、tHEX05PIN_V14数码管c6outHEX06PIN_V13数码管4 系统的VHDL设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity code isport( clk: in std_logic;-电路工作时的时钟信号 c: out std_logic_vector(6 downto 0):=1000000;-7段数显管 k: in std_logic;-高电平表示输入1 green: out std_logic;-输入正确时亮 red: out std_logic;-输入错
9、误时亮 reset: in std_logic;- 按下时复位 want: in std_logic);-是否修改密码end;architecture a of code issignal code: std_logic_vector(7 downto 0);-储存密码signal getcode: std_logic_vector(7 downto 0);-储存修改后的密码signal counter: std_logic_vector(3 downto 0);-计数signal allow: std_logic;-是否允许修改密码begin process(clk) begin if re
10、set=1 then-按下reset后,密码归为初始密码 getcode=00000000;-初始密码 counter=0000;-内部计数 code=11001000;-密码 green=0; red=0; allow=0; elsif clkevent and clk=1 then-输入clk脉冲,则接收1位密码 getcode=getcode(6 downto 0)&k;-将这1位密码并入getcode中的最后一位 if counter=1000 then-输入为8位数码时比较 if code=getcode then green=1;-正确灯亮 red=0; allow=1;-允许修改
11、密码 elsif allow=1 and want=1 then-如果允许输入且想输入 code=getcode;-输入新密码 green=0; red=0; else allow=0; green=0; red=1;-错误灯亮 end if; counter=0000;-重新计数 else counter=counter+1; -累加 end if; end if; end process; process(clk) begin if(counter=0000)then -7段数显管显示0到9 c(6 downto 0)=1000000; elsif (counter=0001) then
12、c(6 downto 0)=1111001; elsif (counter=0010) then c(6 downto 0)=0100100; elsif (counter=0011) then c(6 downto 0)=0110000; elsif (counter=0100) then c(6 downto 0)=0011001; elsif (counter=0101) then c(6 downto 0)=0010010; elsif (counter=0110) then c(6 downto 0)=0000010; elsif (counter=0111) then c(6 do
13、wnto 0)=1111000; elsif (counter=1000) then c(6 downto 0)=0000000; elsif (counter=1001) then c(6 downto 0)=0011000; end if;end process; end; 5 结论以及结果说明5.1运行环境介绍DE2是Altera公司针对大学教学及研究机构推出的FPGA多媒体开发平台。DE2为用户提供了丰富的外设及过媒体特性,并具有灵活而可靠的外围接口设计。DE2能帮助使用者迅速理解和掌握实时多媒体工业产品设计的技巧,并提供系统设计的验证。DE2平台设计和制造完全按照工业产品标准进行,可
14、靠性很强。 图3 DE2开发平台示意图Altera公司发布的第三代Cyclone FPGA,与第一代相比,加入了硬件乘法器,同时内部存储单元数量也得到了进一步的提升,EP2C35核心板上采用的FPGA是Altera公司CycloneII系列芯片EP2C35F672C6。下面列出了EP2C35的有关资源特性,更详细的特性请参阅其数据手册。DE开发台上提供的硬件资源如下:(1) Altera CycloneII系列的EP2C35F672C6 FPGA U11,内含3500个逻辑单元。(2)主动串行配置器件EPCS16U30。(3)板上内置用语编程调试和用户API设计的USB Blaster,支持JTAG模式和AS模式;U25是实现USB Blaster的US
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1