电子密码锁设计(2).doc_第1页
电子密码锁设计(2).doc_第2页
电子密码锁设计(2).doc_第3页
电子密码锁设计(2).doc_第4页
电子密码锁设计(2).doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

张建平 电子密码锁设计 第18页 共17页长沙理工大学计算机组成原理课程设计报告 电子密码锁设计 张建平学 院 计算机与通信工程 专 业 计算机科学与技术班 级 085010502 学 号 200550080219 学生姓名 张建平 指导教师 肖晓丽 课程成绩 完成日期 2008年1月18日 课程设计成绩评定学 院 计算机与通信工程 专 业 计算机科学与技术班 级 085010502学 号 200550080219 学生姓名 张建平 指导教师 肖晓丽 课程成绩 完成日期 2008.1.18 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 2008年1月18日电子密码锁设计学生姓名:张建平 指导老师:肖晓丽摘要 本文介绍一种利用eda技术和vhdl语言,在max+plus环境下,设计了一种新型的电子密码锁。它体积小、功耗低、价格便宜、安全可靠,维护和升级十分方便,具有较好的应用前景。随着社会物质财富的日益增长,安全防盗已成为全社会问题。人们对锁的要求越来越高,既要安全可靠地防盗,又要使用方便。弹子锁由于结构上的局限已难以满足当前社会管理和防盗要求,特别是在人员经常变动的公共场所,如办公室、宾馆等地方。电子密码锁由于其自身的优势,越来越受到人们的青睐,但是目前使用的电子密码锁大部分是基于单片机用分离元件实现的,其成本较高且可靠性得不到保证。本文采用先进的eda技术,利用max+plus工作平台和vhdl语言,设计了一种新型的电子密码锁。关键词 电子密码锁;eda;vhdl;max+plus目录1 引 言51.1 系统设计要求52 eda技术72.1 eda的概念 72.2 eda技术的历史与发展 62.3 eda的应用 72.4 eda的常用软件 73 系统设计方案与功能实现83.1密码锁输入模块83.2密码锁控制模块94 系统仿真115 结束语13致谢14参考文献15附录141引言计算机组成原理与设计是计算机通信与技术专业本科生的必修课程。在完成理论学习和必要的实验后,本科学生掌握了它的基本原理和各种基本功能的应用,但对硬件实际应用设计和其完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。计算机组成原理与设计的课程设计既要让学生巩固课本学到的理论,还要让学生学习硬件电路设计和用户程序设计,同时学习查阅资料、参考资料的方法。计算机原理与设计的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试用户程序,来加深对该课程的认识和理解,充分发挥我们的个体创新能力。1.1 系统设计要求(1)密码输入:每按下一个数字键,就输入一个数值,并在显示器上显示出该数值,同时将先前输入的数据依次左移一个数字位置。(2)密码清除:每按下清除键可清除前面所有的输入值,清除成“0000”。(3)密码更改:按下更改键可将目前的数码设定成新的密码。(4)密码上锁:按下上锁键可将密码锁上锁。 2 eda技术2.1 eda的概念eda技术是在电子cad技术基础上发展起来的通用软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。eda 设计可分为系统级、电路级和物理实现级。物理级设计主要指ic版图设计,一般由半导体厂家完成;系统级设计主要面对大型复杂的电子产品;而一般民用及教学所涉及基本是电路级设计。我们常用的eda软件多属于电路级设计。电路级设计工作,是在电子工程师接受系统设计任务后,首先确定设计方案,并选择合适的元器件,然后根据具体的元器件设计电路原理图,接着进行第一次仿真。其中包括数字电路的逻辑模拟、故障分析、模拟电路的交直流分析、瞬态分析等。这一次仿真主要是检验设计方案在功能方面的正确性。仿真通过后,根据原理图产生的电气连接网络表进行pcb板的自动布局布线,有条件的还可以进行pcb后分析。其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反馈回电路图,进行第二次仿真,也称作后仿真。后仿真主要是检验pcb板在实际工作环境中的可行性。2.2 eda技术的历史与发展eda技术发展历程大致可分为三个阶段。20世纪70年代为计算机辅助设计(cad)阶段,人们开始用计算机取代手工操作进行ic版图编辑、pcb布局布线。80年代为计算机辅助工程(cae)阶段。与cad相比,cae除了有纯粹的图形绘制功能外,又增加了电路功能分析和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。20世纪90年代为电子系统设计自动化(eda)阶段,同时又出现了计算机辅助工艺(capp)、计算机辅助制造(cam)等。2.3 eda的应用现在eda技术应用广泛,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有eda的应用。目前eda 技术已在各大公司、科研和教学部门广泛使用。在产品设计与制造方面,eda 技术可实现前期的计算机仿真、系统级模拟及测试环境的仿真、pcb的制作、电路板的焊接、asic的设计等。在教学方面,我国高校是从九十年代中期开始eda教育的,现在几乎所有理工科类高校都开设了eda课程。这些课程主要是让学生了解eda的基本概念和原理,使用eda软件进行电子电路课程的实验及从事简单系统的设计。2.4 eda的常用软件eda工具层出不穷,目前进入我国并具有广泛影响的eda软件有:multisim7(原ewb的最新版本)、pspice、orcad、pcad、protel、viewlogic、mentor、graphics、synopsys、lsiiogic、cadence、microsim等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行pcb自动布局布线,可输出多种网表文件与第三方软件接口。3.系统设计方案与功能实现根据系统设计要求,系统设计采用自顶向下的设计方法。顶层设计采用原理图设计方式,系统的整体组装设计原理图如图3-1所示,它由密码锁输入模块、密码锁控制模块和密码锁显示译码模块三部分组成。图3-1 系统整体组装设计原理图3.1密码锁输入模块密码锁输入模块由时序产生电路、键盘扫描电路、键盘译码电路和按键存储电路组成。时序产生电路产生电路中使用的三种不同频率的工作脉冲波形,即系统时钟脉冲、弹跳消除取样信号和键盘扫描信号。键盘扫描电路扫描电路的作用是提供键盘扫描信号,扫描信号变化的顺序依次为1110-1101-1011-0111-1110依序地周而复始。键盘译码电路上述键盘中的按键分为数字按键和文字按键,每一个按键可能负责不同的功能,例如清除键、上锁键和解锁键等。数字按键主要是用来输入数字的,但是键盘所产生的输出是无法直接拿来用作密码锁控制电路的输入的;另外,不同的按键具有不同的功能,所以必须由键盘译码电路来规划每个按键的输出形式,以便执行相应的动作。按键存储电路因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个扫描完毕后的结果记录下来。各按键的位置与数码关系如表3-2所示。表3-2 按键位置与数码关系3.2密码锁控制模块密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按键输入响应控制。 数字按键输入的响应控制.如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按下一个数字时,显示器上的数字必须左移一位,以便将新的数字显示出来。.假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字,再重新输入四位数。.由于这里设计的是一个四位的电子密码锁,所以当输入的数字键超过四个时,电路不予理会,而且不再显示第四个以后的数字。功能按键输入的响应控制.清除键:清除所有的输入数字,即作归零动作。.上锁键:按下此键时可将密码锁的门上锁(上锁前必须预先设定一个四位的数字密码)。.解除键:按下此键会检查输入的密码是否正确,若密码正确无误则解锁。led显示程序如下:library ieee;use ieee.std_logic_1164.all;entity led_disp isport( datain:in std_logic_vector(3 downto 0); dataout:out std_logic_vector(7 downto 0) );end led_disp;architecture rtl of led_disp isbegin process(datain) begin case datain is when 1010=dataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutnull; end case; end process;end rtl;4 系统仿真该密码锁利用max plus工作平台进行编译和综合仿真,将程序下载flex10k芯片中,同时在eda试验箱上进行硬件验证。本文提出的电子密码锁由于采用vhdl语言设计,用一片fpga实现,因而体积小,功耗低,稍加修改就可以改变密码的位数和输入密码的次数,具有较好的应用前景。但由于结构还比较简单,有待进一步完善。(1) 密码锁输入模块的仿真,如图4-1所示。图4-1 密码锁输入模块的仿真图(2) 密码锁控制模块的仿真,如图4-2所示。图4-2 密码锁控制模块的仿真图(3) 密码锁译码模块的仿真,如图4-3所示。 图4-3 密码锁译码模块的仿真图(4) 电子密码锁整个系统的仿真,如图4-4所示。图4-4 电子密码锁整个系统的仿真图5 结束语通过两星期的紧张工作,最后完成了我的设计任务基于vhdl语言的智能密码锁设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性所在。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。在应用vhdl的过程中让我真正领会到了其并行运行与其他软件(c语言)顺序执行的差别及其在电路设计上的优越性。用vhdl硬件描述语言的形式来进行数字系统的设计方便灵活,利用eda软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。致谢在此次课程设计中,非常感谢肖晓丽老师对我的指导与大力的帮助。如果没有她严谨细致、一丝不苟地批阅和指正,本文很难在这个短时间内完成。从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!参考文献王锁平编著.电子设计自动化(eda)教程.电子科技大学出版社. 2000 .3潘松等编著.eda技术实用教程.科学出版社.2002.10潘松等编著. vhdl实用教程.电子科技大学出版社.2002.6戈素贞等. 采用eda技术实现4位十进制数字密码锁.山西电子技术.2002.12刘钰等.一种vhdl语言设计的数字密码锁,信心技术与信息化.2004.4附录主控制程序参考如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity coded_lock isport( clk :in std_logic; ret :in std_logic; key_f:in std_logic_vector(1 downto 0); keyin :in std_logic_vector(9 downto 0); disp:out std_logic_vector(7 downto 0); ledcs:out std_logic_vector(3 downto 0); led2cs:out std_logic;-led片选信号 sound:buffer std_logic; led2:buffer std_logic_vector(1 downto 0) );end coded_lock;architecture rtl of coded_lock issignal key_temp:std_logic_vector(9 downto 0);-按键缓存signal n:std_logic_vector(3 downto 0);-按键缓存signal ff:std_logic;-按键标志signal acc:std_logic_vector(15 downto 0);-所有按键的寄存器signal reg:std_logic_vector(15 downto 0);-比较寄存器signal nc:integer range 0 to 4;-移位用的标志位signal a,b,c,d:std_logic_vector(3 downto 0);-显示用的寄存器signal clk_1k:std_logic;-扫描时钟signal data:std_logic_vector(3 downto 0);signal f:std_logic_vector(1 downto 0);signal s_cnt:integer range 0 to 4;signal clk_10hz:std_logic;signal flag:std_logic;component led_disp is port(datain:in std_logic_vector(3 downto 0); dataout:out std_logic_vector(7 downto 0) );end component;beginxiaodou:process(clk) -按键消拉动电路 variable cnt:integer range 0 to 2000000; begin if ri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论