电子密码锁设计.docx

上传人:夺命阿水 文档编号:976821 上传时间:2024-02-16 格式:DOCX 页数:12 大小:236.59KB
返回 下载 相关 举报
电子密码锁设计.docx_第1页
第1页 / 共12页
电子密码锁设计.docx_第2页
第2页 / 共12页
电子密码锁设计.docx_第3页
第3页 / 共12页
电子密码锁设计.docx_第4页
第4页 / 共12页
电子密码锁设计.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《电子密码锁设计.docx》由会员分享,可在线阅读,更多相关《电子密码锁设计.docx(12页珍藏版)》请在课桌文档上搜索。

1、计算机组成原理课程设计报告电子密码锁设计摘要本文介绍一种利用EDA技术和VHDL语言,在MAX+PLUSII环境下,设计了一种新型的电子密码锁。它体积小、功耗低、价格便宜、安全可靠,维护和升级十分方便,具有较好的应用前景。随着社会物质财富的日益增长,安全防盗已成为全社会问题。人们对锁的要求越来越高,既要安全可靠地防盗,又要使用方便。弹子锁由于结构上的局限已难以满足当前社会管理和防盗要求,特别是在人员经常变动的公共场所,如办公室、宾馆等地方。电子密码锁由于其自身的优势,越来越受到人们的青睐,但是目前使用的电子密码锁大部分是基于单片机用分离元件实现的,其成本较高且可靠性得不到保证。本文采用先进的E

2、DA技术,利用MAX+PLUSIl工作平台和VHDL语言,设计了一种新型的电子密码锁。关键词电子密码锁;EDA;VHDL;MAX+PLUSIl目录1引言51.1系统设计要求52EDA技术72.1EDA的概念72.2EDA技术的历史与发展62. 3EDA的应用73. 4EDA的常用软件73系统设计方案与功能实现84. 1密码锁输入模块84系统仿真115结束语13致14参考文献15附录141引言计算机组成原理与设计是计算机通信与技术专业本科生的必修课程。在完成理论学习和必要的实验后,本科学生掌握了它的基本原理和各种基本功能的应用,但对硬件实际应用设计和其完整的用户程序设计还不清楚,实际动手能力不够

3、,因此对该课程进行一次课程设计是有必要的。计算机组成原理与设计的课程设计既要让学生巩固课本学到的理论,还要让学生学习硬件电路设计和用户程序设计,同时学习查阅资料、参考资料的方法。计算机原理与设计的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试用户程序,来加深对该课程的认识和理解,充分发挥我们的个体创新能力。1.1系统设计要求(D密码输入:每按下一个数字键,就输入一个数值,并在显示器上显示出该数值,同时将先前输入的数据依次左移一个数字位置。(2)密码清除:每按下清除键可清除前面所有的输入值,清除成“0000”。(3)密码更改:按下更改键可将目前的数码设定成新的密码。

4、(4)密码上锁:按下上锁键可将密码锁上锁。2EDA技术2.1 EDA的概念EDA技术是在电子CAD技术基础上发展起来的通用软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理与智能化技术的最新成果,进行电子产品的自动设计。EDA设计可分为系统级、电路级和物理实现级。物理级设计主要指IC版图设计,一般由半导体厂家完成;系统级设计主要面对大型复杂的电子产品;而一般民用与教学所涉与基本是电路级设计。我们常用的EDA软件多属于电路级设计。电路级设计工作,是在电子工程师接受系统设计任务后,首先确定设计方案,并选择合适的元器件,然后根据具体的元器件设计电路原理图,接着进行第一次仿真。

5、其中包括数字电路的逻辑模拟、故障分析、模拟电路的交直流分析、瞬态分析等。这一次仿真主要是检验设计方案在功能方面的正确性。仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线,有条件的还可以进行PCB后分析。其中包括热分析、噪声与窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反馈回电路图,进行第二次仿真,也称作后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。2.2 EDA技术的历史与发展EDA技术发展历程大致可分为三个阶段。20世纪70年代为计算机辅助设计(CAD)阶段,人们开始用计算机取代手工操作进行IC版图编辑、PCB布局布线。80年代为计算机辅助工程

6、(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能分析和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。20世纪90年代为电子系统设计自动化(EDA)阶段,同时又出现了计算机辅助工艺(CAPP).计算机辅助制造(CAM)等。2.3 EDA的应用现在EDA技术应用广泛,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、科研和教学部门广泛使用。在产品设计与制造方面,EDA技术可实现前期的计算机仿真、系统级模拟与测试环境的仿真、PCB的制作、电路板的焊接、ASIC的设计等。在教学方面

7、,我国高校是从九十年代中期开始EDA教育的,现在几乎所有理工科类高校都开设了EDA课程。这些课程主要是让学生了解EDA的基本概念和原理,使用EDA软件进行电子电路课程的实验与从事简单系统的设计。2.4 EDA的常用软件EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:multiSIM7(原EWB的最新版本)、PSPICEOrCAD、PCADProteLViewlogicMentorGraphics、SynopsysLSllogic、CadenceMiCrOSinl等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线

8、,可输出多种网表文件与第三方软件接口。3.系统设计方案与功能实现根据系统设计要求,系统设计采用自顶向下的设计方法。顶层设计采用原理图设计方式,系统的整体组装设计原理图如图37所示,它由密码锁输入模块、密码锁控制模块和密码锁显示译码模块三部分组成。SRCLK C=-j1 CI.K IKr2.0 zJ2ttIKbY JNIl.OJDAIA,N3 O) DATAF3.OFLAG.NH-AGJ SETINOIT czo OLD = ENLOCKDAA BCDI5.OLrmJT C=O SIX(3.0)- CSRlI . .0DAlA_Ba)(3.0YMWfIfVl u SEG,SMI(6 .0DATA

9、 BCD(7.4Ey f /四2DATA,BCX3 0| DOUT7(6 .Qp2VTnrr C= SEGSM2(6.0)DATA,BCD(ll.fYMJ DATA_BCD3.SDOUT76.0卜WnVT u SEG_SM3(6.0|DATA BCD 15.12YMUZ SEG_SM4(6.0|图37系统整体组装设计原理图1 .1密码锁输入模块密码锁输入模块由时序产生电路、键盘扫描电路、键盘译码电路和按键存储电路组成。时序产生电路产生电路中使用的三种不同频率的工作脉冲波形,即系统时钟脉冲、弹跳消除取样信号和键盘扫描信号。键盘扫描电路扫描电路的作用是提供键盘扫描信号,扫描信号变化的顺序依次为11

10、10-1101-1011-0111-1110依序地周而复始。键盘译码电路上述键盘中的按键分为数字按键和文字按键,每一个按键可能负责不同的功能,例如清除键、上锁键和解锁键等。数字按键主要是用来输入数字的,但是键盘所产生的输出是无法直接拿来用作密码锁控制电路的输入的;另外,不同的按键具有不同的功能,所以必须由键盘译码电路来规划每个按键的输出形式,以便执行相应的动作。按键存储电路因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个扫描完毕后的结果记录下来。各按键的位置与数码关系如表3-2所示。表3-2按键位置与数码关系扫描位置CSR1.000000001010110

11、1010111111键盘输出信号SEL3.0001101010110OOll0101011000110101011000110101OllO按键号12345678903 .2密码锁控制模块密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按键输入响应控制。数字按键输入的响应控制I.如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按下一个数字时,显示器上的数字必须左移一位,以便将新的数字显示出来。Il.假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字,再重新输入四位数。III.由于这里设计的是一个四位的电子密码锁,所以当输入

12、的数字键超过四个时,电路不予理会,而且不再显示第四个以后的数字。功能按键输入的响应控制I.清除键:清除所有的输入数字,即作归零动作。Il.上锁键:按下此键时可将密码锁的门上锁(上锁前必须预先设定一个四位的数字密码)。Ill.解除键:按下此键会检查输入的密码是否正确,若密码正确无误则解锁。1.ED显示程序如下:Iibraryieee;useieee.std_Iogic_1164.aII;entityIed_dispisport(datain:instd_Iogic_vector(3downto0);dataout:outstd_Iogic-vector(7downto0);endled_disp

13、;architecturertIofIed_dispisbeginprocess(datain)begincasedatainiswhen,1010=dataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutnuII;endcase;endprocess;endrtI;该密码锁利用MAXPLUSIl工作平台进行编译和综合仿真,将程序下载FLEXlOK芯片中,同时在EDA试验箱上进行硬件验证。本文提出的电子密码锁由于采用VHDL语言设计,用一片FPGA实现,因而体积小,功耗低,稍加修改就可以改变密码的位数和输入密码

14、的次数,具有较好的应用前景。但由于结构还比较简单,有待进一步完善。(1)密码锁输入模块的仿真,如图47所示。图47密码锁输入模块的仿真图(2)密码锁控制模块的仿真,如图4-2所示。图4-2密码锁控制模块的仿真图H3HlWOHWn站 OUS 3b040 Gui 42 0u(44 Out 4S0us 4 Ous50 Ous51054 OusMOOOOHOOOO3F*3FHHKHNfn CLF SEip 0 CSA(I 0 * KEYP 0| ENLOCK “ MMAJN 9SN OLD OF ACC “ReG 3SM46 0| 3 SM2f6 0) 3 SMip 0| 9SM36 0|叼 JL 8

15、086 Ous90 Om% Ovs100m00鳖颦翳弱鬻嗯paFgmgrCl二匚的二二二二困口(3)密码锁译码模块的仿真,如图4-3所示。NE子已a360州BOgWOfrw120Jht一T记叫Do1父才工J?)3?,X5i6X78X9i2/”YQ3Dc7ponP)IllIKmm而T,:CXMQO网XnlrOlRxpi“X”HTxTlo”IlrOOOoOOO图4-3密码锁译码模块的仿真图(4)电子密码锁整个系统的仿真,如图4-4所示。N.g-CLb3SE0|HE“C网I0|HO。;0|H7-“KftMM4-OSfTMdiXR-*M4h3SM2602SM160-SM360)NW-CLKsup0KS

16、RII0|iYp0|EfCOCKMMAJN图4-4电子密码锁整个系统的仿真图通过两星期的紧工作,最后完成了我的设计任务基于VHDL语言的智能密码锁设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错

17、误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。在应用VHDL的过程中让我真正领会到了其并行运行与其他软件(C语言)顺序执行的差别与其在电路设计上的优越性。用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。致在此次课程设计中,非常感肖晓丽老师对我的指导与大力的帮助。如果没有她严谨细致、一丝不苟地批阅和指正,本文很难在这个短时间完成。从开始进入课题到论文的顺利完成,有多少

18、可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的意!参考文献王锁平编著.电子设计自动化(EDA)教程.电子科技大学.2000.3松等编著.EDA技术实用教程.科学.2002.10松等编著.VHDL实用教程.电子科技大学.2002.6戈素贞等.采用EDA技术实现4位十进制数字密码锁.电子技术.2002.12钱等.一种VHDL语言设计的数字密码锁,信心技术与信息化.2004.4附录主控制程序参考如下:Iibraryieee;useieee.std_Iogic_1164.aII;useieee.std_Iogic_unsigned.all;useieee.std_logic_arith.

19、aII;entitycoded_lockisport(cIk:instd_logic;ret:instd_logic;key_F:instd_Iogic_vector(1downto0);keyin:instd_Iogic_vector(9downto0);disp:outstd_Iogic_vector(7downto0);Iedcszoutstd_Iogic_vector(3downto0);Ied2cs:outstd_logic;Ied片选信号sound:bufferstd_logic;Ied2:bufferstd_Iogic_vector(1downto0);endcoded_lock

20、;architecturertIofcoded_lockissignalkey_temp:std_Iogic_vector(9downto0);一按键缓存signaIN:std_Iogic_vector(3downto0);一按键缓存signaIFF:std_logic;一按键标志signaIACC:std_Iogic_vector(15downto0);一所有按键的寄存器signalREG:std_Iogic_vector(15downto0);一比较寄存器signaINC:integerrange0to4;一移位用的标志位signaIA,B,C,D:std_Iogic_vector(3do

21、wnto0);一显示用的寄存器SIGNALclkk:std_lOgic;一扫描时钟signaldata:std_Iogic_vector(3downto0);signaIF:std_Iogic_vector(1downto0);signals_cnt:integerrange0to4;signalcIk_1Ohz:std_logic;signalflag:std_logic;componentIed_dispisport(datain:instd_Iogic_vector(3downto0);dataout:outstd_Iogic_vector(7downto0);endcomponent;

22、begin一按键消拉动电路XIAODOU:process(cIk)variabIet:integerrange0to2000000;beginifrising_edge(cIk)thenift1999999thent:=cnt+1;eIset:=0;key_temp=keyin;FNNNNN01004when,111110111,=NNN,01117when-1111111101=NNN=1111;endcase;endprocess;FF=not(N(3)andN(2)andN(1)andN(0);一判断按键REGISTE:process(FF,ret)一寄存按键信号电路variabIet:

23、integerrange0to5;-std_Iogic_vector(1downto0);beginifret=,0,then一系统复位电路-ACC=00000;t:=0;NC=O;eIsifrising_edge(FF)thent:=cnt+1;ACC=ACC(11downto0)&N;ift=5thent:=1;endif;endif;NC=cnt;endprocess;CLK_1Khz:process(cIk)产生Ik的数码管扫描信号variabIet:integerrange0to20000;beginifrising_edge(cIk)thent:=cnt+1;ift10000thenclkJk=,;elsift20000thenclkjk=,;eIset:=0;cIk_1k;endif;endif;endprocess;

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号