密码锁设计Word文档格式.docx

上传人:b****2 文档编号:3012825 上传时间:2023-05-01 格式:DOCX 页数:19 大小:470.34KB
下载 相关 举报
密码锁设计Word文档格式.docx_第1页
第1页 / 共19页
密码锁设计Word文档格式.docx_第2页
第2页 / 共19页
密码锁设计Word文档格式.docx_第3页
第3页 / 共19页
密码锁设计Word文档格式.docx_第4页
第4页 / 共19页
密码锁设计Word文档格式.docx_第5页
第5页 / 共19页
密码锁设计Word文档格式.docx_第6页
第6页 / 共19页
密码锁设计Word文档格式.docx_第7页
第7页 / 共19页
密码锁设计Word文档格式.docx_第8页
第8页 / 共19页
密码锁设计Word文档格式.docx_第9页
第9页 / 共19页
密码锁设计Word文档格式.docx_第10页
第10页 / 共19页
密码锁设计Word文档格式.docx_第11页
第11页 / 共19页
密码锁设计Word文档格式.docx_第12页
第12页 / 共19页
密码锁设计Word文档格式.docx_第13页
第13页 / 共19页
密码锁设计Word文档格式.docx_第14页
第14页 / 共19页
密码锁设计Word文档格式.docx_第15页
第15页 / 共19页
密码锁设计Word文档格式.docx_第16页
第16页 / 共19页
密码锁设计Word文档格式.docx_第17页
第17页 / 共19页
密码锁设计Word文档格式.docx_第18页
第18页 / 共19页
密码锁设计Word文档格式.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

密码锁设计Word文档格式.docx

《密码锁设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《密码锁设计Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。

密码锁设计Word文档格式.docx

90年代为电子系统设计自动化(EDA)阶段。

1.1.1.2EDA技术的特点

  EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:

设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。

下面介绍与EDA基本特征有关的几个概念。

  1.“自顶向下”的设计方法。

10年前,电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统,这样的设计方法就如同一砖一瓦建造金字塔,不仅效率低、成本高而且容易出错。

  高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。

在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。

然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。

由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避燃计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。

  2.ASIC设计。

现代电子产品的复杂度日益提高,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题。

解决这一问题的有效方法就是采用ASIC芯片进行设计。

ASIC按照设计方法的不同可分为全定制ASIC、半定制ASC和可纪程ASIC(也称为可编程逻辑器件)。

  设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由m厂家去进行格模制造,做出产品。

这种设计方法的优点是芯片可以获得最优的性能,即面积利用率高、速度快、功耗低,而缺点是开发周期长,费用高,只适合大批量产品开发。

  半定制ASIC芯片的版图设计方法分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间。

  可编程逻辑芯片与上述掩模ASIC的不同之处在于:

设计

  人员完成版图设计后,在实验室内就可以烧制出自己的芯片,

  无须IC厂家的参与,大大缩短了开发周期。

  可编程逻辑器件自70年代以来,经历了PAL、GALGPLD、FPGA几个发展阶段,其中CPLD/FPGA高密度可编程逻辑器件,目前集成度已高达200万门/片,它将格模ASC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转由掩模ASIC实现,因此开发风险也大为降低。

  上述ASIC芯片,尤其是CPLD/FPGA器件,已成为现代高层次电子设计方法的实现载体。

3.硬件描述语言。

硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。

例如一个32位的加法器,利用图形输入软件需要输人500至1000个门,而利用VHDL语言只需要书写一行“A=B+C”即可。

而且VHDL语言可读性强,易于修改和发现错误。

早期的硬件描述语言,如ABEL、HDL、AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。

为了克服以上不足,1985年美国国防部正式推出了高速集成电路硬件描述语言VHDL,1987年IEEE采纳VHDL为硬件描述语言标准(IEEESTD-1076)。

1.2本章小结

EDA技术作为现代电子设计最新技术的结晶,其广阔的应用前景和深远的影响已毋庸质疑,它在信息工程类专业中的基础地位和核心作用也逐渐被人们所认识,对于EDA技术的学习,不能只站在一门课程的角度去学习,而应该站在如何真正掌握这一技术的角度去学习。

对于具备一定EDA基础的人来说,要想提高自己的实际应用能力,不可能一蹴而就,而应不断实践,不断总结。

2方案论证

2.1方案设计

电子密码锁,主要由三个部分组成:

数字密码输入电路、密码锁控制电路和密码锁显示电路。

2.1.1方案一

一.具体功能如下:

(1) 

数码输入:

每按下一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,同时将先前输入的数据依序左移一个数字位置。

(2) 

数码清除:

按下此键可清除前面所有的输入值,清除成为“0000”。

(3) 

密码更改:

按下此键时会将目前的数字设定成新的密码。

(4) 

激活电锁:

按下此键可将密码锁上锁。

(5) 

解除电锁:

按下此键会检查输入的密码是否正确,密码正确即开锁。

二.方案设计:

密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个功能电路。

密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。

七段数码管显示电路主要将待显示数据的BCD码转换成数码器的七段显示驱动编码。

三.各部分的设计:

1.密码锁输入电路的设计:

电子密码锁的输入电路由键盘扫描电路、弹跳消除电路、键盘译码电路、按键数据缓存器,加上外接的一个3×

4矩阵式键盘组

(1)矩阵式键盘的工作原理:

矩阵式键盘是一种常见的输入装置,在计算机、电话、手机、微波炉等各式电子产品上已经被广泛应用。

其中数字0~9作为密码数字输入按键,*作为“上锁”功能按键,#作为“解锁/清除”功能按键。

表4.1 

按键位置与数码关系

KY3_KY0

1110

1101

1011

0111

KX2_KX0

011

101

110

按键号

1

2

3

4

5

6

7

8

9

*

#

2.密码锁输入电路各主要功能模块的设计:

时序产生电路

本时序产生电路中使用了三种不同频率的工作脉冲波形:

系统时钟脉冲(它是系统内部所有时钟脉冲的源头,且其频率最高)、弹跳消除取样信号、键盘扫描信号。

(2)键盘扫描电路

扫描电路的作用是用来提供键盘扫描信号(表4.1中的KY3~KY0)的,扫描信号变化的顺序依次为1110-1101-1011-0111-1110......依序地周而复始。

(3)弹跳消除电路

由于本设计中采用的矩阵式键盘是机械开关结构,因此在开关切换的瞬间会在接触点出现信号来回弹跳的现象,对于电子密码锁这种灵敏度较高的电路这种弹跳将很可能会造成误动作输入,从而影响到密码锁操作的正确性。

键盘译码电路

上述键盘中的按键可分为数字按键和文字按键,每一个按键可能负责不同的功能,例如清除数码、退位、激活电锁、开锁等,详细功能参见表4.3。

扫描位置

KY3-KY0

键盘输出

KX2-KX0

相对应的键盘按键

键盘译码电路输出

按键功能

F=0001

数码输入

F=0010

F=0011

F=0100

F=0101

F=0110

F=0111

F=1000

F=1001

T=0100

激活电锁

F=0000

T=0001

清除及解除电锁

表4.3 

键盘参数表

按键存储电路

因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个键盘扫描完毕后的结果记录下来。

按键存储电路可以使用移位寄存器构成。

3.密码锁控制电路的设计

密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按键输入的响应控制。

(1)数字按键输入的响应控制

a.如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。

b.假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字,再重新输入四位数。

c.由于这里设计的是一个四位的电子密码锁,所以当输入的数字键超过四个时,电路不予理会,而且不再显示第四个以后的数字。

(2)功能按键输入的响应控制

a.清除键:

清除所有的输入数字,即做归零动作。

 b. 

激活电锁键:

按下此键时可将密码锁的门上锁。

(上锁前必须预先设定一个四位的数字密码。

c.解除电锁键:

按下此键会检查输入的密码是否正确,若密码正确无误则开门。

4. 

密码锁显示电路的设计

密码锁显示电路的设计比较简单,这里直接采用四个4-7译码器来实现。

四. 

密码锁的整体组装设计

将前面各个设计好的功能模块进行整合,可得到一个完整的电子密码锁系统的整体组装设计原理图,如下图所示。

        

2.1.2方案二

1.开锁密码为两位十进制并行码;

2.当输入的密码与锁内的密码一致时,绿灯亮,开锁;

当输入的密码与锁内的密码不一致时,红灯亮,不能开锁;

3.密码可由用户自行设置。

二.设计总体框图

密码锁总体框图a如图所示:

            图a密码锁总体框

1.数据输入部分;

方案二的数据输入部分与方案一大不相同,方案二的数据输入部分不用4×

3矩阵键盘,而直接是用20个高低电平来控制;

2.其他部分与方案一类似。

2.2方案选择

由于学校实验室的器材有限,只有一个矩阵式键盘,并且经过检查此键盘还已损坏,再加上方案二的实现明显比方案一简单,故我们本次最终选择了方案二。

3电子密码锁的设计

3.1总体设计

3.1.1各部分的设计:

2.其他部分与方案一类似,这里不再重复。

3.1.2源程序:

Libraryieee;

Useieee.std_logic1164.all;

Useieee.std_logic_signed.all;

Entitylockis

Port(a:

instd_logic_vector(9downto0);

b:

en,clk:

instd_logic;

en1:

c,d:

outstd_logic_vector(6downto0):

=”0111111”;

k,m:

outstd_logic);

endlock;

architecturebehaveoflockis

signale:

std_logic_vector(3downto0):

signalf:

signalg:

signalh:

signalcount1,count2:

std_logic:

=’0’;

signals:

beginprocess(a,e)

begin

if(a(9downto0)=”0000000000”)

thenc(6downto0)<

elsif(a(0)=’1’)then

e<

=”0000”;

c(6downto0)<

elsif(a

(1)=’1’)then

=”0001”;

c(6downto0)<

=”0000110”;

elsif(a

(2)=’1’)then

=”0010”;

=”1011011”;

elsif(a(3)=’1’)then

=”0011”;

=”1001111”;

elsif(a(4)=’1’)then

=”0100”;

=”1100110”;

elsif(a(5)=’1’)then

=”0101”;

=”1101101”;

elsif(a(6)=’1’)then

=”0110”;

=”1111100”;

elsif(a(7)=’1’)then

=”0111”;

=”0000111”;

elsif(a(8)=’1’)then

=”1000”;

=”1111111”;

elsif(a(9)=’1’)then

=”1001”;

=”1100111”;

endif;

endprocess;

process(b,f)

if(b(9downto0)=”0000000000”)then

d(6downto0)<

elsif(b(0)=’1’)then

f<

d(6downto0)<

elsif(b

(1)=’1’)then

elsif(b

(2)=’1’)then

elsif(b(3)=’1’)then

elsif(b(4)=’1’)then

=”0100”;

elsif(b(5)=’1’)then

elsif(b(6)=’1’)then

elsif(b(7)=’1’)then

elsif(b(8)=’1’)then

elsif(b(9)=’1’)then

process(clk)

begin

if(s=’1’)and(en=’1’)and(count1=’0’)then

g(3downto0)<

=e(3downto0);

h(3downto0)<

=f(3downto0);

count1<

=not(count1);

if(en1=’1’)and(count2=’0’)then

if(e(3downto0)=g(3downto0)andf(3downto0)=h(3downto0))then

k<

=’1’;

s<

else

m<

count2<

=not(count2);

if(en=’0’)and(en1=’0’)then

s<

if(en=’0’ands=’1’)then

endbehave;

3.1.3 

密码锁的整体组装图:

图b密码锁的整体组装图

4电子密码锁的仿真与下载

4.1电子密码锁的仿真

图c电子密码锁的仿真图

4.2电子密码锁的程序下载

程序仿真无误后,将程序下载到EPM7128SLC84-15芯片上,然后再结合一些硬件器材连接电路。

检查电路是否能正常工作。

刚开始的时候,电路连好后发现红色的发光二极管始终不亮,经检查发现是坏的,换了后就能正常发光了.后来又出现问题,数码管显示总是错误,然后我们对电路进行了检查发现接地线未接好,于是我们把接地线重接后,电路就能正常工作了。

千万不要删除行尾的分节符,此行不会被打印。

“结论”以前的所有正文内容都要编写在此行之前。

结论

本次设计的电子密码锁基本达到作为数字密码锁的绝大部分功能,但还存在许多不足或需完善的地方,由于学校实验室缺少矩阵式键盘,所以在很大程度上限制了密码锁功能的拓展。

并且若在系统中加入语音提示模块,在开启或关闭密码锁的同时给出语音提示,将会使系统显得更加人性化,更加接近成为一个成熟的产品。

使用Max+PlusⅡ软件和VHDL语言设计电路,思路简单,功能明了;

不仅可以进行逻辑仿真,还可以进行时序仿真;

使用PLD器件不仅省去了电路制作的麻烦,还可以反复多次进行硬件实验,非常方便地修改设计,且设计的电路保密性很强。

总之,采用Max+PlusⅡ软件和VHDL语言使得复杂的电子系统的设计变得简单容易,大大提高了设计效率。

不要自己写,要利用word来自动生成。

详情请看最后一页

致谢

参考文献

[1]卢毅,赖杰·

VHDL与数字电路设计[M]·

北京:

科学出版社,2001·

[2]谭会生,瞿遂春·

EDA技术综合应用实例与分析[M]·

西安电子科技大学出版社,2004·

[3]高有堂·

EDA技术及应用实践·

第二版[M]·

清华大学出版社,2006·

[4]曹建国,王 威,王 丹·

一种基于VHDL的电子密码锁的设计与实现,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2