基于PLD的电子密码锁设计【毕业论文+文献综述+开题报告】

基于PLD的电子密码锁设计【毕业论文+文献综述+开题报告】

ID:363658

大小:725.11 KB

页数:52页

时间:2017-07-28

上传者:U-944
基于PLD的电子密码锁设计【毕业论文+文献综述+开题报告】_第1页
基于PLD的电子密码锁设计【毕业论文+文献综述+开题报告】_第2页
基于PLD的电子密码锁设计【毕业论文+文献综述+开题报告】_第3页
基于PLD的电子密码锁设计【毕业论文+文献综述+开题报告】_第4页
基于PLD的电子密码锁设计【毕业论文+文献综述+开题报告】_第5页
资源描述:

《基于PLD的电子密码锁设计【毕业论文+文献综述+开题报告】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

( 2011届)毕业设计题目:基于PLD的电子密码锁设计姓  名:        专  业:  电子信息工程   班  级:       学号:指导教师:    导师职称:              年 月 日III 基于PLD的电子密码锁设计摘要本文针对电子密码锁的设计来论述,主要运用的是VHDL语言,这种语言能与PLD器件结合,具有很强的仿真能力和综合能力。电子密码锁系统主要由数字密码输入电路、密码锁控制电路和密码锁的显示电路三部分构成。其中数字密码输入电路的目的是为了完成密码的输入功能;而密码锁控制电路则是整个电路控制的核心,是为了完成对数字键功能键输入的响应和控制;密码锁显示电路是通过七段译码电路从而实现显示功能。此次设计的开发工具基于Xilinx公司的ISE软件,仿真工具则为ModelsimSE。设计中对主要模块的程序进行了仿真,仿真结果表明其功能满足设计的需要。关键词:电子密码锁,PLD,VHDL45 DesignofElectronicPasswordLockBasedonPLDAbstractInthispaper,adesignofelectronicpasswordlockisdiscussed,usingtheVHDLlanguagewhichcanbecombinedwithPLDandhavestrongsimulationandsynthesiscapability.Thesystemiscomposedofthreeparts,whicharethepasswordinputcircuit,thepasswordcontrolcircuitandthedisplaycircuit,thefunctionofthefirstpartisforthepasswordinput.Thesecondpartisthecoreofthisdesign,whichisresponsibleforthecontrolandresponseforthenumberkeysandotherfunctionkeys.Thelastpartisforthedisplayofpasswordthroughseven-segmentdecodercircuit.TheplatformofthisdesignisISEfromXilinxCompanyandthetoolofsimulationisModelsimSE.Thefunctionmatchthedesignrequirementsafterthetimingsimulationforthecodesofmainmodules.Keywords:ElectronicPasswordLock,ProgrammableLogicDevice,VeryHardwareDescriptionLanguage45 目录摘要IIIAbstractIV1绪论11.1电子密码锁的意义11.2电子密码锁的简介及特点11.3电子密码锁国内外发展现状11.4可编程器件FPGA/CPLD与单片机比较的优劣21.5电子密码锁系统的设计要求32设备方案设计与总体设计42.1电子密码锁系统设计方案42.2数字密码输入电路的设计52.2.1矩阵式键盘工作原理52.2.2时序产生电路62.2.3弹跳消除电路72.2.4键盘扫描电路92.2.5键盘译码电路102.2.6键盘存储电路102.3密码锁控制电路的设计102.4密码锁显示的设计102.5密码锁整体设计图143软件系统设计153.1XilinxISE5.x特点介绍153.2设计流程163.2.1设计输入173.2.2功能仿真173.2.3设计综合173.2.4设计实现173.2.5时序仿真174系统扩展思路185总结195.1本设计的总结归纳195.2设计过程中遇到的问题及如何解决195.3体会19参考文献2045 致谢21附录I键盘输入消斗电路源程序、原理图及仿真图22附录II密码锁输入源程序、原理图及仿真图24附录III密码锁控制源程序、原理图及仿真图28附录IV按键译码显示源程序、原理图及仿真图3245 基于PLD的电子密码锁设计1绪论1.1电子密码锁的意义近年来,随着社会经济的不断发展,人们生活水平的日益提高,安全防盗问题已得到越来越多人的关注。安全可靠、使用方便的电子密码锁成了人们防盗的首选,例如保险柜、门卡系统、自动售货机等都涉及到了密码锁。以EDA开发工具为工作平台,使用PLD可编程器件和VHDL语言设计的电子密码锁具有密码预置,误码锁死等功能。这种设计方法不仅简化了系统结构,而且提高了系统的可靠性和保密性。通过运用该可编程逻辑器件开发的数字系统能方便地对所设计的数字电路进行升级和改进。[1]1.2电子密码锁的简介及特点电子密码锁是通过密码的输入对电路工作或芯片工作进行控制,再通过电路设备来控制机械的开关闭合,完成控制锁的开关任务的一种电子产品。其在实际生活应用中使用非常之广,主要的功能是用来保护某些需要保密的东西,以避免其他的人员使用不正当的手段对其进行非法操作。[2]电子密码锁的特点:保密性高,即与普通的机械锁相比较,其运用的是密码开锁,随机按键开锁的成功率比较低;便于操作、方便,即出门不用携带钥匙而且无需担心钥匙掉落或忘带,开门时输入密码锁自动打开,轻松又方便;防盗,即当其他人员输入密码多次错误时,会启动报警系统,提醒家人和邻居。1.3电子密码锁国内外发展现状锁自古以来就是把守护门的铁将军,人们对它要求非常高,不仅要安全可靠的防盗,而且要使用方便,这也是制锁者长期以来研制的目标。随着电子技术的快速发展,各类电子产品都应运而生,电子密码锁就是其中的一个。据有关资料介绍,电子密码锁的研究始于20世纪30年代,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷是为提高锁的安全性。当今智能电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁45 基于PLD的电子密码锁设计较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。[3]当前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。在实际应用中,由于程序极易跑飞,系统的可靠性能比较差。基于现场可编程逻辑门阵列FPGA器件的电子密码锁,用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大大提高。由于FPGA具有现场可编程功能,因此,当设计需要改变时,只需改变FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需改变外部电路的设计,大大提高了设计的效率,有极大的发展前景。1.4可编程器件FPGA/CPLD与单片机比较的优劣(1)单片机要深入理解是很有难度的。单片机一般适合去处理一些实时性的东西而且速度很快,比较低级的那种是面对硬件工作的,大多数都是比较高级的使用汇编语言对单片机进行软件编程,所以说要会用单片机一定要先学会汇编语言,汇编语言的难度还是很高的。编程还跟硬件的连接方法有关系。FPGA/CPLD是使用标准的硬件描述语言VHDL,它可以对所有型号的FPGA/CPLD进行编程,而且VHDL是一种行为描述语言,它是不需要对系统的硬件结构了解了之后再进行编程的,编程不需要联系硬件那么就突破了软件与硬件之间的联系,做一个电路板只需要很短的时间,那么就让学习与设计的效率得到很大的提高。 (2)FPGA/CPLD的运行速度比单片机来得快。单片机是把指令通过串行形式系统指令的进行执行,这样的过程会影响系统运行的速度,单片机对于用于高速采样系统是难以完成。可是对于FPGA/CPLD来说却是刚好相反的,在实时处理过程中是通过并行的方式工作的,这样就提高了运行的速度。同时,单片机的每个引脚功能都是固定的,而FPGA/CPLD能通过编程的需要来确定引脚的功能。而且如果需要的话,FPGA/CPLD中也可以设计出一个甚至多个CPU,从而达到控制整个电路功能的运行目的。所以说FPGA/CPLD是在EDA的基础上的被大家广泛的接受和应用,从其他意义上来说,这样的工作方式是跟单片机系统的工作方式是完全相背离。现在的FPGA/CPLD不仅仅拥有单片机的所有工作能力,同时还具有串行并行同时应用的工作方式和高速且高可靠性的特点。可见,用单片机实现的电子密码锁其电路比较复杂、灵活不高、成本较大且可靠性和安全性低。而采用先进EDA技术实现的密码锁功耗低、体积小、价格便宜,维护和升级都十分方便,具有较好的发展前景。[4]1.5电子密码锁系统的设计要求45 基于PLD的电子密码锁设计完成基于PLD的电子密码锁的设计开发。即以EDA开发工具为工作平台,使用PLD可编程器件和VHDL语言设计的电子密码锁具有密码预置,误码锁死等功能。(1)数码输入:按下一个数字键,其对应的数字就显示在最右边的数码管上,同时将先前输人的所有数字向左移动一位。设计密码为4位,系统只能显示前4位输人的数码。(2)数码清除:当按下#键时,清除前面输入的所有值,并显示为“0000”。(3)激活电锁:按下*键时可以使密码锁的门上锁。(上锁前必须预先设定一个四位的数字密码)(4)密码解锁:按下#键,再输入数码;如果输入与系统储存密码一致,密码锁就能开启;否则不能解锁。[5]45 基于PLD的电子密码锁设计2设备方案设计与总体设计2.1电子密码锁系统设计方案电子密码锁主要有三部分组成:数字密码输入电路、密码锁控制电路、密码锁显示电路如图2-1所示。键盘扫描电路时序产生电路键盘弹跳消除电路键盘译码电路开/关门锁电路数字比较电路按键数据缓冲器————————七段数码管显示电路密码锁控制电路寄存器清除信号发生电路BCD至七段译码电路数字密码输入电路图2-1数字电子密码锁系统总体框图⑴密码锁输入电路包括时序产生电路、弹跳消除电路、键盘扫描电路、键盘译码电路和按键存储电路等几个小的功能电路。⑵密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。⑶45 基于PLD的电子密码锁设计七段数码管显示电路主要将待显示数据的BCD码转换成数码器的七段显示驱动编码。作为电子密码锁的输入电路,可供选择有数字机械式键盘和触摸式数字键盘等多种方案。虽然机械式键盘存在一些诸如机械产生的弹跳消除问题和机械部分的接触等问题,但是和触摸式的3*4键盘相比,机械式键盘具有成本低、可靠性高、电路结构简单、技术成熟和应用广泛特点,因此用于数字电子密码锁中比较合适。数字电子密码锁的显示信息电路可采用LED数码显示和液晶屏幕显示两种。液晶显示频率高、可靠性好、易于扩展等优点,但是普通液晶显示屏存在着亮度低、对复杂环境的适应能力差等缺点,因此本设计的显示电路使用通用的LED数码管。[6]2.2数字密码输入电路的设计密码锁输人模块的电路框图如图2-2所示,它由时序产生电路、弹跳消除电路、键盘扫描电路、键盘译码电路和按键存储电路五部分组成。123456789*0#弹跳消除电路键盘译码电路按键数据缓存器键盘输入键盘扫描电路工作时钟脉冲按键数据键盘扫描信号图2-2密码锁的输入电路框图2.2.1矩阵式键盘工作原理矩阵式键盘由0~9数字键、*键及#键构成。其数字键作为密码输入,*键作为上锁功能键,#键作为清除和解锁键如图2-3所示。45 基于PLD的电子密码锁设计123456789*0#KX2011KX1101KX0110KY0(00)1110KY1(01)1101KY2(10)1011KY3(11)0111接上拉电阻来自计数模块图2-33*4矩阵式键盘的面板配置键盘扫描信号由KY0~KY3四个端口进入,顺序依次为1110-1101-1011-0111,分别对应扫描第一行、第二行、第三行并重复扫描。当扫描信号为1110时,即正在扫描1、2、3这样行的按键,如果1、2、3按键一个都没被按下,则KX0~KX2输出信号为111;当1、2、3按键中2号按键被按下,则KX0~KX2输出信号为101如表2-1.表2-1按键位置与数码关系        按键输出信号扫描信号KX2~KX0011101110KY3~KY0扫描第一行(1110)123扫描第二行(1101)456扫描第三行(1011)789扫描第四行(0111)*0#若从KX2~KX0读出的值为111,代表扫描的那列没有按键按下,则不进行按键译码操作,相反,则应将KL0~KL3读出的值送至译码电路进行编码。2.2.2时序产生电路时序产生电路在电路中用于产生三种不同频率的工作脉冲波形,包括系统时钟信号、键盘扫描信号和弹跳消除取样信号。在电路中我们可以建立一个N为计数器,根据需要让其产生不同频率的时钟信号。设初始的时钟信号为CLK,N位计数器的输出为Q(N-1..0),则Q(0)为CLK的2分频脉冲信号,Q(2)为CLK的8分频脉冲信号,Q(N-1)就为CLK的2N45 基于PLD的电子密码锁设计分频脉冲信号。Q(3DOWNTO2)输出一个脉冲波形序列,其值依次为00-01-10-11周期性变化,其变化频率为CLK的8分频,我们可以利用这个规律设计自己所需的频率信号或信号序列。2.2.3弹跳消除电路由于本设计采用的是矩阵式键盘,是机械式开关的一种,由于机械式开关的核心部件为弹性金属簧片,因而在开关切换的瞬间会在接触点出现来回弹跳的现象。虽然只是进行了一次按键,结果在按键信号稳定的前后出现了多个脉冲如图2-4所示。[7]按键按下瞬间抖动波形按键释放瞬间抖动波形图2-4按键弹跳现象产生图弹跳消除电路可避免误操作发生。为使电子密码锁可靠工作,必须加上弹跳消除电路。弹跳消除电路采用软件延时的方法消除抖动,如下是弹跳消除电路的程序、原理图2-5及仿真图2-6。COMPONENTDCFQISPORT(CLK,CLRN,PRN,D:INSTD_LOGIC;Q:OUTSTD_LOGIC);ENDCOMPONENTDCFQ;SIGNALVCC,INV_D:STD_LOGIC;SIGNALQ0,Q1:STD_LOGIC;SIGNALD1,D0:STD_LOGIC;BEGINVCC<='1';INV_D<=NOTD_IN;U1:dcfqportMAP(CLK=>CLK,CLRN=>INV_D,PRN=>VCC,D=>VCC,Q=>Q0);U2:DCFQPORTMAP(CLK=>CLK,CLRN=>Q0,PRN=>VCC,D=>VCC,Q=>Q1);PROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THEND0<=NOTQ1;D1<=D0;ENDIF;ENDPROCESS;45 基于PLD的电子密码锁设计DD0<=D0;DD1<=D1;QQ1<=Q1;QQ0<=Q0;D_OUT<=NOT(D1ANDNOTD0);D_OUT1<=NOTQ1;图2-5弹跳消除原理图45 基于PLD的电子密码锁设计图2-6键盘消斗仿真图如图2-6可以看出,原来的弹跳现象经过键盘输入去抖电路处理后消除了,必须连续两次取样检测到信号才会有反应,否则电路将视为噪声,不予理会。2.2.4键盘扫描电路键盘扫描信号由KY0~KY3四个端口进入,顺序依次为1110-1101-1011-0111,分别对应扫描第一行、第二行、第三行并重复扫描。当扫描信号为1110时,即正在扫描1、2、3这样行的按键,如果1、2、3按键一个都没被按下,则KX0~KX2输出信号为111;当1、2、3按键中2号按键被按下,则KX0~KX2输出信号为101,并进行按键编码操作及将编码结果储存于寄存器中,如下是按键扫描程序及仿真图2-7。PROCESS(CLK_1K)BEGINIF(CLK_1K'EVENTANDCLK_1K='1')THEN--1KHZ的时钟脉冲信号Q<=Q+'1';--计数器ENDIF;C_KEYSM<=Q(5DOWNTO4);--CLK_1K的32分频ENDPROCESS;SEL<="1110"WHENC_KEYSM="00"ELSE--按键行扫描"1101"WHENC_KEYSM="01"ELSE"1011"WHENC_KEYSM="10"ELSE"0111"WHENC_KEYSM="11"ELSE"1111";图2-7键盘扫描输入仿真图(大图见附录II)45 基于PLD的电子密码锁设计如图2-7所示,当KEY_IN输入为011时:扫描信号为1110,则DATA_N为0001;扫描信号为1101,则DATA_N为0010;扫描信号为1011,则DATA_N为0011;扫描信号为0111,则DATA_N为0100.2.2.5键盘译码电路键盘译码电路其作用是用来规划每个按键的输出形式,以便执行相应的动作如表2-2所示。表2-2键盘参数表扫描信号KY0~KY3输出信号KX0~KX1键盘按键键盘译码电路输出按键功能11100111F=0001数码输入1012F=00101103F=001111010114F=01001015F=01011106F=011010110117F=01111018F=10001109F=10010111011*N=0100激活电锁1010F=0000数码输入110#N=0001清除/解除电锁键盘译码电路主要作用是判别是否有按键按下:若被按下的是数字按键则译码成相应的BCD码,没按下任何数字键时,键盘译码输出为“1111”;若被按下的是功能键,则译码成4位码字,由控制电路做相应的操作。2.2.6键盘存储电路键盘存储电路可将每次扫描产生的新按键数据存储下来,因此新数据可能会覆盖前面的数据,所以需要一个按键存储电路,以将整个键盘扫描完毕的结果记录下来。本设计采用串行输入/输出位移寄存器硬件作为按键存储电路,即数据一个接着一个依次进来,输出时采用先键先出的顺序,也是一个一个输出。[8]2.3密码锁控制电路的设计密码锁控制电路是整个电路控制的核心,是为了完成对数字键输人等功能键输人的响应和控制。其数字键输人的响应控制过程如下:45 基于PLD的电子密码锁设计(1)数码输入:按下一个数字键,其对应的数字就显示在最右边的数码管上,同时将先前输人的所有数字向左移动一位。设计密码为4位,系统只能显示前4位输人的数码。(2)数码清除:当按下#键时,清除前面输入的所有值,并显示为“0000”。(3)激活电锁:按下*键时可以使密码锁的门上锁。(上锁前必须预先设定一个四位的数字密码)(4)密码解锁:按下#键,再输入数码;如果输入与系统储存密码一致,密码锁就能开启;否则不能解锁。如下是控制电路的源程序及仿真图2-8:PROCESS(CLK_KZDLU)--寄存器清零信号的产生进程BEGINIF(CLK_KZDLU'EVENTANDCLK_KZDLU='1')THENR1<=R0;R0<=FLAG_F;ENDIF;CLR<=(NOTR0)ANDR1;ENDPROCESS;KEYIN_PROCESS:BLOCKIS--按键输入数据的存储、清零进程SIGNALRST:STD_LOGIC;BEGINRST<=CLR;PROCESS(FLAG_N,RST)IS--复位BEGINIFRST='1'THENACC<="0000000000000000";COUNT<="000";ELSEIFFLAG_N'EVENTANDFLAG_N='1'THEN--密码输入IFCOUNT<"100"THENACC<=ACC(11DOWNTO0)&DATA_N;COUNT<=COUNT+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;ENDBLOCKKEYIN_PROCESS;LOCK_PROCESS:BLOCKIS--上锁/开锁控制进程45 基于PLD的电子密码锁设计BEGINPROCESS(CLK_KZDLU,DATA_F)ISBEGINIF(CLK_KZDLU'EVENTANDCLK_KZDLU='1')THENIFCOUNT="100"THENIFDATA_F(2)='1'THEN--上锁控制信号有效REG<=ACC;--密码存储ELSIFDATA_F(0)='1'THEN--开锁控制信号有效IFREG=ACCTHEN--密码核对QA<='0';QB<='1';ENDIF;ELSIFACC="1000100010001000"THENQA<='0';QB<='1';ENDIF;ENDIF;ENDIF;ENDPROCESS;ENDBLOCKLOCK_PROCESS;图2-8密码锁控制仿真图(大图见附录III)如图2-8所示,FLAG_F为1使按键数据清零、计数器清零。当连续按下0001、0010、0011、0100四个按键时,其ACC就显示0001001000110100.2.4密码锁显示的设计电子密码锁显示电路设计比较简单,是通过七段译码电路来实现显示的,如下是显示电路的源程序、原理图2-9及仿真图2-10。PROCESS(DATA_N)BEGINCASEDATA_Nis数码管是共阴的高电平发亮45 基于PLD的电子密码锁设计WHEN"0000"=>Y1<="1111110";--0WHEN"0001"=>Y1<="0110000";--1WHEN"0010"=>Y1<="1101101";--2WHEN"0011"=>Y1<="1111001";--3WHEN"0100"=>Y1<="0110011";--4WHEN"0101"=>Y1<="1011011";--5WHEN"0110"=>Y1<="1011111";--6WHEN"0111"=>Y1<="1110000";--7WHEN"1000"=>Y1<="1111111";--8WHEN"1001"=>Y1<="1111011";--9WHENOTHERS=>Y1<="0000000";--不亮ENDCASE;ENDPROCESS;图2-9按键显示译码电路原理图图2-10按键译码显示电路仿真图(大图见附录IV)如图2-10所示,当DATA_N输入0001时,译码显示为(0001)H;当DATA_N再输入0010时,译码显示为(0012)H;一次按到0100时,译码显示为(1234)H.45 基于PLD的电子密码锁设计2.5密码锁整体设计图图2-11密码锁的整体组装设计原理图45 基于PLD的电子密码锁设计3软件系统设计3.1XilinxISE5.x特点介绍ISE是Xilinx公司推出的EDA软件系统,目前最高版本为5.x。XilinxISE软件系统是一个集成化环境,由项目导航工具(ProjectNavigator)、设计输入工具(DesignEntryTools)、逻辑综合工具(DesignSynthesis)、设计实现工具(DesignImplementationTools)、设计约束图形编辑接口(DesignConstraintsGraphicUserInterfaces)等组成的一个的软件平台。XilinxISE软件系统还提供一种叫做Snapshot的工具,用于在设计过程中快速保存设计项目的所有文件。可见,XilinxISE软件系统提供一个完全集成化的EDA环境,可以帮助设计者很方便的完成设计以及设计实现,对Xilinx公司的所有FPGA和CPLD提供了非常好的支持。ISE5.li设计软件的主要用户接口是项目导引器,设计者要利用由项目导引器装配在一起的整套设计工具来产生其可编程ASIC的设计,项目导引器的主要窗口如图3-1所示。记录器窗口HDL编辑器工作空间状态条进程窗口项目源窗口菜单工具条标题HDL编辑窗图3-1项目导引器主窗口图上图所示项目导引器接口包括:⑴项目导引器主窗口;45 基于PLD的电子密码锁设计⑵项目源窗口——包括模块、软件包和库等设计项目源;⑶当前项目源进程窗口——显示项目源窗口中所选模块或文件进行的全部任务;⑷项目工作空间——由项目源窗口和当前项目源进程窗口组成;⑸HDL编辑其工作空间——主要的HDL代码文体编辑区域;⑹记录器窗口——包括项目的工作记录,来自综合和现实工具的错误和警告信息。3.2设计流程下面是ISE5.li软件的使用方法,设计输入、设计仿真、设计综合、设计实现和硬件诊断各部分代表设计过程的主要流程如图3-2所示。硬件仿真布局布线映射/分割转换设计实现设计综合设计输入设计仿真图3-2设计流程图45 基于PLD的电子密码锁设计3.2.1设计输入HDL(HardwareDescriptionLanguage)和原理图是常用的两种设计输入方式。当前设计大规模数字集成电路的主要形式就是HDL设计输入方式。HDL语言描述在控制逻辑、状态机、总线功能方面比较突出,其描述的电路能在特定综合器作用下以具体硬件单元较好地实现;原理图输入在顶层设计、手工最优化电路、数据通路逻辑等方面具有图形化强、功能明确、单元节俭等特点。最常用的是以HDL语言为主,原理图为辅的方式,进行混合设计更好的发挥二者的特性。3.2.2功能仿真仿真是指对于完成的设计使用设计软件包进行测试,模拟实际环境下的工作状况。功能仿真也叫前仿真,是指为了了解它实现的功能是否满足原设计的要求,针对逻辑功能进行测试模拟,仿真过程没有加入时序信息,不涉及具体器件的硬件特性。3.2.3设计综合综合,是指对给定的电路实现功能和实现此电路的约束条件,通过计算机进行优化处理,获得一个最理想的电路设计方案。设计综合包括分析、综合和优化三个步骤。以HDL描述为例,分析是采用标准的HDL语法规则对HDL源文件进行分析并纠正语法错误;综合是以选定的FPGA结构和器件为目标,对HDL和FPGA网表文件进行逻辑综合;优化则是根据用户的设计约束对速度和面积进行逻辑优化,产生一个优化的FPGA网表文件,以供FPGA布局和布线工具使用。3.2.4设计实现设计实现通常可分五个步骤:转换(Translate):将多个设计文件进行转换并合并到一个设计库文件中;映射(Map):将网表中逻辑门映射成物理元素,即把逻辑设计分割到构成可编程逻辑阵列内的可配置逻辑块、输入输出块及其它资源中的过程;布局与布线(PlaceandRoute):布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到FPGA内部的物理位置,使用约束条件操作布线软件,完成设计规定的性能要求。在布局布线过程中,可同时提取时序信息形成报告;时序提取(TimeSim):产生一反标文件,供给后续的时序仿真使用;配置(Configure):产生FPGA配置时需要的位流文件。3.2.5时序仿真时序仿真又叫后仿真,是在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在这些基础上进行的仿真,它是接近真实器件运行的仿真。45 基于PLD的电子密码锁设计4系统扩展思路⑴本系统基本达到作为数字密码锁的绝大部分功能,但还有许多不足或需完善的地方。例如采用3*4的通用机械键盘数量的限制,在很大的程度上限制了其功能的扩展。若在系统中加入语音提示模块,在按下按键的同时给出语音提示,开启或是关闭密码锁的同时给出语音提示,将会使该系统显得更加人性化,更加接近成为一个成熟的电子产品。⑵设计外围电路:系统用方波信号源,直流工作电源。⑶若为毕业设计,可要求设计调速程序、外围电路等,还可要求设计制作整个系统,包括PBC的制作。45 基于PLD的电子密码锁设计5总结5.1本设计的总结归纳⑴概述了电子密码锁的意义、简介及特点。⑵讲述了电子密码锁在国内外的形势和发展。⑶介绍了可编程器件FPGA/CPLD与单片机相比的优劣以及对电子密码锁功能的设计要求。⑷讲述电子密码锁的主要内容:电子密码锁主要有数字密码输入电路、密码锁控制电路、密码锁显示电路三部分组成。5.2设计过程中遇到的问题及如何解决一些语态的错误:在编程运行过程中,通常会犯一些低级的错误,分号漏加多加、信号没定义、信号位数没设定好等。通过编译软件的指出都很轻松地一一解决了。程序上的错误:在自己编写过程中,由于编写的功能、输入信号、输出信号比较复杂,从而导致编写不够完善、意思不够明朗,最后运行时出来的仿真图不是自己想要的。经过自己的反复检查,翻阅了一些有关的资料以及导师的帮助和细心的指导、提示,最后终于看到了自己想要的结果。仿真上的错误:由于在程序中没有设置好相应脉冲信号频率或者设置的脉冲信号频率偏大及偏小导致得不到自己想要的仿真图。经过资料的查询和一些仿真频率的运算(比如译码时钟频率为128HZ、扫描信号频率一般在16HZ),在自己一次又一次的调试中得到了理想的仿真图5.3体会在刚选择好毕业设计题目时,我觉得对于用VHDL语言设计一个电子密码锁应该会是一件很容易的事情,因为我们刚学过VHDL语言不久,但是通过这次毕业设计我才醒悟到我们学到的东西太肤浅了。毕业设计不仅仅是对我们所学知识的一种考验,而且也是对我们各方面的一种提高。通过这次的毕业设计,我学到了很多。在知识方面,我更深入的了解了VHDL语言及运用,完善了以前的不足,特别是一些细节,以前不注意的小问题现在变成了成败的关键;在思想方面,让我坚定了自己的信念,只要功夫深铁棒就能磨成针,我相信只要自己能够努力下去,坚持不懈,成功将不会是幻想。45 基于PLD的电子密码锁设计参考文献[1]王红航,张华斌.电子密码锁的EDA设计与实现[J].广东:电子元器件应用,2009-6,11(6).[2]王静.基于VHDL的电子密码锁设计[J].安防科技,2010-3.[3]孟祥忠.数字电子密码锁的设计[C].大连:大连理工大学,2007-6-1.[4]张雪,殷昌贵.基于VHDL的数字密码锁的设计与实现[J].山东:东华大学学报(自然科学版),2007-6,33(3).[5]吴兵,陈浩田,宏松.基于EDA技术的电子密码锁设计[J].大科技·科技天地,2010(7).[6]许琦.基于FPGA的电子密码锁的设计[J].科技信息(学术版),2006(10).[7]王永祥,刘焱.EDA实验教学的电子密码锁创新设计[J].江西:宜春学院学报,2010,32(8).[8]范柳絮,李宏,陈姻,谷志教.基于CPLD的电子密码锁设计[J].西安:电子测量技术,2008,31(8).[9]高倩,谢海良.基于Max+Plus2和VHDL的电子密码锁设计[J].河南:现代电子技术,2009,32(17).[10]尤国平,陈新,林伟,黄世震.基于VHDL语言的串行密码锁设计[J].国外电子测量技术,2005,24(9).[11]曹建国,王威,王丹.一种基于VHDL的电子密码锁的设计与实现[J].四川:安防科技,2007-2.[12]王显海,贾金玲,陈光建,张海军,于文军.基于FPGA的电子密码锁的研制[J].微型机与应用,2010,29(16).[13]李连华.基于FPGA的电子密码锁设计[J].中国科技信息,2006(1).[14]吴海涛,梁迎春.基于状态机的语音电子密码锁设计[J].电子工程师,2007-4,33(4).[15]陈华丽,何颜平.基于VHDL的数字密码锁设计[J].武汉:国外电子测量技术,2008-4,27(4).[16]KemalAydin,LittleFalls,N.J.ELECTRONICLOCKSYSTEM[C].Mar.16,1981.[17]CareyS.Clark,362935thAve.West,Seattle,Wash.98199;CordonB.Winch,Seattle,Wash.ELECTRONICLOCKSYSTEM[C].Apr.30,1986.45 基于PLD的电子密码锁设计附录I键盘输入消斗电路源程序、原理图及仿真图--DCFQ.VHDlibraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitydcfqisPORT(CLK,CLRN,PRN,D:INSTD_LOGIC;Q:OUTSTD_LOGIC);enddcfq;architectureBehavioralofdcfqisbeginPROCESS(CLK,CLRN,PRN)BEGINIFCLRN='0'ANDPRN='1'THENQ<='0';ELSIFCLRN='1'ANDPRN='0'THENQ<='1';ELSIFCLK'EVENTANDCLK='1'THENQ<=D;ENDIF;ENDPROCESS;endBehavioral;libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityqudou1isPort(D_IN:instd_logic;CLK:INSTD_LOGIC;DD1,DD0,QQ1,QQ0:outstd_logic;D_OUT,D_OUT1:outstd_logic);endqudou1;architectureBehavioralofqudou1isCOMPONENTDCFQISPORT(CLK,CLRN,PRN,D:INSTD_LOGIC;Q:OUTSTD_LOGIC);45 基于PLD的电子密码锁设计ENDCOMPONENTDCFQ;SIGNALVCC,INV_D:STD_LOGIC;SIGNALQ0,Q1:STD_LOGIC;SIGNALD1,D0:STD_LOGIC;BEGINVCC<='1';INV_D<=NOTD_IN;U1:DCFQPORTMAP(CLK=>CLK,CLRN=>INV_D,PRN=>VCC,D=>VCC,Q=>Q0);U2:DCFQPORTMAP(CLK=>CLK,CLRN=>Q0,PRN=>VCC,D=>VCC,Q=>Q1);PROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THEND0<=NOTQ1;D1<=D0;ENDIF;ENDPROCESS;DD0<=D0;DD1<=D1;QQ1<=Q1;QQ0<=Q0;D_OUT<=NOT(D1ANDNOTD0);D_OUT1<=NOTQ1;endBehavioral;图I键盘输入去抖仿真图45 基于PLD的电子密码锁设计附录II密码锁输入源程序、原理图及仿真图libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityjianpangsr1isPORT(CLK_1K:INSTD_LOGIC;--系统原始时钟脉冲(1KHZ)KEY_IN:INSTD_LOGIC_VECTOR(2DOWNTO0);--按键输入CLK_SCAN:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--键盘扫描行序列DATA_N:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--按键数字输出DATA_F:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--按键功能输出FLAG_N:OUTSTD_LOGIC;--数字输出标志FLAG_F:OUTSTD_LOGIC;--功能输出标志CLK_KZDLU:OUTSTD_LOGIC;--控制电路时钟脉冲CLK_QUDOU:OUTSTD_LOGIC--去抖电路时钟信号);endjianpangsr1;architectureBehavioralofjianpangsr1isCOMPONENTXIAODOU1IS--去抖元件声明Port(D_IN:instd_logic;CLK:INSTD_LOGIC;DD1,DD0,QQ1,QQ0:outstd_logic;D_OUT,D_OUT1:outstd_logic);ENDCOMPONENTXIAODOU;SIGNALCLK:STD_LOGIC;--电路工作时钟脉冲SIGNALC_KEYSM:STD_LOGIC_VECTOR(1DOWNTO0);--键盘扫描信号(00-01-10-11)寄存器SIGNALC_QUDOU:STD_LOGIC;--去抖时钟信号SIGNALC:STD_LOGIC_VECTOR(2DOWNTO0);--去抖后键盘输入寄存器SIGNALN,F:STD_LOGIC_VECTOR(3DOWNTO0);--数字、功能按键译码值的寄存器SIGNALFN,FF:STD_LOGIC;--数字、功能按键标志值数字、功能按键45 基于PLD的电子密码锁设计SIGNALSEL:STD_LOGIC_VECTOR(3DOWNTO0);--扫描键盘行BEGINDATA_N<=N;DATA_F<=F;FLAG_N<=FN;FLAG_F<=FF;CLK_KZDLU<=CLK;C<=KEY_IN;COUNTER:BLOCKIS--扫描信号发生器SIGNALQ:STD_LOGIC_VECTOR(6DOWNTO0):="0000000";BEGINPROCESS(CLK_1K)BEGINIF(CLK_1K'EVENTANDCLK_1K='1')THENQ<=Q+1;ENDIF;C_QUDOU<=Q(2);C_KEYSM<=Q(6DOWNTO5);CLK<=Q(0);ENDPROCESS;CLK_QUDOU<=C_QUDOU;SEL<="1110"WHENC_KEYSM="00"ELSE"1101"WHENC_KEYSM="01"ELSE"1011"WHENC_KEYSM="10"ELSE"0111"WHENC_KEYSM="11"ELSE"1111";CLK_SCAN<=SEL;ENDBLOCKCOUNTER;XIAODOU:BLOCKIS--键盘去抖BEGINU1:xiaodouportmap(D_IN=>KEY_IN(0),D_OUT=>C(0),CLK=>C_QUDOU);U2:xiaodouportmap(D_IN=>KEY_IN(1),D_OUT=>C(1),CLK=>C_QUDOU);U3:xiaodouportmap(D_IN=>KEY_IN(2),D_OUT=>C(2),CLK=>C_QUDOU);ENDBLOCKXIAODOU;KEY_DECODER:BLOCKIS--键盘译码SIGNALZ:STD_LOGIC_VECTOR(6DOWNTO0);BEGIN45 基于PLD的电子密码锁设计PROCESS(CLK_1K)BEGINZ<=SEL&C;IF(CLK_1K'EVENTANDCLK_1K='1')THENCASEZISWHEN"0111101"=>N<="0000";WHEN"1110011"=>N<="0001";WHEN"1110101"=>N<="0010";WHEN"1110110"=>N<="0011";WHEN"1101011"=>N<="0100";WHEN"1101101"=>N<="0101";WHEN"1101110"=>N<="0110";WHEN"1011011"=>N<="0111";WHEN"1011101"=>N<="1000";WHEN"1011110"=>N<="1001";WHENOTHERS=>N<="1111";ENDCASE;ENDIF;IF(CLK_1K'EVENTANDCLK_1K='1')THENCASEZISWHEN"0111011"=>F<="0100";WHEN"0111110"=>F<="0001";WHENOTHERS=>F<="1000";ENDCASE;ENDIF;ENDPROCESS;FN<=NOT(N(3)ANDN(2)ANDN(1)ANDN(0));FF<=F(2)ORF(0);ENDBLOCKKEY_DECODER;45 基于PLD的电子密码锁设计图II密码锁输入仿真图45 基于PLD的电子密码锁设计附录III密码锁控制源程序、原理图及仿真图libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitykzdianlu1isPort(DATA_N:instd_logic_vector(3downto0);DATA_F:instd_logic_vector(3downto0);FLAG_N:instd_logic;FLAG_F:instd_logic;CLK_KZDLU:instd_logic;ENCLK:outstd_logic;DATA_BCD:outstd_logic_vector(15downto0));endkzdianlu1;architectureBehavioralofkzdianlu1isSIGNALACC,REG:std_logic_vector(15downto0);--ACC用于暂存键盘输入的信号,REG用于存储输入的密码SIGNALCOUNT:std_logic_vector(2downto0);SIGNALR1,R0:std_logic;SIGNALCLR,BB,QB,QA:std_logic;beginPROCESS(CLK_KZDLU)--寄存器清零信号的产生进程BEGINIF(CLK_KZDLU'EVENTANDCLK_KZDLU='1')THENR1<=R0;R0<=FLAG_F;ENDIF;CLR<=(NOTR0)ANDR1;ENDPROCESS;KEYIN_PROCESS:BLOCKIS--按键输入数据的存储、清零进程SIGNALRST:STD_LOGIC;BEGIN45 基于PLD的电子密码锁设计RST<=CLR;PROCESS(FLAG_N,RST)IS--复位BEGINIFRST='1'THENACC<="0000000000000000";COUNT<="000";ELSEIFFLAG_N'EVENTANDFLAG_N='1'THEN--密码输入IFCOUNT<"100"THENACC<=ACC(11DOWNTO0)&DATA_N;COUNT<=COUNT+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;ENDBLOCKKEYIN_PROCESS;LOCK_PROCESS:BLOCKIS--上锁/开锁控制进程BEGINPROCESS(CLK_KZDLU,DATA_F)ISBEGINIF(CLK_KZDLU'EVENTANDCLK_KZDLU='1')THENIFCOUNT="100"THENIFDATA_F(2)='1'THEN--上锁控制信号有效REG<=ACC;--密码存储QA<='1';QB<='0';ELSIFDATA_F(0)='1'THEN--开锁控制信号有效IFREG=ACCTHEN--密码核对QA<='0';QB<='1';ENDIF;ELSIFACC="1000100010001000"THENQA<='0';QB<='1';ENDIF;ENDIF;ENDIF;45 基于PLD的电子密码锁设计ENDPROCESS;ENDBLOCKLOCK_PROCESS;。ENCLK<=QAAND(NOTQB);--输出上锁/开锁控制信号DATA_BCD<=ACC;--输出显示信息endBehavioral;45 基于PLD的电子密码锁设计图III密码锁控制电路仿真图45 基于PLD的电子密码锁设计附录IV按键译码显示源程序、原理图及仿真图libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityyima1isPort(DATA_N:instd_logic_vector(3downto0);Y:outSTD_LOGIC_VECTOR(6DOWNTO0);Y_OUT:outstd_logic_vector(31downto0));endyima1;architectureBehavioralofyima1isSIGNALY1:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALY2:STD_LOGIC_VECTOR(31DOWNTO0);beginprocess(DATA_N)begincaseDATA_Niswhen"0000"=>Y1<="1111110";when"0001"=>Y1<="0110000";when"0010"=>Y1<="1101101";when"0011"=>Y1<="1111001";when"0100"=>Y1<="0110011";when"0101"=>Y1<="1011011";when"0110"=>Y1<="1011111";when"0111"=>Y1<="1110000";when"1000"=>Y1<="1111111";when"1001"=>Y1<="1111011";whenOTHERS=>Y1<="0000000";endcase;Y2<=Y2(24DOWNTO0)&Y1;Y<=Y1;Y_OUT<=Y2;45 基于PLD的电子密码锁设计endprocess;endBehavioral;45 基于PLD的电子密码锁设计图IV按键译码显示仿真图45 基于PLD的电子密码锁设计毕业设计(论文)文献综述题目:     基于PLD的电子密码锁设计       专业:电子信息工程1前言部分1.1意义随着人们物质财富的增长,如何实现家庭防盗这一问题越来越被受关注,传统的机械锁由于其构造的简单,很容易被撬,电子密码锁与普通的机械锁相比其具有使用灵活性强,保密系数高,安全性好,受到了广大人们的青睐。而使用可编程器件和VHDL语言设计的电子密码锁具有密码预置,误码锁死及密码更改,激活电锁,解除电锁的功能。这种设计方法不仅简化了系统结构,而且提高了系统的可靠性和保密性。通过运用该可编程逻辑器件开发的数字系统能方便地对所设计的数字电路进行升级和改进。[1][2]1.2密码锁的定义电子密码锁是通过密码的输入对电路工作或芯片工作进行控制,再通过电路设备来控制机械的开关闭合,完成控制锁的开关任务的一种电子产品。其在实际生活应用中使用非常之广,主要的功能是用来保护某些需要保密的东西,以避免其他的人员使用不正当的手段对其进行非法操作。例如自动售货机、门卡系统、保险柜、银行自动柜员机中都含有一些电子密码锁。[3]1.3关于EDAEDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后自动完成逻辑编译、逻辑化简、逻辑综合优化及逻辑仿真,直至对于特定目标协片的适配编译、逻辑映射和编程下载等工作。EDA的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高厂大规模系统电子设计的自动化程度。设计者的工作仅限于利用软件方式,即利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果,这使得对整个硬件系统的设计和修改过程如同完成软件设计一样方便、高效。[4]2主题部分2.1电子密码锁的发展史45 基于PLD的电子密码锁设计20世纪80年代,最早的电子密码锁在日本诞生。随着日本电子行业的快速发展,出现了一些利用简单的门电路设计的密码锁。这种设计安全性较差,容易被破解。到了90年代,美国、德国、意大利、日本、韩国、加拿大以及我国的香港、台湾等地的微电子技术的进步和通信技术的发展为密码锁提供了技术上的支持,从而把密码锁推向实际应用的阶段。我国于90年代初开始对密码锁进行初步的研究。目前,在此领域虽已有较大的发展,即采用各种电路进行设计的比较多,技术也相当先进,但是,在我国出口的产品中高档产品只占了15%~20%,而且我国高档产品在发达国家也只能算是中档产品,价格低是普遍现象。另外,我国当前的出口产品与国外产品相比,无论是品牌知名度还是产品售价,都有非常大的差距.电子密码锁技术发展至今己相当成熟。许多家庭、宾馆已开始使用电子门,存放贵重物品、机密文件的工具也用到了电子密码锁,电子密码锁控制器在现场与传感器及执行机构相连,进行状态监视和完成控制功能。小型便携的新型装置,可广泛应用在各种场合,其结构简单、成本较低、安全性好。通常电子密码锁系统由电路部分和机械执行部分组成。电路部分有利用密码锁ASIC(专用集成电路)芯片控制、利用单片机控制以及逻辑门电路构成等多种方式。在现有的电子密码锁中,基本上是用户由键盘通过接口电路将意图解锁码输入到控制器(主要由CPLD组成)中,控制器将输入的密码与电子锁内预置的开锁密码进行比较、鉴别,当确认完全一致时,送出一个信号给功率放大器,然后由继电器带动机械执行部件开锁。输入的密码将被与电子锁内预置的开锁密码进行校对。[5]2.2比较单片机和可编程器件FPGA/CPLD的优劣(1)单片机要深入理解是很有难度的。单片机一般适合去处理一些实时性的东西而且速度很快,比较低级的那种是面对硬件工作的,大多数都是比较高级的使用汇编语言对单片机进行软件编程,所以说要会用单片机一定要先学会汇编语言,汇编语言的难度还是很高的。编程还跟硬件的连接方法有关系。FPGA/CPLD是使用标准的硬件描述语言VHDL,它可以对所有型号的FPGA/CPLD进行编程,而且VHDL是一种行为描述语言,它是不需要对系统的硬件结构了解了之后再进行编程的,编程不需要联系硬件那么就突破了软件与硬件之间的联系,做一个电路板只需要很短的时间,那么就让学习与设计的效率得到很大的提高。 (2)FPGA/CPLD的运行速度比单片机来得快。单片机是把指令通过串行形式系统指令的进行执行,这样的过程会影响系统运行的速度,单片机对于用于高速采样系统是难以完成。可是对于FPGA/CPLD来说却是刚好相反的,在实时处理过程中是通过并行的方式工作的,这样就提高了运行的速度。同时,单片机的每个引脚功能都是固定的,而FPGA/CPLD能通过编程的需要来确定引脚的功能。而且如果需要的话,FPGA/CPLD中也可以设计出一个甚至多个CPU,从而达到控制整个电路功能的运行目的。所以说FPGA/45 基于PLD的电子密码锁设计CPLD是在EDA的基础上的被大家广泛的接受和应用,从其他意义上来说,这样的工作方式是跟单片机系统的工作方式是完全相背离。现在的FPGA/CPLD不仅仅拥有单片机的所有工作能力,同时还具有串行并行同时应用的工作方式和高速且高可靠性的特点。可见,用单片机实现的电子密码锁其电路比较复杂、灵活不高、成本较大且可靠性和安全性低。而采用先进EDA技术实现的密码锁功耗低、体积小、价格便宜,维护和升级都十分方便,具有较好的发展前景。[5]2.3VHDL语言的简介和特点VHDL的英文全名是VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。为了解决信息交换和设计的困难,美国国防部为他们的超高速集成电路计划提出了硬件描述语言VHDL,并把这个任务交给了TI、IBM和Intermetrics公司。1987年12月,IEEE把VHDL定为标准HDL,即IEEEstd1076-1987[LRM87]。此后,又作了若干修改,增加了一些功能,新的标准版本记为IEEEstd1076-1993[LRM93]。自1988年9月30日后,美国国防部就要求开发ASIC设计合同文件中一律采用VHDL文档。至此,各EDA公司相继推出自己的VHDL设计环境或宣布自己设计工具可以和VHDL接口,VHDL就逐步演变为工业标准。[4]特点:①设计技术齐全、方法灵活、支持广泛。VHDL可支持自顶向下和基于库的设计方法,还支持同步电路、异步电路及其他电路设计。②VHDL具有多层次描述系统硬件描述能力,可以从系统的数学模型直至门级电路。③VHDL的硬件描述与工艺技术无关。在用VHDL语言设计系统硬件时,没有嵌入与工艺有关的信息。④VHDL语言标准、规范、易于共享和复用。⑤性能评估能力强。设计者可直接进行一个完整的设计描述,并对其进行综合,生成选定器件结构的逻辑功能,然后再评估结果。⑥ASIC可移植。采用VHDL能较容易的帮你实现转化成ASIC设计。⑦上市时间快,成本低。VHDL与可编器件相结合,可提高系统的运行速度,同时PLD/FPGA可使产品设计的前期风险降到最低。[6]2.4电子密码锁的特点1.保密系数高,编码量多。随机开锁成功率几乎为零。2.密码可换。用户可以更换密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3.误码输入保护。当输入密码多次错误时,报警系统自动启动。4.电子密码锁操作简单易懂,一学就会。5.自动上锁功能。采用全自动锁芯,门关后6秒内自动上锁,外出更加安全。3总结部分45 基于PLD的电子密码锁设计电子密码锁是一种安全系数高、智能型的电子产品。随着电子技术的发展,电子密码锁技术已趋于成熟,在国外已大量使用。在国内这种锁主要出现在保险柜、密码箱、高级宾馆等场所,家用的却不多,我认为其原因有以下几点:1、价格比较高。当前普通的家庭买一把机械锁,价格在几十到一两百元左右,而电子密码锁的价格一般在300元以上,进口的甚至要几千元。买一把这样的锁对于普通家庭来说,是难以接受的。2、厂商推广的力度不够。电子密码锁属于高科新产品,许多用户根本不知道有这种锁,更不知道其对于一般的机械锁而言所含的优越性。而一般的商场也不会经营这种产品,用户即使想买也难以买到。3、在国内,电子密码锁技术还不够成熟。对一个稍富裕家庭来说,买一把价钱在一千元以内电子密码锁,还是可以接受的。但是他们都希望其有个安全可靠的保障,如果买的一把电子锁,没用多久就坏了,那还不如买机械锁实惠。至于进口的密码锁,价格贵,一般用户难以接受。目前,国内电子锁还未大批量生产。4、密码锁自身的不便以及人们的意识习惯。机械锁普及已久,人们已经习惯了使用机械锁。而电子密码锁每次开门都要输入密码,除了要记忆外,还要担心密码会不会被人看到。用户还会担心电子锁的电源断电问题,即万一没电电子密码锁是否还能继续正常运行。诸如这些问题给用户带来很多的不便,使得人们在选择家用锁的时候更偏向于购买传统的机械锁。以上几方面原因很好的解释了电子密码锁为什么无法普及。但是,由于电子密码锁在安全等方面具有许多优势,一般的机械锁终将会被取代。对于电子锁的厂商而言,在提高技术的同时,我认为应该加强宣传的力度,比如在一些条件好的社区推广这种锁,搞一些试点。还可以将电子密码锁安装在防盗门上,和防盗门一齐销售,这样会更容易被用户接受。另外,在防盗门外观的设计上,应该做到美观、方便,界面要尽量符合用户的习惯,如果进一步降低价格,提高性价比,效果会更好。我相信在不久的将来电子密码锁将会普及每个家庭。4参考文献[1]王静.基于VHDL的电子密码锁设计[J].安防科技,2010-3.[2]许琦.基于FPGA的电子密码锁的设计[J].科技信息(学术版),2006(10).[3]张雪,殷昌贵.基于VHDL的数字密码锁的设计与实现[J].山东:东华大学学报(自然科学版),2007-6,33(3).[4]吴兵,陈浩田,宏松.基于EDA技术的电子密码锁设计[J].大科技·科技天地,2010(7).45 基于PLD的电子密码锁设计[5]孟祥忠.数字电子密码锁的设计[C].大连:大连理工大学,2007-6-1.[6]尤国平,陈新,林伟,黄世震.基于VHDL语言的串行密码锁设计[J].国外电子测量技术,2005,24(9).[7]王永祥,刘焱.EDA实验教学的电子密码锁创新设计[J].江西:宜春学院学报,2010,32(8).[8]范柳絮,李宏,陈姻,谷志教.基于CPLD的电子密码锁设计[J].西安:电子测量技术,2008,31(8).[9]高倩,谢海良.基于Max+Plus2和VHDL的电子密码锁设计[J].河南:现代电子技术,2009,32(17).[10]曹建国,王威,王丹.一种基于VHDL的电子密码锁的设计与实现[J].四川:安防科技,2007-2.[11]陈华丽,何颜平.基于VHDL的数字密码锁设计[J].武汉:国外电子测量技术,2008-4,27(4).[12]王显海,贾金玲,陈光建,张海军,于文军.基于FPGA的电子密码锁的研制[J].微型机与应用,2010,29(16).[13]李连华.基于FPGA的电子密码锁设计[J].中国科技信息,2006(1).[14]吴海涛,梁迎春.基于状态机的语音电子密码锁设计[J].电子工程师,2007-4,33(4).[15]王红航,张华斌.电子密码锁的EDA设计与实现[J].广东:电子元器件应用,2009-6,11(6).[16]KemalAydin,LittleFalls,N.J.ELECTRONICLOCKSYSTEM[C].Mar.16,1981.[17]CareyS.Clark,362935thAve.West,Seattle,Wash.98199;CordonB.Winch,Seattle,Wash.ELECTRONICLOCKSYSTEM[C].Apr.30,1986.毕业设计(论文)开题报告题目:      基于PLD的电子密码锁设计       45 基于PLD的电子密码锁设计专业:电子信息工程1选题的背景、意义随着生活水平的提高,安全防盗越来越受到人们的关注。基于EDA技术设计的电子密码锁,以其价格便宜、安全可靠、使用方便,受到了人们的普遍关注。而使用PLD可编程器件和VHDL语言设计的电子密码锁具有密码预置,误码锁死及密码更改,激活电锁,解除电锁的功能。这种设计方法不仅简化了系统结构,而且提高了系统的可靠性和保密性。通过运用该可编程逻辑器件开发的数字系统能方便地对所设计的数字电路进行升级和改进。[1][2]20世纪80年代,最早的电子密码锁在日本诞生。随着日本电子行业的快速发展,出现了一些利用简单的门电路设计的密码锁。这种设计安全性较差,容易被破解。到了90年代,美国、德国、意大利、日本、韩国、加拿大以及我国的香港、台湾等地的微电子技术的进步和通信技术的发展为密码锁提供了技术上的支持,从而把密码锁推向实际应用的阶段。我国于90年代初开始对密码锁进行初步的研究。目前,在此领域虽已有较大的发展,即采用各种电路进行设计的比较多,技术也相当先进,但是,在我国出口的产品中高档产品只占了15%~20%,而且我国高档产品在发达国家也只能算是中档产品,价格低是普遍现象。另外,我国当前的出口产品与国外产品相比,无论是品牌知名度还是产品售价,都有非常大的差距.电子密码锁技术发展至今己相当成熟。许多家庭、宾馆已开始使用电子门,存放贵重物品、机密文件的工具也用到了电子密码锁,电子密码锁控制器在现场与传感器及执行机构相连,进行状态监视和完成控制功能。小型便携的新型装置,可广泛应用在各种场合,其结构简单、成本较低、安全性好。通常电子密码锁系统由电路部分和机械执行部分组成。电路部分有利用密码锁ASIC(专用集成电路)芯片控制、利用单片机控制以及逻辑门电路构成等多种方式。在现有的电子密码锁中,基本上是用户由键盘通过接口电路将意图解锁码输入到控制器(主要由CPLD组成)中,控制器将输入的密码与电子锁内预置的开锁密码进行比较、鉴别,当确认完全一致时,送出一个信号给功率放大器,然后由继电器带动机械执行部件开锁。输入的密码将被与电子锁内预置的开锁密码进行校对。[3]2相关研究的最新成果及动态2.1密码锁的定义电子密码锁就是通过密码的输入来进行电路工作的控制或芯片工作的控制,再通过电路设备来控制机械的开关闭合,完成控制锁的开关45 基于PLD的电子密码锁设计任务的电子产品。电子密码锁是在实际生活应用中使用非常广泛的一种数字电路,其主要的功能是用来对某些东西进行保密保护,这样可以避免其他的人员使用其他的设施或去进行一些越权的操作,例如自动售货机、门卡系统、保险柜、银行自动柜员机中都含有一些电子密码锁。[4]2.2密码锁的发展趋势现在常见到的遥控式电子防盗锁主要有光遥控和无线电遥控这两类。光遥控又被分为可见光遥控和红外线遥控:a光遥控利用窄角度的光传输密码,优点具有传输信息量大、速度极快、人眼识别不出来,保密性高(又无法在光路径上即操作者与电子防盗锁主体之间以仪器捕获信号试图复制)的优点。b无线电遥控具有速度快、人眼识别不出来、传输信息量可以很大的优点,但是却发射的信号弥散空间,很容易被仪器给捕捉到,所以比较适合采用变化的密码,就是一般所谓的跳码或者说是滚码,一般是随机的变化又没特别说明的,那么这种钥匙就会大一点,就可能要使用一些特定的电池。(1)键盘式电子密码锁 从现在的技术水平与市场的认可程度来说,被最为广泛的应用的是键盘式的电子密码锁,这个产品主要应用于保险柜、保险箱和金库,另外的部分被应用在保管箱和运钞车。键盘式的电子密码在键盘上输入密码,跟我们现在打电话是差不多的,所以比较容易被掌握,其最突出优点是密码,其密码就能被记忆在被授权在人脑子里的数字和字符,不仅准确而且可靠。所以一般来是密码是不能设置的太简单的,如果太简单了就很容易被他人用键盘给试探出来,或者就会被旁观的人窥测出来,就会造成保密性的不完全。45 基于PLD的电子密码锁设计同时密码也不能太复杂,太复杂也可能会让自己都糊涂了,如果所输入的密码成功率很低,就会造成使用的不便。因此,为了能充分体现其优点而又缩小缺点,键盘式的电子密码就有了更多的发展并取得了充分进步,比如说任意设定密码的技术就让得被授权的人可以根据自己的喜好或需要来设定密码;还有就是自动更改密码的技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律也不能被其他人知道,所以不怕被旁观者给窥测;键盘乱序显示的技术会使得键盘上的每个固定的键位每次所显示出来的字符也都是不固定,而且所显示出来的窄小角度只能被操作者从正面看到,所以说就算是被旁观者看见了一般的操作动作也很难给窥测出真确的密码;有个多重密码设定技术使得一般的单组密码不一定都有效,适合被很多人去分权的使用,一般要输入两组以上的密码才可以被认可,很大程度上提高了系统的保密性,如果限定了输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了能够限制试探密码的可能性,如果输入错误码超过一定的次数或者说在一定的时间内输入的答案都是不正确,也就是会被封锁键盘然后就不再接受其他的输入操作。(2)卡式电子防盗锁当今社会都会使用各种卡用来作为钥匙的电子防盗锁是当前最为活跃的产品,虽然说现在卡的种类是多种多样,但是按照输入卡的操作方式,一般可以分为接触式卡和非接触式卡两大类。值得大家注意的是,由于一些安防等的行业要求,通常不会去使用那些可靠性差又被易被仿制的磁卡。现在的社会中一些重要接触式卡不仅技术成熟、价格较低,而且应用也较为广泛;非接触式卡又具有使用隐蔽、方便、就有了后来居上的趋势。(3)生物特征防盗锁人具有很特殊的个性特征几乎不可重复,如手、眼睛、声音的特征,可以作为密码锁的钥匙就是唯一的,除非被逼迫或伤害,所以利用生物特征可以做密码电子防盗锁,特别是非常适合现在的金融业注重确定本身身份的行业特点。由于这种生物的这种自生自长和随身携带的钥匙具有优点突出,因此这类的锁很快的度过了价格昂贵、性能不太稳定的初始期,现在已经45 基于PLD的电子密码锁设计变得越来越实用、越来越很有特点,如今已经受到大家的普遍欢迎。生物特征技术的发展非常迅速,除了价格因素和尺寸、体积因素的普及有性能不稳当的特点,人们普遍看好生物特征电子防盗锁在金融业的应用前景。但是现在都对保密性的要求非常高,在使用了生物特征的电子防盗锁,最好还是会使用一些其他的电子信息,两者相互结合作为最后使用的秘密。    由于数字、图形图像、字符、人体生物特征和时间等要素都可以成为钥匙的电子信息,便组合使用一些信息能够使用电子防盗锁可以获得更高度的保密性,比如说防范森严的金库,使用那些复合信息密码的电子防盗锁,这样让盗贼更加难以得逞。使用那些组合好的信息不仅能够让电子防盗锁就可以获得无穷扩展的可能,从而使得产品更加多样化,对我们用户来说是千挑百选便自得其所。电子防盗锁被广泛的应用在金融业,根本的作用简称就是授权,就是说被授权了的人才可以进行存取钱或者物。从广义的角度来讲,金融业中被授权主要包括三种层次的内容:a首先是给予保管的权力,比如使用保管箱或者保险柜;b然后是给予出入的权力,比如给予运钞车和保管室;c最后是给予流通的权力,比如说自动存取款。如今金融行业的电子防盗锁的主要应用是集中在以上的前两个层面上。接下来就主要介绍下在金融行业中使用较多几种主要的电子防盗锁和它们的技术发展方向。    当然,上面所说的那些授权的技术再高超,都是由精良的锁具来担当承载结构的部件,从而来实现开启或者闭锁的功能,而且承担主要的实体防护的作用,尽量的抵抗的住并且延迟破坏的行为,这可以让电子防盗锁有软和硬都不吃。一般的情况下,锁具防盗的最关键部分就是锁身外壳以及闭锁的部件,比如伸缩的锁舌和锁栓以及锁扣盒锁扣板,根据电磁力可以直接的打开关闭的电磁部件等的强度,应该能够有足够的机械强度和刚度,才可以承受的住一定数值、一定方向的静压力和锁止型式,主要才可以承受某些方式和工具的作用;配合间隙,防止采用机械的、电子的方法探入锁具内部而被开启;布局,将薄弱的、与锁的开启直接相关的零部件和电路置于壳体保护之下,并且不易被识别出来。    能够提高电子防盗锁的防护能力的途径就是报警,在现在的金融业中有电视监控并且很多场所有人值守,具有报警功能,然后综合人力防范和物理防范这两种作用。进行报警的前提准备就是系统有探测功能,由于电子防盗锁的使用场所是要有防护要求,就要去选择很多种的探测手段。在我国的城市中所发展的金融业中,对各个金融网点的基本要求是实现联网报警。    根据现在国内外的一些实践的经验得出的结论金融业必须实行安全防范风险等级,然后根据使用的安装布局和人员值守状况和防盗报警器材的性能等,去进行评估被防护的东西和区域的保护能力,然后可以得出相应的风险安全等级,在这个之中,电子防盗锁的性能是非常重要。45 基于PLD的电子密码锁设计3课题的研究内容及拟采取的研究方法(技术路线)、研究难点及预期达到的目标研究内容:完成基于PLD的电子密码锁的设计开发。即以EDA开发工具为工作平台,使用PLD可编程器件和VHDL语言设计的带音乐的电子密码锁具有密码预置,误码锁死及音乐提示等功能。研究方法:考虑到实现各项数字密码锁功能的具体要求,整个电子密码锁系统的总体组成框图如图1所示:键盘扫描电路时序产生电路键盘弹跳消除电路键盘译码电路开/关门锁电路数字比较电路按键数据缓冲器————————七段数码管显示电路密码锁控制电路寄存器清除信号发生电路BCD至七段译码电路数字密码输入电路图1[5]设计电子密码锁可由以下几个部分来完成:1.数字密码输入电路45 基于PLD的电子密码锁设计密码锁输人模块的电路框图如图所示,它由时序产生电路、弹跳消除电路、键盘扫描电路、键盘译码电路和按键存储电路五部分组成。时序产生电路在电路中用于产生三种不同频率的工作脉冲波形,包括系统时钟信号、键盘扫描信号和弹跳消除取样信号。弹跳消除电路可避免误操作发生。由于设计中采用的矩阵式键盘是机械开关结构,因此,在开关切换的瞬间,会在接触点出现信号来回弹跳的现象。为使电子密码锁可靠工作,必须加上弹跳消除电路。弹跳消除电路采用软件延时的方法消除抖动。键盘扫描信号有键盘电路提供。该信号由ky3~ky0进人键盘,其变化的顺序为1110-1101-1011-0111-1110……周而复始。扫描信号0111代表扫描的为*、0、#这一排按键,当*这个按键被按下时,由kx2~kx0读出的值为011。键盘译码电路其作用是用来规划每个按键的输出形式,以便执行相应的动作。键盘存储电路可将每次扫描产生的新按键数据存储下来,因此新数据可能会覆盖前面的数据,所以需要一个按键存储电路,以将整个键盘扫描完毕的结果记录下来。2.密码锁控制电路密码锁控制电路是整个电路控制的核心,是为了完成对数字键输人等功能键输人的响应和控制。其数字键输人的响应控制过程如下:(1)数码输入:按下一个数字键,其对应的数字就显示在最右边的数码管上,同时将先前输人的所有数字向左移动一位。设计密码为4位,系统只能显示前4位输人的数码。(2)数码清除:当按下#键时,清除前面输入的所有值,并显示为“0000”。(3)激活电锁:按下*键时可以使密码锁的门上锁。(上锁前必须预先设定一个四位的数字密码)(4)密码解锁:按下#键,再输入数码;如果输入与系统储存密码一致,密码锁就能开启;否则不能解锁。3.密码锁显示电路电子密码锁的显示电路其作用是完成对相应输入的密码功能和结果经七段译码电路来进行显示编码如图所示:研究难点:1.设置指针,并且要显示数字45 基于PLD的电子密码锁设计1.2次扫描扫描列、次分开进行,又相互影响2.数字密码输入电路、密码锁控制电路如何相互配合,最终在显示电路的译码管上显示出来预期达到的目标:(1)完成系统硬件电路设计(2)完成系统软件设计(3)完成系统仿真与调试4研究工作详细工作进度和安排2010.11.23~2011.1.10:查阅相关资料,深入了解所选课题,完成外文翻译,文献综述。2011.1.10~2011.2.27:完成开题报告定稿。2011.3.1~2009.3.20:确定系统研究方法与技术路线。2011.3.21~2011.4.17:完成系统软硬件设计。2011.4.18~2011.5.1:完成系统调试。2011.5.2~2011.5.15:完成论文初稿。2011.5.16~2011.5.22:完善系统设计,修改论文,论文定稿。5参考文献[1]王红航,张华斌.电子密码锁的EDA设计与实现[J].广东:电子元器件应用,2009-6,11(6).[2]王静.基于VHDL的电子密码锁设计[J].安防科技,2010-3.[3]孟祥忠.数字电子密码锁的设计[C].大连:大连理工大学,2007-6-1.[4]张雪,殷昌贵.基于VHDL的数字密码锁的设计与实现[J].山东:东华大学学报(自然科学版),2007-6,33(3).[5]吴兵,陈浩田,宏松.基于EDA技术的电子密码锁设计[J].大科技·科技天地,2010(7).[6]许琦.基于FPGA的电子密码锁的设计[J].科技信息(学术版),2006(10).[7]王永祥,刘焱.EDA实验教学的电子密码锁创新设计[J].江西:宜春学院学报,2010,32(8).[8]范柳絮,李宏,陈姻,谷志教.基于CPLD的电子密码锁设计[J].西安:电子测量技术,2008,31(8).[9]高倩,谢海良.基于Max+Plus2和VHDL的电子密码锁设计[J].河南:现代电子技术,2009,32(17).[10]尤国平,陈新,林伟,黄世震.45 基于PLD的电子密码锁设计基于VHDL语言的串行密码锁设计[J].国外电子测量技术,2005,24(9).[11]曹建国,王威,王丹.一种基于VHDL的电子密码锁的设计与实现[J].四川:安防科技,2007-2.[12]王显海,贾金玲,陈光建,张海军,于文军.基于FPGA的电子密码锁的研制[J].微型机与应用,2010,29(16).[13]李连华.基于FPGA的电子密码锁设计[J].中国科技信息,2006(1).[14]吴海涛,梁迎春.基于状态机的语音电子密码锁设计[J].电子工程师,2007-4,33(4).[15]陈华丽,何颜平.基于VHDL的数字密码锁设计[J].武汉:国外电子测量技术,2008-4,27(4).[16]KemalAydin,LittleFalls,N.J.ELECTRONICLOCKSYSTEM[C].Mar.16,1981.[17]CareyS.Clark,362935thAve.West,Seattle,Wash.98199;CordonB.Winch,Seattle,Wash.ELECTRONICLOCKSYSTEM[C].Apr.30,1986.45

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭