电子密码锁论文.docx
- 文档编号:27518436
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:52
- 大小:765.66KB
电子密码锁论文.docx
《电子密码锁论文.docx》由会员分享,可在线阅读,更多相关《电子密码锁论文.docx(52页珍藏版)》请在冰豆网上搜索。
电子密码锁论文
摘要
随着我国市场经济的快速发展和人们生活水平的不断提高,简单的锁已不能满足人们的需求。
这迫切要求开发出一个方便、快捷、安全的电子密码锁。
本系统就是在这种前提下开发的。
文采用EDA技术对电子密码锁进行设计,介绍了设计电子密码锁所采用的设计语言、仿真平台与开发系统,描述了电子密码锁的总体结构、主要功能与设计流程,给出了电子密码锁设计的仿真结果,阐述了计算机仿真在电子系统设计中的功能和重要作用。
在硬件上,用Altera公司的Max+plus2大规模集成芯片对其外围电路进行集成,用l片FPGA实现了几十片分离元件才能实现的功能,几乎将整个系统下载于同一芯片中,实现了所谓的片上系统,从而大大简化了系统结构,增强了系统的可靠性和性价比。
该密码锁特别适用于宾馆、办公大楼、仓库等人员经常变动的场所。
实践证明,EDA技术将电子系统的软件设计与硬件设计有机地融为一体,为电子系统设计提供了全新的手段,它是现代电子设计的发展趋势。
关键词:
计算机仿真,电子设计自动化技术,Max+plus2.
Abstract
Withtheconstantimprovementofmarketeconomyfastdevelopmentandpeople'slivingstandardofourcountry,thesimplelockcan'talreadymeetpeople'sdemands.Itstronglyrequirestodeveloponeconvenience,swift,safeelectroniccodelock.Andinthisenvironmentitappears.
ThepaperusesEDAtechnologytodesignelectroniccodelock.Itintroducesthedesignlanguage,SimulationPlatformandDevelopmentSystemwhichareusedinthedesignofelectroniccodelock.Alsoitdescribestheoverallstructure,thefunctionandthedesignprocesses,andgivesouttheelectroniccodelockdesignsimulationresults.Atlastitelaboratestheimportantroleinthedesignofelectronicsystemsbycomputersimulation.ItadoptstheMax+plus2largescaleintegratedchipofAlteracorporationtointegratetheperipherycircuitsandusesaFPGAtoimplementthefunctionoftensofseparatedchips.Thusitreducesthesystemstructureandenhancesthereliabilityandcostperformanceofthesystem.Theelectroniccodelockissuitableforhotel,officebuilding,warehouseandsoon.
EDAtechniqueblendsthedesigningofthehardwareandsoftwareoftheelectronicsystem.Itprovidesnewsmethodsfortheelectronicsystemdesign.Anditisthedirectionofmodernelectronicsystemdesign’sdevelopment.
KEYWORDS:
Computersimulator,EDAtechnique,Max+plus2.
目录
1前言1
2概述2
2.1EDA2
2.1.1EDA技术的发展2
2.1.2EDA的特点2
2.1.3EDA设计流程3
2.2VHDL4
2.2.1VHDL的由来4
2.2.2VHDL优点5
2.2.3VHDL的程序结构6
2.3Max+plus27
2.3.1Max+plus2由来7
2.3.2Max+plus2设计流程8
3电子密码锁硬件设计10
3.1电子密码锁的组成与主要功能10
3.1.1电子密码锁组成10
3.1.2电子密码锁功能11
3.2键盘接口电路的设计11
3.2.1矩阵式键盘的工作原理12
3.2.2时序产生电路14
3.2.3键盘扫描电路14
3.2.4弹跳消除电路14
3.2.5键盘译码电路16
3.2.6按键存储电路17
3.3密码锁的控制电路设计17
3.3.1数字按键输入17
3.3.2功能键输入部分17
3.4七段显示器显示电路的设计19
4电子密码锁软件设计21
4.1键盘接口21
4.1.1时序产生21
4.1.2键盘扫描22
4.1.3弹跳消除24
4.1.4键盘译码25
4.1.5按键存储28
4.2密码锁的控制34
4.3七段显示器35
4.4四位数电子密码锁35
5结论37
参考文献38
致谢39
附录140
附录244
附录350
附录452
电子密码锁
1前言
20世纪末,数字电子技术得到了飞速发展,有力地推动和促进了社会生产力的发展和社会信息化的提高,数字电子技术的应用已经渗透到人类生活的各个方面。
从计算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都广泛采用了数字电子技术。
从事电子产品设计,开发等工作的人员,经常需要对设计的电路进行实验和调试。
以往的实验往往在面包板上进行,根据实验结果不断更新元器件或修改参数,直至达到设计要求为止。
但由于受工作场地,仪器设备和元器件品种,数量的限制,有些实验往往无法及时完成。
即使能完成,由于插装元器件和连接导线费时费力,工作效率也低。
随着计算机技术的发展,电子电路的仿真或模拟已经成为电子系统设计的必要手段。
EDA技术就是以现代电子设计技术为灵魂,计算机软件技术为手段,最终形成集成电子系统为目的的一门新兴技术。
它以可编程逻辑器件为载体,以计算机为工作平台,以EDA工具软件为开发环境,以硬件描述语言作为电子系统功能描述方式,以电子系统设计为应用方向的电子产品自动化设计过程。
设计安排:
第一部分介绍EDA、Max+plus2软件开发工具以及VHDL语言,介绍它们的特点和流程。
第二部分介绍电子密码锁的硬件部分,分为密码锁输入电路、密码锁控制电路和密码锁显示译码电路。
第三部分介绍电子密码锁软件部分,用VHDL语言编写电子密码锁各个部分的程序,用Max+plus2软件开发工具来验证是否正确并仿真。
2概述
2.1EDA
2.1.1EDA技术的发展
现代电子技术的核心是EDA技术,EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、优化、仿真,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC芯片中,实现既定的电子电路设计功能。
EDA技术使得电子电路设计者的工作仅限于利用硬件描述语言和EDA软件平台来完成对系统硬件功能的实现,极大地提高了设计效率,缩短了设计周期,节省了设计成本。
EDA技术伴随着计算机,集成电路和电子系统设计的发展,经历了计算机辅助设计(CAD),计算机辅助功能设计(CAED),电子设计自动化(EDA)三个发展阶段。
2.1.2EDA的特点
在计算机辅助电子系统设计出现以前,人们一直采用传统的硬件电路设计方法来设计系统的硬件。
这种硬件设计方法的主要特点是:
(1)采用自底向上的设计方法;
(2)采用通用的逻辑器件;
(3)在系统硬件设计的后期进行仿真和调试;
(4)主要设计文件是电原理图。
传统的硬件电路设计方法已经沿用几十年,是目前广大电子工程师所熟悉和掌握的一种方法。
随着电子技术和计算机的飞速发展,一种崭新的、采用硬件描述语言的硬件电路设计方法已经兴起。
利用EDA技术进行电子系统的设计,具有以下几个特点:
(1)用软件的方式设计硬件;
(2)用软件的方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;
(3)设计过程中可用有关软件进行各种仿真;
(4)系统可现场编程,在线升级;
(5)整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。
2.1.3EDA设计流程
利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的。
EDA设计流程如图2.1所示。
EDA设计流程包括设计准备,设计输入,设计处理,器件编程和设计完成5个步骤,以及相应的功能仿真,时序仿真和器件测试3个设计验证过程。
2.2VHDL
2.2.1VHDL的由来
电子密码锁的设计采用了功能强大的通用硬件描述语言VHDL,它具有很强的行为描述能力,设计方法灵活,可以支持自顶向下(TopDown)和基于库(Library—Based)的设计方法,硬件描述与具体的工艺技术和硬件结构无关,能轻易地改变设计的规模和结构,标准、规范易于共享与复用,易于向ASIC移植。
VHDL是VERYHIGHSPEEDINTERGATEDCIRCUITHARDWAREDESCRIPTIONLANGUAGE的缩写,意思是非常高速集成电路的硬件描述语言。
这是一项诞生于由美国国防部所支持的研究计划,目的是为了把电子电路的设计意义以文字或文件的方式保存下来,以便其他人能轻易地了解电路的设计意义。
1985年完成了第一版的硬件描述语言,两年后成为IEEE标准,即IEEE1076标准。
1988年,美国国防部规定所有官方的ASIC设计都必须以VHDL为设计描述语言,所以VHDL就渐渐成为工业界的标准。
之后于1993年增修为众所周知的IEEE1164标准,1996年,IEEE又将电路合成的标准程序与规格加入至VHDL硬件描述语言中,称为IEEE1076.3标准。
由于半导体编程技术的快速进步,VHDL所能提供高阶电路描述语言的方式,让复杂的电路可以通过VHDL编辑器的电路合成方式,轻易而且快速地达到设计的规格。
由于VHDL电路描述语言所能涵盖的范围相当广,能适应于各种不同阶层的设计工程师的需求。
从ASIC的设计到PCB系统的设计,VHDL电路描述语言都能够派上用场,所以VHDL电路设计毫无疑问地成为硬件设计工程师的必备工具。
2.2.2VHDL优点
(1)与其他硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性做出判断。
(3)VHDL语句的行为描述能力和程序结构。
决定了它具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个开发组共同并行工作才能实现,VHDL中设计实体的概念,程序包的概念,设计库的概念为设计的分解和并行工作提供了有利的支持。
(4)用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表。
这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。
利用EDA工具的逻辑优化功能,可以自动地把一个综合后的设计变成一个更小,更高速的电路系统。
反过来,设计者还可以容易地从综合和优化的电路获得设计信息,返回去更新,修改VHDL的设计描述,使之更加完善。
(5)VHDL对设计的描述具有相对独立性。
设计者可以不懂硬件的结构,也不必管最终设计的目标器件是什么,而进行独立的设计。
正因为VHDL的硬件描述与具体的工艺技术和硬件结构无关,所以VHDL设计程序的硬件实现目标器件有广阔的选择范围,其中包括各种系列的CPLD、FPGA及各种门阵列器件。
(6)由于VHDL类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。
2.2.3VHDL的程序结构
一个相对完整的VHDL程序如图2.2都有比较固定的结构。
通常包括实体,结构体,配置,程序包和库5个部分。
2.3Max+plus2
2.3.1Max+plus2由来
本设计采用的软件开发工具是美国Altera公司的Max+plus2,它界面友好、使用便捷,被誉为业界最易用易学的EDA软件。
它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。
它具有原理图输入和文本输入(采用VHDL语言)两种输入手段,利用该工具所配备的编辑、编译、仿真综合、芯片编程等功能,可将设计电路图或电路描述程序变成基本的逻辑单元写入到可编程的芯片中(如FPGA芯片),做成ASIC芯片。
2.3.2Max+plus2设计流程
(1)设计输入:
可以采用原理图输入,HDL语言描述,EDIF网表输入及波形输入等几种方式。
(2)编译:
先根据设计要求设定编译参数和编译策略,如器件的选择,逻辑综合方式的选择等。
然后根据设定的参数和策略对设计项目进行网表提取,逻辑综合和器件适配,并产生报告文件,延时信息文件及编程文件,供分析仿真和编程使用。
(3)仿真:
仿真包括功能仿真,时序仿真和定时分析,可以利用软件的仿真功能来验证设计项目的逻辑功能是否正确。
(4)编程与验证:
用经过仿真确认后的编程文件通过编程器将设计下载到实际芯片中,最后测试芯片在系统中的实际运行性能。
图2.4编程界面
图2.5仿真界面
3电子密码锁硬件设计
3.1电子密码锁的组成与主要功能
3.1.1电子密码锁组成
4位数的电子密码锁的设计由三部分组成:
(1)3×4矩阵键盘接口电路的设计(内容包括:
时序产生电路,键盘扫描电路,弹跳消除电路,键盘译码电路,按键存储电路);
(2)密码锁的控制电路设计(内容包括:
数字按键的数字输入、存储及清除,功能按键的功能设计,移位寄存器的设计与控制,密码清除、变更、存储电路,密码核对、激活及解除电锁电路);
(3)输出七段显示电路的设计(内容包括:
数据选择电路,BCD对七段显示器译码电路,七段显示器扫描电路)。
每一部分都包含了若干子电路,将各电路组合起来,就构成了一个整体。
系统的整体组装设计原理图如图3.1所示
图3.1原理图
3.1.2电子密码锁功能
数码输入:
每按下一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,并将先前已经输入的数据依序左移一个数字位置。
数码清除:
按下次键可清除前面所有的输入值,清除成为“0000”。
密码更改:
按下此键时会将目前的数字设定成新的密码。
激活电锁:
按下此键可将密码锁上锁。
解除电锁:
按下此键会检查输入的密码是否正确,密码正确即开锁。
3.2键盘接口电路的设计
图3.2是电子密码锁的输入电路方块图,由键盘扫描电路,弹跳消除电路,键盘译码电路,按键数据寄存器,加上外接的一个3*4矩阵式键盘所组成。
图3.2电子密码锁的输入电路方块图
3.2.1矩阵式键盘的工作原理
矩阵式键盘是一种常见的输入装置,在日常生活中,矩阵式键盘在计算机,电话,手机,微波炉等各式电子产品上已经被广泛应用。
图3.3为一个3*4矩阵键盘的面板配置。
键盘上的每一个按键其实是一个开关电路,当某键被按下时,该按键的接点会呈现逻辑0的状态,反之,未被按下时则呈现逻辑1的状态。
扫描信号由KY3-KY0进入键盘,变化顺序为1110-1101-1011-0111-1110。
每次扫描一排,依序地周而复始。
例如现在的信号为1011,代表目前扫描7,8,9这一排的按键,如果这排当中没有按键被按下的话,则由KX2-KX0读出的值为111;反之当7这个按键被按下时,则由KX2-KX0读出的值为011。
同理列出其他按键的位置与数码关系如表3.1所示。
若从KX2-KX0读出的值皆为1时,代表该列没有按键被按下,则不进行按键编码的动作,反之,如果有被按下按键时,则应将KX2-KX0读出的值送至译码电路进行译码。
光靠矩阵式键盘是无法正确地完成按键输入工作的,另外必须搭配下列几种电路,才能正确地完成键盘输入的工作。
3.2.2时序产生电路
当一个系统中使用不同操作频率的脉冲波形时,最方便的方法之一就是利用一个自由计数器来产生各种需要的频率。
本电路中就使用三种不同频率的工作脉冲波形。
他们分别是:
系统时钟脉冲,弹跳消除取样信号,键盘扫描信号和七段显示器扫描信号。
在很多的电路设计中,键盘扫描信号和七段显示器扫描信号可使用相同的时钟脉冲信号。
3.2.3键盘扫描电路
扫描电路的作用是用来提供键盘扫描信号(表3.1中的KY3-KY0)的电路,扫描信号变化的顺序依次为1110-1101-1011-0111-1110依序地周而复始。
扫描时依序分别扫描四列按键,当扫描信号为1110时,扫描KY3这一排按键。
当扫描信号为1101时,扫描KY2这一排按键。
当扫描信号为1011时,扫描KY1这一排按键。
当扫描信号为0111时,扫描KY0这一排按键;每扫描一排按键,就检查一次是否有按键被按下,如果这排没有按键被按下就不忽略,反之,如果出现被按下的键则立刻进行按键编码的动作,且将编码的结果存储与存储器中。
3.2.4弹跳消除电路
因为按键大多是机械式开关结构,在开关切换的瞬间会在接触点出现来回弹跳的现象,对于激活关闭一般电器如开关日光灯,电视等一般电子用品,并不会有何影响,但对于灵敏度较高的电路,这种弹跳现象却可能造成误动作而影响到正确性。
弹跳现象产生的原因可从图3.4说明,虽然只是按下按键然后放掉,然而实际产生的按键信号却不只跳动一次,经过取样信号的检查后,将会造成误判,以为键盘按了两次。
图3.4弹跳现象产生错误的抽样结果
如果调整抽样频率如图3.5,就可以发现弹跳现象获得了改善。
图3.5调整抽样频率后得到的抽样结果
因此必须加上弹跳消除电路,避免误操作信号的发生。
3.2.5键盘译码电路
上述键盘中的按键可分为数字按键和文字按键,每一个按键可能负责不同的功能,列如清除密码,退位,激活电锁,开锁等请参阅表3.2。
表3.2键盘参数表
3.2.6按键存储电路
因为每次扫描会产生新的按键数据,可能会覆盖前面的数据,所以需要一个按键存储电路,将整个键盘扫描完毕后的结果记录下来。
按键存储电路可以用移位寄存器构成。
常见的移位寄存器有以下四种:
(1)串行输入/串行输出(SISO)
(2)串行输入/平行输出(SIPO)
(3)平行输入/串行输出(PISO)
(4)平行输入/平行输出(PIPO)
3.3密码锁的控制电路设计
完成键盘输入电路之后,接着要设计的是控制电路设计。
它是整个电路的控制中心。
3.3.1数字按键输入
如果输入数字键,第一个数字会从显示器的最右端开始显示,此后每新按一个数字时,显示器上的数字必须往左移动一位,以便将新的数字显示出来。
若想要更改输入的数字,可按退格键来清除前一个输入的数字,或按清除键清除输入的所有数字,再重新输入4位数字。
既然设计的是四位电子密码锁,当输入的数字键超过4位时,电路不应理会,而不会显示第4个以后输入的数字。
3.3.2功能键输入部分
退格键:
只清除前一个输入的数字。
清除键:
清除所有输入的数字,即做归零的动作。
密码核对:
在密码更改,解决电锁之前,必须先核对密码是否正确。
密码变更:
按下此键将目前输入的数字设定为新的密码。
要变更密码前必须输入旧的密码,核对无误后才能进一步变更新的密码。
激活电锁:
按下此键可将密码锁的门上锁.上锁之前必须先设定密码,才能上锁,此密码必须是4个数字方属有效。
解除电锁:
按下此键会检查输入的密码是否正确,密码正确即开门。
密码清除:
为了怕使用者忘记密码,系统维护者可以考虑设计一个万用密码,不论原先输入的密码是什么,只要输入万用密码即可开锁。
在使用电子密码锁的时候,只会用到3种模式。
其中文字输入模式用的是数字按键,只有上锁和开锁两个模式必须占用功能按键。
但实际操作的过程中,难免会有按键情况发生,所以”退各键”和”清除键”被使用到的几率很高,设计时必须至少保留其中一种功能.因此本范例中的功能按键规划如下,其中#按键负责两种功能。
“*”按键负责执行”激活电锁”的功能。
“#”按键负责执行”解除电锁”和清除的功能。
3.4七段显示器显示电路的设计
在数字逻辑电路的内部,大多采用二进制或十六进制的数字系统,但是在日常生活中则几乎都是十进制,所以经常会遇到数字系统之间相互转换的问题.尤其在人机接口处,为了方便观察电路运算或处理后的结果,必须将数据显示在七段显示器,液晶等输出装置上,所以将BCD码转换成七段显示器的数码转换电路也是使用率很高的数码转换电路之一。
图3.7显示电路的方块图,寄存器所存储的数据经由数据选择器进入,在经由译码电路将原来的BCD码转换成七段显示器的显示码,之后传送到七段显示器。
四个七段显示器是轮流点亮而非一起亮,其显示扫描的速度必须和数据选择器同步,因此需要一个记数器来提供两着的扫描信号.事实上,显示器扫描信号和键盘扫描信号两者对扫描信号的速度要求相近,所以可以共享一组扫描信号。
因为设计的是4位数的电子密码锁,一位数需要四个位来表示,所以寄存器必须是16位.因为七段显示器是以扫描的方式轮流被点亮的,因此寄存器上的数据必须一组一组地分开轮流传送进来,每一次则送4个位,这个动作可由四对多任务器来完成。
图3.7显示电路方块图
4电子密码锁软件设计
4.1键盘接口
4.1.1时序产生
先建立一个N位的计数器,N大小由电路的需求而定。
N的值越大,除频的次数越多,可以获得更大的频率变化。
但相对的电路合成后所占的空间也越大。
使用CLK_A〈=Q
(1)的语句,取得的是一个脉冲波形信号,其值为0→1→0→1…..。
使用CLK_B〈=Q(4DOWNTO3)的语句,取得是脉冲波形序列,其值从00→01→10→11→00→01,周而复始。
ARCHITECTUREaOFfree_counterIS
SIGNALQ:
STD_LOGIC_VECTOR(6DOWNTO0);
BEGIN
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
Q<=Q+1;
ENDIF;
ENDPROCESS;
CLK_A<=Q
(1);
CLK_B<=Q(4DOWNTO3);
ENDa;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 密码锁 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)