ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:95.03KB ,
资源ID:3601954      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3601954.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子密码锁.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子密码锁.docx

1、电子密码锁四川师范大学本科毕业设计基于FPGA的电子密码锁设计学生姓名高佳院系名称工学院专业名称电气工程及其自动化班 级2007级电气2班学 号2007210144指导教师冷红英完成时间2011年 5 月 15 日基于FPGA的电子密码锁设计学生姓名:高佳 指导教师:冷红英内 容 摘要随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。在实际应用中,

2、由于程序容易跑飞,系统的可靠性能较差。本文主要阐述了一种基于现场可编程门阵列FPGA器件的电子密码锁的设计方法。用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。由于FPGA具有现场可编程功能,当设计需要更改时,只需更改FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需更改外部电路的设计,大大提高了设计的效率。因此,采用FPGA开发的数字系统,不仅具有很高的工作可靠性,而且升级也极其方便。本文采用EDA技术,利用Quartus II工作平台和硬件描述语言,设计了一种电子密码锁,并通过一片FPGA芯片实现。关键词:电子密码锁 FP

3、GA 硬件描述语言 EDAFour FPGA-based electronic lockAbstractWith the development of electronic technology, with features such as electronic anti-theft alarm lock instead of a password less, poor security mechanical locks is an inevitable trend. Electronic code lock, compared with ordinary mechanical locks,

4、with many unique advantages: confidentiality, security and strong, you can not key to remember a password to unlock. Currently used by most electronic locks is based on chip technology, the microcontroller as the main device, the encoder and decoder into software mode of Health. In practice, because

5、 of easy running out, the system reliability can be poor. This paper describes a field programmable gate array-based FPGA device design method of electronic locks. Structural system with FPGA devices, all the algorithms implemented entirely by hardware circuit, making the system work much higher rel

6、iability. The FPGA with field-programmable functions, when the design needs to change, just change the FPGA, the control and interface circuits, the use of EDA tools will be updated in the design can be downloaded to the FPGA, without changing the external circuit design, greatly improving design ef

7、ficiency. Therefore, the development of digital systems using FPGA, not only has high working reliability and is also extremely easy to upgrade. In this paper, EDA, using Quartus II working platform and hardware description language, designed an electronic lock, and through an FPGA chip. 朗读显示对应的拉丁字符

8、的拼音字典Keywords: lock FPGA hardware description language EDA目录1 绪 论 11.1 课程背景 11.2 本课题的研究目的和意义 11.3 EDA的相关介绍 21.4 FPGA的技术开发流程 31.5 VHDL硬件描述语言 32 电子密码锁的设计与实现 52.1电子密码锁设计要求 52.2 总体设计思想 52.3 子模块的设计思想及实现 62.3.1输入模块的设计与实现 62.3.2 控制电路设计与实现 82.3.3显示模块设计与实现 103 电子密码锁的波形仿真 113.1 电子密码锁的设计流程 113.2 系统主要模块的仿真 114

9、总结 14参考文献 15附 录 15基于FPGA的电子密码锁设计1 绪 论1.1 课程背景基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增

10、加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。基于FPGA的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展,而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC

11、,那么这块ASIC就可以作为专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新的功能,使得密码锁有更高的安全性、可靠性和方便性。1.2 本课题的研究目的和意义随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。现在市场上主要是基于单片机技术的电子密码锁,但可靠性较差。FPGA即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物,是一种超大规模集成电路,具有对电路可重配置能力。相对于基于单片机技术的电子密码锁,用FPG

12、A器件来构成系统,可靠性提高,并且由于FPGA具有的现场可编程功能,使得电子密码锁的更改与升级更为方便简单。通过本次设计掌握FPGA系统设计的方法,熟悉FPGA设计的相关软件,以及硬件描述语言的使用,了解电子密码锁的系统构成,利用FPGA实现电子密码锁的设计与实现,可以加深自己对所学专业的认识,关联知识,增强自己的动手能力,积累实践经验,为以后的工作打好基础。1.3 EDA的相关介绍 EDA的特点:EDA技术对电子系统设计方法的影响:传统的电路设计的方法是自低向上(Buttumup),即设计师根据设计要求首先选用合适的元器件,然后完成各个单元电路的设计、搭试、性能指标的测试,最后形成系统。而基

13、于EDA技术的设计方法是自顶向下(Top to Down),即首先从系统设计入手,在顶端进行功能方框图的划分和结构设计。然后利用EDA软件进行设计的验证、仿真以及PCB布局布线等工作12。硬件描述语言:硬件描述语言(HDL)是一种用于进行电子系统硬件设计的计算机高级语言,它采用软件的设计方法来描述电子系统的逻辑功能、电路结构和连接形式。EDA的另一个特点体现在大规模可编程逻辑器件PLD(Programmable Logic Devices)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。PLD最早出现在20世纪70年代初,其后经历了PROM、PLA、PAL、GAL等几个发展阶段。80年代中期

14、,美国Xilin公司首先推出了现场可编程门陈列(FPGA)器件。90年代初,美国Lattice公司又推出了在系统可编程大规模集成电路(ispLSI)。现通常将高集成度的可编程逻辑器件谶纬复杂可编程逻辑器件(CPLD)。EDA的突出特点体现在EDA软件开发工具上。EDA开发工具是利用EDA进行电子系统设计的智能化设计工具。近年来许多生产可编程逻辑器件的公司都相继推出了适于开发本公司器件的EDA工具,目前国际上生产CPLD和FPGA的在发展上都很有特点。EDA技术的方法:EDA技术的方法与以往的设计方法有很大的不同,EDA技术的设计方法主要有行为描述法、IP复用法、ASIC设计法、SOC设计法、继

15、承平台设计法等。1.行为描述法:行为描述法的基本特征是视IC芯片为黑盒并将其外部行为盒内部实现分隔开,设计的重点放在芯片功能的实现,而不在芯片制作的方法上。行为描述法的基础视硬件语言(VHDL)的程序设计方法,硬件描述语言通过硬件的融合,使系统设计实现了软件的硬化和硬件的软化;2.IP复用法:IP(IntellectualProperty),也称为IP恢复用技术,是指一个公司出售给另一个公司的设计。IP核是指完成某种功能的虚拟电路模块,或称为虚部件,IP核形式上可分为硬核、固核和软核:硬核是版图形式描述的设计模块,常用的有存储器、模拟器件和接口部件等,用户不能改动产品的设计。用户得到的仅是产品

16、的功能;软核是完成在寄存器或门级、用HDL进行描述的电路,表现为HDL语言代码,用户得到的仅可以二次修改和设计;固核是介于硬核和软核之间,允许用户重新定义的,关键的性能参数,优化核内部连接。在EDA技术中,软核是指复杂的模块程序;当程序下载到芯片中,通过仿真调试后,则被称为硬核。3.ASIC设计法:ASIC是为某种专门应用而制造的集成电路。ASIC的设计方法一般可分为:全定制设计、定制设计、半定制设计、硅编译设计和可编译逻辑设计5种。前3种是半导体工艺师在进行芯片设计生产时使用的:硅编译设计是自动化设计的方法:可编译逻辑设计是电子系统设计师根据系统功能要求,通过将编程(硬件逻辑描述语言)方法和

17、工具软件配合,把整体系统下载到半导体工艺师所提供的大规模可编程芯片中的一种方法,其精华在于设计过程可以处于用户的控制之下。4.SOC设计法:SOC设计法是以CP(或DSP)core为核心的集成系统设计方法,为高层的电子设计方法。 5.集成平台设计法:集成平台一般包括:芯片的软件和硬件结构、前置级库。按照目标技术预置的虚构拟部件SOC衍生器件的快速设计及验证方法。集成平台设计方法是力求提供一种稳定的、适应特定应用范围的、经过检验合格的IP集合框架,有了该方法就可以在平台应用中提供适应特定产品的设计。1.4 FPGA的技术开发流程通常FPGA/CPLD的开发流程分为六个步骤:1.设计概念的确定。首

18、先,设计人员应根据系统的功能,技术规范,确立系统模块组成或是明确系统层次结构安排。2.设计输入。目前大部分软件支持电路图书入与HDL语言输入。HDL语言使用方便,可移植性好,变成灵活,但效率不高;电路图输入原理图比较直观,可控性好,效率比较高,通常做法是HDL与电路图相结合的办法。3.逻辑总和。把HDL语言设计调入逻辑综合软件中进行逻辑综合,即把语言综合成最简单的布尔表达式。为了达到资源和时间频率的预定要求,通常要设置综合约束条件,如时间约束,面积约束等等;在无法达到的时候,又要选择更好的综合软件或是调整设计算法。综合的结果生成.EDF工业标准文件。4.布局布线。将.EDF文件调入PLD厂家提

19、供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。5.仿真。需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。1.5 VHDL硬件描述语言VHDL(Very high speed integrated circuit Hardware Description Language)硬件描述语言从高于逻辑级的抽象层次上描述硬件的功能、信号连接关系及定时关系。VHDL的设计流程如下图。图1 VHDL设计流程VHDL语言是对逻辑电路进行描述的高级语言,它与其他高级语言相比既有相同之处,也有其自身特点:1.VHDL是工业标准的文本格式语言 VHDL已成为一种工业标准。设计者、EDA

20、工具的供应商以及芯片生产厂家,都要遵循这一标准。该语言是一种文本格式的语言,ASIC的设计者在设计电路时,就像编写其他高级语言一样,用文字来表达所要设计的电路,这样能比较直观地表达设计者的设计思想,并且易于修改。2.VHDL能同时支持仿真和综合VHDL语言是一种能够支持系统仿真的语言。事实上,ASIC成功的关键在于生产前的设计,而保证设计正确性的主要手段就是系统仿真。目前在大部分的EDA工具中,都有支持VHDL语言仿真的工具。这样,设计者在ASIC生产前就能够知道设计的正确与、系统的的性能如何等关键问题。VHDL不仅仅是一种仿真语言,它的所有语句有相当一部分是不支持综合的,也就是说EDA工具无

21、法根据所描述的VHDL语言产生出电路;但其中的可综合语句足以描述一个大而完整的系统。目前所有的高层次综合工具所支持的综合语句,都是IEEE标准的一个子集。因此,VHDL语言可以有两种完全不同的描述,一种是基于仿真的描述,它可以使用VHDL语言定义的各种语句,这类程序主要适用于编写测试基准程序和各种仿真模型的工程师使用,另外一种就是用于生成具体电路的可综合描述。它只能使用VHDL中的可综合子集。它主要适用于从事电路设计的工程师使用。3.VHDL是一种并发执行的语言 我们知道,几乎所有的高级语言的执行都是顺序的,而VHDL语言在仿真过程中的执行是并行的。这种特性是符合实际逻辑电路的工作过程的。4.

22、VHDL支持结构化设计和top-down设计方法VHDL语言是一种结构化的语言,它提供的语句可以完成多层次结构结构的描述,所以VHDL语言可以支持结构化的设计。结构化设计就是将一个系统划分为多个模块,而每个模块又可以继续划分为更多的子模块。这样就可以采用top-down的设计方法,就是从系统整体要求出发,自上而下的逐步将系统内容细化,最后完成系统的整体设计。5.VHDL的描述与工艺无关设计者在利用VHDL描述时并不需要关心电路最终将在哪种工艺上实现,EDA工具可以将VHDL源代码映射到不同的工艺床上,提高了设计的可重用性。6.支持多风格的描述方法VHDL不仅支持行为级的描述,而且支持数据流及结

23、构描述。2 电子密码锁的设计与实现2.1电子密码锁设计要求设计一个基于FPGA的电子密码锁,其基本要求为:1.密码锁为四位显示,可以通过按键接受密码设置;按下数字键,第一个数字会显示器的最右端显示,随后每按下一个新数字,显示器上的已经存在的数字整体会向左移一位,并将以新的数字显示出来;2.当输入密码时,四位密码都正确,则绿灯亮,密码锁开锁;当其中任意一位不正确时,则红灯亮,密码锁不开锁,当按下复位键时,显示为最初设置,可再重新输入密码。3.若要更改输入数字,则可按复位键消除所有输入的数字,再重新输入数字。4.电子密码锁为4位,当输入超过4位时,电路不予理会,且不会显示第4个以后的数字。2.2

24、总体设计思想首先根据电子密码锁的逻辑功能,设计逻辑电路。然后根据逻辑电路,编写FPGA程序实现逻辑功能,再用仿真软件进行仿真调试。本设计为电子密码锁,通过输入密码和控制模块判断输入密码是否正确,四位密码都正确,则密码锁开锁,只要其中有一位不正确,则密码锁不开锁,同时该系统还应有复位功能,按下复位键,允许重新输入密码。此电子密码锁的设计中采用自顶向下的设计思路,运用VHDL硬件描述语言对各个模块进行层次化、系统化的描述,并且先设计一个顶层文件,再把各个模块连接起来。图2 系统总体流程图 2.3 子模块的设计思想及实现通过第一章电子密码锁系统结构的分析和对电子密码锁的功能要求,把要设计的系统划分为

25、几个功能模块:密码输入模块、密码锁控制模块和数码显示模块。2.3.1输入模块的设计与实现作为电子密码锁的输入电路,数字密码输入电路可采用一个34的通用数字机械键盘作为本设计的输入设备。机械式键盘具有低成本、可靠性高、构成电路简单、技术成熟和应用广泛等特点,因此将其应用到通用电子密码锁中是比较适宜的。输入模块主要包括时序产生电路、键盘扫描电路和弹跳消除电路。1.时序产生电路本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲(它是系统内部所有时钟脉冲的源头,且其频率最高)、弹跳消除取样信号、键盘扫描信号。当一个系统中需使用多种操作频率的脉冲波形时,最方便的方法之一就是利用一计数器来产生

26、各种需要的频率。也就是先建立一个N位计数器,N的大小根据电路的需求决定,N的值越大,电路可以分频的次数就越多,这样就可以获得更大的频率变化,以便提供多种不同频率的时钟信号。若输入时钟为CLK,N位计数器的输出为QN-1.0,则Q(0)为CLK的2分频脉冲信号,Q(1)为CLK的4分频脉冲信号,Q(2)为CLK的8分频脉冲信号Q(N-1)为CLK的2N分频脉冲信号;Q(5 DOWNTO 4)取得的是一个脉冲波形序列,其值依000110110001周期性变化,其变化频率为CLK的32分频。我们利用以上规律即可得到各种我们所需要频率的信号或信号序列。SIGNAL CLK: STD_LOGIC ; -

27、电路工作时钟脉冲SIGNAL C_KEYBOARD:STD_LOGIC_VECTOR(1 DOWNTO 0); -键扫信号“00-01-10-11”寄存器SIGNAL C_DEBOUNCE: STD_LOGIC ; -去抖时钟信号2.键盘扫描电路扫描电路的作用是用来提供键盘扫描信号的,扫描信号变化的顺序依次为11101101101101111110依序的周而复始。扫描时依序分别扫描四列按键,当扫描信号为1110时扫描KY3这一排按键;当扫描信号为1101室,扫描KY2这一排按键;当扫描信号为1011时,扫描KY1这一排按键;当扫描信号为0111时,扫描KY0这一排按键。每扫描一排按键就检查一次

28、是否有键被按下,如果这排没有按键被按下就忽略,反之,如果出现被按下的键则立刻进行按键编码的动作,且将编码的结果储存于寄存器中。-扫描信号发生器 COUNTER: BLOCK ISSIGNAL Q: STD_LOGIC_VECTOR (5 DOWNTO 0); SIGNAL SEL: STD_LOGIC_VECTOR (3 DOWNTO 0); BEGINPROCESS (CLK_1K) IS BEGINIF CLK_1KEVENT AND CLK_1K =1 THENQ = Q+1; END IF; C_DEBOUNCE = Q(2) ; -去抖时钟信号, 大约125 Hz C_KEYBOAR

29、D = Q (6 DOWNTO 5) ; - 产生键扫信号*“00-01-10-11”, 大约16 HzC_DEBOUNCE = Q(1) ; -仿真时用 C_KEYBOARD = Q(5 DOWNTO 4) ; -仿真时用CLK KEY_IN (0), D_OUT = C (0), CLK = C_DEBOUNCE); U2: DEBOUNCING PORT MAP (D_IN = KEY_IN (1), D_OUT = C (1), CLK = C_DEBOUNCE); U3: DEBOUNCING PORT MAP (D_IN = KEY_IN (2), D_OUT = C (2), C

30、LK = C_DEBOUNCE; 2.3.2 控制电路设计与实现密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按键输入的相应控制。1数字按键输入的响应控制1.如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。2.假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有出入的数字,再重新输入四位数。3.当输入的数字键超过预设位数时,电路不予理会,而且不再显示以后的数字。2.功能按键输入的响应控制1.清除键:清除所有的输入数字,即作归零动作。2.激活电锁键:按下此键时可将密码锁的门上锁。3.解除电锁键:按下此键会检查输入的密码是否正确,若密码正确无误则开门。-CTRL.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNS

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1