- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘要:随着数字技术飞速发展,具有防盗报警功能的数字密码锁代替安全性差的机械锁已成为必然的趋势。数字密码锁不但可以用来保管物品,还可以防止越权操作,例如银行自动柜员机、自动售货机、门卡系统等。基于EDA技术设计的电子密码锁,以其价格便宜、安全可靠、使用方便,受到了人们的普遍关注。而以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDE)为主要表达方式,以QuartusⅡ开发软件和KHF-3型CPLD/FPGA实验开发系统为设计工具设计的电子密码锁,由于其能够实现数码输入、数码清除、密码解除、密码更改、密码上锁和密码解除等功能,因此,能够满足社会对安全防盗的要求。
◆关键词:
图(1)系统整体组装设计结构图
4.2.1编码器部分
其共有三个输入和两个输出端口,如图(2)
图(2)编码器部分
在时钟脉冲信号的作用下,当“en=1”时,表示此时可以输入三个十进制数码,分别对应关系如下: 0000000001=0000;
0000000010=0001;
0000000100=0010;
0000001000=0011;
0000010000=0100;
0000100000=0101;
0001000000=0110;
0010000000=0111;
0100000000=1000;
1000000000=c1001。
即当“key_in=左边数”时,“code_out=右边数”。而当输入的数码等于系统设置密码时,“ps_i=1”,否则“ps_i=0”。
4.2.2计数器I部分
其部分有两个输入端和两个输出端,如图(3)
图(3)计数器I部分
其脉冲信号为编码器的“code_out”的输出数值,|“clr”是清零端,当“clr=1”时“cout=0”;当“clr=0”时,“cnt=cnt+1”,若“cnt=10”时,再遇到下一个脉冲信号后则变成“11”,并使“cout=1”,最后将“cnt”的值赋给“addr”输出。
4.2.3寄存器部分
此部分有5个输入端和一个输出端,如图(4)
图(4)寄存器部分
寄存器主要用来储存输入的三位十进制数码,即密码。在时钟脉冲下降沿时若“en=1”,则可以输入数据。此时,如果“addr”为when01=if reg_wr=1 then m0=data_in;else data_out=m0;when 10=if reg_wr=1 then m1=data_in;else data_out=m1;when 11=if reg_wr=1 then m2=data_in;else data_out=m2;when OTHERS=NULL。
4.2.4比较器部分
此部分较为简单,其只有两个输入端和一个输出端,如图(5)
图(5)比较器部分
当从编码器“code_out”端输出的数a与储存在寄存器中的数b相等时,c端输出“1”,否则为“0”。
4.2.5计数器II部分
此部分也只有两个输入端和一个输出端,如图(6)
图(6)计数器II部分
其主要是用来计算连续输入错误的次数。当清零端“clr=1”时计数器II清零,“wro_count”自然也为零;当“clr=0”时,控制器的“cnt_clk2”端的输出信号作为此部分的脉冲信号,遇到上升沿时计数器加1,计到3次时“wro_count”端输出“1”,否则为“0”。
4.2.6中心控制部分
此部分是整个系统的核心部分,其管脚也甚多,共有10个输入端和7个输出端。如图(7)
图(7)中心控制部分在“OUTLOCK”即开锁状态下,“key=0”,上锁指示灯熄灭;在“INLOCK”即安锁状态
文档评论(0)