数电课程设计-基于FPGA的电子密码锁的设计

数电课程设计-基于FPGA的电子密码锁的设计
数电课程设计-基于FPGA的电子密码锁的设计

摘要

随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。在实际应用中,由于程序容易跑飞,系统的可靠性能较差。

本文主要阐述了一种基于现场可编程门阵列FPGA器件的电子密码锁的设计方法。用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。由于FPGA具有现场可编程功能,当设计需要更改时,只需更改FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需更改外部电路的设计,大大提高了设计的效率。因此,采用FPGA开发的数字系统,不仅具有很高的工作可靠性,而且升级也极其方便。

本文采用EDA技术,利用Quartus II工作平台和硬件描述语言,设计了一种电子密码锁,并通过一片FPGA芯片实现。

关键词:电子密码锁;FPGA;硬件描述语言;EDA

ABSTRACT

With the development of electronic technology, electronic password lock with burglar alarm and other functions replacing less password and poor security mechanical code lock is an inevitable trend. compared electronic password lock with ordinary mechanical locks, it has many unique advantages :confidentiality, and security in nature, do not use the key, remember password can unlock it etc .Most electronic password locks we used now is based upon SCM technology ,SCM is its mainly device ,and the creating of encoding and decoding devices is the fashion of Software mode. In practical application, the reliability of the system may be worse because of easy running fly of the programme.

This paper mainly expatiates a design method of electronic password lock based upon Field Programmable Gate Array device. We use FPGA devices to construct system , all of the algorithm entirely achieved by the hardware circuit , because of FPGA has the function of ISP , when the design needs to be changed We only need to change the control and interface circuit of FPGA,EDA tools are used to download the updated design to FPGA without changing the design of the external circuit , this greatly enhance the efficiency of the design .Therefore , we use FPGA to empolder the digital system has not only high reliability but also extremely convenient of upgrading and improvement .In this paper ,we use EDA technology , Quartus II platform and hardware description language designing an electronic password lock ,and it achieved through an FPGA chip.

Key words:electronic password lock;FPGA;hardware description language;

EDA

目录

1 绪论 (1)

1.1国内外现状及其发展 (1)

1.2电子密码锁的原理 (2)

1.3电子密码锁的系统简介 (4)

1.4系统设计要求 (4)

1.5本课题的研究目的和意义 (5)

2 现场可编程门阵列FPGA (6)

2.1FPGA的基本结构 (6)

2.2FPGA的优点 (10)

2.3FPGA的设计流程 (11)

2.4自顶向下设计法 (17)

2.5用模块化设计FPGA (18)

3 VHDL硬件描述语言 (20)

3.1VHDL语言的基本结构 (20)

3.2结构体的描述方式 (21)

3.3自上而下(TOP DOWN)的设计方法 (22)

4 电子密码锁的设计与仿真 (24)

4.1硬件设备 (24)

4.2几个主要功能模块的设计 (25)

4.3计算机仿真 (32)

结束语 (38)

参考文献 (39)

附录1英文原文 (40)

附录2中文译文 (49)

附录3源程序 (56)

1 绪论

1.1 国内外现状及其发展

随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。

20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。

目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内

自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用[1]。

目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式[2]。在实际应用中,由于程序容易跑飞,系统的可靠性能较差。基于现场可编程逻辑门阵列FPGA器件的电子密码锁,用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。由于FPGA具有现场可编程功能,当设计需要更改时,只需更改FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需更改外部电路的设计,大大提高了设计的效率。

1.2 电子密码锁的原理

1.2.1 编码总量的确定

电子密码锁随机开锁成功的概率定义为:

P=1/NT

其中P为随机开锁成功概率,NT为密码编码总量。显然要使密码锁保密安全性高,NT应尽可能大,使P趋于零,但NT越大,相应电路越复杂,密码的记忆与操作也越麻烦。故NT应有合理的上限和下限。

下限NTL的选择应使密码落在随机开锁可能成功的操作时区以外。若每一次开锁操作时间为t,为便于做随机试验,将N T分为n段并期望在1/n 段的1/2处开锁成功。此时

p=1/2n

则随机开锁试验期望成功的时间为:

Tr=NT×t/2n

假定系统设计不考虑误码输入的保护,密码锁在无保护的情况下使操作人员任意作随机开锁试验的时间为TEN,则:

NTL=(2n×T EN t)×x,其中x为最低安全系数。即:

TEN=(N TL×t2n)x

显然若使NT>=NTL,则Tr>TEN,则使分段随机试验不易成功。

由此可得出数字密码锁的编码总量设定是系统设计安全性、保密性的首要技术指标。一般来说,当NT选定之后,NT的上限NTH原则上是越大越安全,但一般设计时取NTH=(10~1000)NTL较为合理。

1.2.2 编码制式的选择

编码制式应根据NT的大小选取,可分为如下三种:

(1)密码的各位都可以重码:NT1=ai;

(2)密码的非相邻位可以重码:NT2=a(a-1)i;

(3)密码的任何一位都不能重码:NT3=a(a-1)……(a-i+1)。

其中a为基数,i为位数,a和i的选取应该满足NT≥NTL ,a=2,3,4,10,12,14,16。

现在以最常用的a=10,i=6为例,可以计算出NT2=0159NT 1,NT 3=0.15N T1,所以编码制式考虑是否重码对NT有很大影响。

另外,相同制式下不同的基底对编码总量NT会有影响,而且基底的选择也会影响到硬件电路的设计。

本文设计的密码锁采用十进制编码,密码各位允许重码,为简化电路设计,密码锁口令采用对串行脉冲计数的方式输入。

1.2.3 误码输入的保护措施

如前所述,电子密码锁的设计应考虑自身的安全保密性,由于编码和

捕捉密码的实验都是随机的,若要使P=1 NT趋近于0,必须采取误码输入的保护措施。假定设定的误码输入次数不超过三次,误码达到三次时系统应关闭主控电路,拒绝大于三次的密码输入,并且系统进入死锁状态。系统正常状态的恢复也可采用以下三种方式:

(1)延时后输入二级密码管理方式,即由管理员级密码作为正常输入的开锁密码,之后重新定义新的开锁密码;

(2)使用一个按键使系统重新恢复到正常状态;

(3)系统掉电恢复[3][4]。

1.3 电子密码锁的系统简介

通用的电子密码锁主要由三个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。

(1)密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个小的功能电路。

(2)密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。

(3)密码显示电路主要将显示数据的BCD码转换成相对应的编码。如,若选用七段数码管显示电路,主要将待显示数据的BCD码转换成数码器的七段显示驱动编码[4]。

1.4 系统设计要求

设计一个具有较高安全性和较低成本的通用电子密码锁,具体功能要求如下:

(1)数码输入:每按下一个数字键,就输入一个数值,并在显示器上的显示出该数值,同时将先前输入的数据依序左移一个数字位置。

(2)数码清除:按下此键可清除前面所有的输入值,清除为“0000”。

(3)密码更改:按下此键时会将目前的数字设定成新的密码。

(4)激活电锁:按下此键可将密码锁上锁。

(5)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。

1.5 本课题的研究目的和意义

随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。现在市场上主要是基于单片机技术的电子密码锁,但可靠性较差。FPGA即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物,是一种超大规模集成电路,具有对电路可重配置能力。通常FPGA都有着上万次的重写次数,也就是说现在的硬件设计和软件设计一样灵活、方便。相对于基于单片机技术的电子密码锁,用FPGA 器件来构成系统,可靠性提高,并且由于FPGA具有的现场可编程功能,使得电子密码锁的更改与升级更为方便简单[3]。

通过本次设计掌握FPGA系统设计的方法,熟悉FPGA设计的相关软件,以及硬件描述语言的使用,了解电子密码锁的系统构成,利用FPGA 实现电子密码锁的设计与实现,可以加深自己对所学专业的认识,关联知识,增强自己的动手能力,积累实践经验,为以后的工作打好基础。

2 现场可编程门阵列FPGA

自1985年Xilinx公司推出第一片大规模现场可编程逻辑器件(FPGA)至今,FPGA已经历了十几年的历史。在这十几年的过程中,可编程器件有了惊人的发展:从最初的1200个可利用门,到今天的25万可利用门,规模增大了200多倍;FPGA供应商也从Xilinx的一枝独秀,到今天近20个厂商的分庭抗争;FPGA从单一的基于SRA结构到今天各种结构类型的出现,都充分体现了可编程器件这一巨大市场的吸引力。

FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低。由于目前电子产品生命周期相对缩短,相近功能产品的派生设计增多等特点,促使FPGA越来越多地取代了ASIC的市场,特别是对国内众多的科研单位来说,小批量、多品种的产品需求,使得FPGA成为首选[5]。

2.1 FPGA的基本结构

FPGA的发展非常迅速,形成了各种不同的结构。按逻辑功能块的大小,FPGA可分为细粒度FPGA和粗粒度FPGA。细粒度FPGA的逻辑功能块较小,资源可以充分利用,但连线和开关多,速度慢;粗粒度FPGA的逻辑功能块规模大,功能强,但资源不能充分利用。从逻辑功能块的结构上分类,可分为查找表结构、多路开关结构和多级与非门结构。根据FPGA内部连线的结构不同,可分为分段互联型和连续互联型。根据编程方式,FPGA 可分为一次编程和可重复编程两种。

FPGA一般可由三种可编程电路和一个用于存放编程数据的SRAM组成,这三种可编程电路是:可编程逻辑块(CLB)、输入/输出模块(IOB)和互

联资源(IR)。CLB是FPGA的主要组成部分,是实现逻辑功能的基本单元。它主要是由逻辑函数发生器、触发器、数据选择器等电路组成。IOB提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。其主要是由输入触发器、输入缓冲器、输出触发/锁存器和输出缓冲器组成。每一个IOB控制一个引脚,可被配置为输入、输出活双向I/O功能。可编程互联资源包括各种长度的金属连线和一些可编程连接开关,它们将各个CLB 之间和IOB之间互相连接起来,构成各种复杂功能的系统。图2.1给出了Xilinx Spartan-Ⅱ芯片内部结构[6]。

图2.1 Xilinx Spartan-II芯片内部结构

2.1.1可配置存储器

FPGA芯片逻辑功能的配置是由按点阵分布于芯片的存储单元——静态存储器(SRAM)实现的,即通过对分布的SRAM的不同加电配置,决定各部分的逻辑定义。对于FPGA器件编程实现,实际上就是由加载于SRAM上的配置数据决定和控制各个CLB、IOB及内部连线PI的逻辑功能和它们之间的相互连接关系。加载不同的配置数据,芯片便实现不同的逻辑功能。配置LCA的数据文件由XACT(Xilinx Automated CAE Tools)开

发系统产生,通过数据配置方式及相应接口加载于芯片中。

2.1.2可配置逻辑块(CLB)

图2.2 CLB结构框图

XC4000系列的CLB(简化框图如图2.2所示)具有13个输入、4个输出。内部由两个独立的四输入逻辑函数发生器、一对触发器和若干个由配置控制的多路转换器组成。逻辑块的输入输出可以接到外部的可编程连线资源。两个四输入逻辑函数发生器(输入分别为F1~F4和G1~G4),可以独立提供四输入的任意定义的布尔函数,它们的输出分别为F′和G′。函数发生器的输出由存储器查找表(look up table,LUT)技术实现,传播延迟与所实现的函数无关。第三个输出为H′的函数发生器可以实现三输入(F′、G′和块外信号H1)的任意布尔函数。由函数发生器生成的信号F′或H′可以被连到X输出端,G′或H′可以被连到y输出端。从

而使一个CLB可以实现两个独立的多达四变量的任意函数,或单个五变量任意函数,或一个任意的四变量函数连同一个五变量函数,或多达九变量的一些函数。在单一逻辑块上实现如此宽的逻辑函数,既减少了所要求的逻辑块数又减少了在信号通路上的时延,达到了增加密度和速度的目的。

在CLB中有两个边沿触发的D触发器,它们具有公用时钟(K)和时钟使能(EC)输入,第三个公用输入(S/R)可以分别地对它们编程为异步置位或复位信号,该输入也可定义为不被使能。另外,还有一个单独的全局置位/复位线,在电源接通或重新配置时由专用复位网线对每个触发器置位或复位。

函数发生器F′和G′的另一种可选方式是使其中的查找存储器用做16×2或32×1位的读/写存储单元阵列使用。这种RAM的速度是很高的,读操作与逻辑延时一样,大约5.5ns,而写操作大约8ns。这是一个新的相当有用的功能,在系统中可以设计寄存器阵列、LIFO堆栈或FIFO缓冲器等。

2.1.3 输入/输出块(IOB)

图2.3 输入输出模块IOB

用户可配置的IOB(见图2.3)为芯片外部引脚和内部逻辑提供了一个界面,每个IOB控制一个外部引脚,并可定义为输入、输出或双向三种功能。当IOB定义为输入时,输入信号经Pad进入输入缓冲器,并根据配置可以直接输入,亦可以通过边沿触发器或电平敏感锁存器输入。当IOB定义为输出时,输出信号可以通过配置选择是否反相,是直接传输到Pad,还是通过边沿触发器寄存后传输。可以选择用输出使能信号(OE)使输出缓冲器是否为高阻状态,以实现三态输出或双向I/O传输。

2.1.4可编程内部连线(PI)

内部连线由一些具有可编程开关点或开关矩阵的金属线段组成,结构对称、规范,适合于建立自动有效的布局布线算法。布线通道的数目由阵列规模决定。

2.2 FPGA的优点

FPGA与CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件的基础上发展起来的。FPGA既继承了ASIC的大规模、高集成度、高可靠性的优点,又克服了普通ASIC设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设计的理想首选。在这十几年的发展过程中,以FPGA/CPLD为代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的数百个门发展到现今的数百万个门。目前,国际上现场可编程逻辑器件著名厂商有Xilinx的XC 系列,TI公司的TPC系列,Altera公司的FIEX系列等。同以往的PAL、GAL等相比较,FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。对用户而言,CPLD与FPGA的内部结构只是稍有不同,但用法一样,所以多数情况下不加以区分[7]。FPGA具有以下特点:

1.FPGA芯片的规模越来越大,其单片逻辑门数已达数百万门。所能实现的功能也越来越强,用FPGA设计,ASIC电路用户不需要投片生产就能得到合用的芯片。

2.FPGA可做其它全定制或半定制ASIC电路的试样片,并且它采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容,它是ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。

3.FPGA内部有丰富的触发器和I/O引脚,用户可以反复地编程、擦除、使用或在外围电路不动的情况下用不同软件实现不同的功能。既能使数字系统适应柔性系统的需求(不同的配置实现不同的功能),又能随着市场需求的变化和技术的发展及时扩展,变更数字系统的功能,提高了电子产品的应变能力。

4.FPGA的保密性好。在某些场合下,根据要求选用防止反向技术的FPGA能很好的保护系统的安全性和设计者的知识产权。

5.FPGA开发工具智能化,功能强大,软件包中有各种输入工具和仿真工具以及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可以完成电路的输入、编译、优化、仿真,直至最后芯片的制作。可以使设计人员能集中精力进行电路设计,使产品快速推向市场。

6.电路设计人员使用FPGA进行电路设计时,软件易学易用[8]。

正是如此,FPGA应用前景广阔,尤其适合于新产品的研制。

2.3 FPGA的设计流程

FPGA设计流程包括系统设计和设计实现,系统方案完成之后即进入设计实现阶段的工作,他以系统方案为输入,进行RTL级描述、功能仿真(RTL 级仿真)、逻辑综合、布线前门级仿真、适配(布局布线)、时序仿真(布线后门级仿真)、时序分析、器件编程、系统验证一系列流程的处理才能完成

FPGA芯片的设计,其设计流程如图2.4所示。需要说明的是,如果仿真验证不对或者某一步有错,就要返回修改。有必要检查和修改的地方有RTL 级描述、系统方案、约束和测试激励等。一般情况下,对RTL级的描述即原理图或者HDL设计代码的修改最多也最有效。修改后要重新走一遍流程。有时要反复修改,经过多次这样的迭代才能完成最后的设计[8]。

在理论上,把VLSI(Ultra Large Scale Integration,超大规模集成电路)的设计描述为6个层次[1,2],即系统级(系统功能、参数定义)、算法级(描述系统功能行为)、RTL级、门级(逻辑门)、电路级(晶体管)、版图级(物理工艺)。每一级又都分3个侧面来描述:行为域描述、结构域描述、物理域描述。但在实际情况中往往把算法级行为域描述或者RTL级行为域描述都称为行为级描述。

图2.4 系统设计流程

对于FPGA的设计而言,不需要关心电路级和版图级,只考虑系统级、算法级、RTL级、门级4个层次的行为域描述和结构域描述即可。上述的

FPGA系统设计中的系统实际上是指系统级和算法级,而“RTL级描述”主要是指RTL级行为域的描述。在门级,由综合工具产生的门级网表来描述。

FPGA的设计流程和相关概念说明如下:

库:指FPGA器件厂家提供的工艺库和EDA工具提供的标准通用库(如IEEE库等)。工艺库中有各种宏功能模块和基本功能单元,含有他们的行为级模型、门级模型、布线模型等信息。

需要说明的是,系统行为仿真和RTL级功能仿真有时要用到某种功能模块,例如RAM模型。对于RAM模型的控制信号,不同的厂家其规定不一定相同,如写使能信号,有的厂家规定高电平有效,有的厂家规定低电平有效。其实,在厂家提供的工艺库中,RAM模型有行为级模型、门级模型、版图级模型等。而行为级模型只是规定其功能,无延时信息,跟工艺无关,但门级模型和版图级模型跟工艺密切相关。解决的方法是系统行为仿真时可以使用高级语言自己建立一个模型或者调用厂家库中提供的行为级模型,功能仿真时调用行为级模型,时序仿真时调用门级模型。

测试激励:指测试文件,他调用FPGA设计的顶层模块,同时产生顶层模块需要的输入信号,称之为激励信号,使用行为描述即可,不要求可综合。仿真时他作为最顶层的文件,从而可以观察FPGA的输出是否正确。所有的仿真都可使用同一个测试激励。

约束:指对逻辑综合和布局布线时的约束。包括器件型号、速度、面积、功耗、引脚分配、时钟网络资源的分配、模块在器件中的定位等约束。一部分在软件中设置,一部分以约束文件的形式存在。

(1)系统行为描述

系统行为描述是指使用硬件描述语言HDL (Hard-ware Description Language)语句的全集来描述算法,模拟系统的行为和功能,不要求所有的

语句都能够综合成电路。事实上,有些语句是专为描述行为而创建的,不能综合(不能用电路来实现其功能)。也可以使用高级语言如C语言来进行描述,此时往往要配合专用的系统设计工具来进行描述与仿真,如SPW等。这种系统算法级行为域的描述可以尽量使用最简洁的语句而不必过多地考虑其硬件实现的诸因素,所以能较快建立系统行为模型,进行行为仿真。

(2)系统行为仿真

主要用来验证系统方案是否正确、是否有缺陷,并可根据仿真的结果来优化系统方案和算法。他使用系统行为描述代码、测试激励、行为级模型库等为输入,利用专用的仿真工具或者系统设计软件来进行功能仿真和优化。

(3)RTL级描述

指原理图(结构描述)或者使用可综合的HDL语句来描述的设计(一般是行为描述)。EDA综合软件只能将RTL级描述综合成逻辑电路。利用综合软件可以检查出所写的代码是否是RTL级代码。对简单的设计而言,可以直接从RTL级开始设计,但对大规模的设计,最好先写系统行为级代码进行行为仿真。如果系统行为仿真正确,就可以将行为级代码转化为RTL级代码。这种转化称之为高层次综合或者行为级综合。转化的方法有2种:一是使用高层次综合工具自动转化,例如Synopsys公司的Behavior Compil-er;二是使用手工方法转化。手工方法使用很普遍,原因是目前高层次综合的理论和方法还不成熟,其工具难求或者其性能没有手工方法好。

(4)功能仿真

也叫RTL级仿真,是指不考虑延时信息的一种仿真,只能验证RTL级的行为描述是否能达到所要求的功能。功能仿真需要的输入是RTL级代码、测试激励和库(有时要调用工艺库中宏功能单元的行为级模型)。可利用专用的仿真工具进行仿真,如Modelsim,VCS等工具。如果仿真不对,则需要

检查和修改RTL级代码或者测试激励甚至系统方案。仿真的过程是先对源代码进行编译,检查是否有语法错误。如果没有错误,就将源代码转换为一种中间格式,便于仿真工具的内部运算。编译的结果自动存放在一个指定的工作目录中,仿真的结果主要以波形文件的形式存放。

(5)逻辑综合

逻辑综合是将RTL级的行为描述转化为使用门级单元的结构描述。门级的结构描述称之为网表。网表文件主要记录的是所用工艺库门级单元之间的互连关系(即门级结构)。综合的输入需要RTL级描述、约束和工艺库。综合时所加的约束一般比较简单,如时钟频率、器件型号和其他综合设置等。综合的过程是translate (转换) +map(映射) +optimize (优化)。转换是将RTL级行为描述转化为RTL级结构描述(使用与工艺无关的通用逻辑门符号表示)。映射将转换后的结果使用工艺库门级单元的连接关系来表示,并根据需要进行优化,形成网表文件。映射是对某种目标器件而言是一种资源分配和优化操作。一般综合工具能将转换后的结果显示为RTL级原理图,也能将网表显示为门级原理图。网表文件中含门级单元的延时信息,对连线延时有预估值或者为零,不同的软件处理的方法可能不同,暂称之为网表文件。网表文件的格式可以表示成标准格式(edif),也可以表示成VHDL 或者Verilog HDL格式(在综合工具中设置)。综合报告文件中含所用逻辑资源、预估出的时钟最高频率、关键路径(延时最长的路径,可在软件中显示)等信息。

(6)布线前门级仿真

布线前门级仿真是门级功能仿真,一般不考虑延时。该仿真的输入需要综合后的门级网表、工艺库和测试激励。有些EDA工具不提供此仿真功能,可以不做。

(7)适配(布局布线)

适配就是将网表文件映射到目标器件中的一种操作,是对目标器件的第二次映射(第一次映射是综合)。即对网表中的每一个门级单元在器件中定位(布局),并使用器件内的连线资源按照网表中的连接关系连接起来(布线)同时要满足引脚分配、时钟线的分配等约束条件。适配的输入需要网表文件

1、工艺库(要使用其中的布线模型等信息)和约束。适配所加的约束比较多,如引脚分配、时钟树的分配、模块在器件中的定位等。适配后产生的文件有网表文件

2、反标文件和编程文件等。根据适配工具和适配设置的不同,产生的网表文件2可以具有不同的格式并可以设置为包含延时信息(包括门延时和线延时)。反标文件含延时信息,使用标准格式(SDF格式)表示。编程文件用于对器件编程下载。

(8)时序仿真

时序仿真是最接近真实情况的一种仿真,因为该仿真含所有的延时信息和约束信息(约束信息包含在网表文件中)。时序仿真的输入需要测试激励、工艺库门级单元模型、网表文件和反标文件。如果网表文件中含有延时信息,则不需要反标文件。时序仿真的结果跟延时关系极大。延时跟工艺有关,特别是深亚微米工艺,线延时大大超过门延时,所以总延时跟布局布线关系极大。如果仿真结果不对,要从约束、综合、布局布线、RTL 级代码等环节上找原因,也可以借助时序分析工具找原因。

(9)时序分析

使用EDA软件的时序分析功能能够分析所有时钟的频率、周期、关键路径和其他所有时钟路径上的延时信息,进行建立时间和保持时间分析和输入到输出、输入到寄存器、寄存器到输出的延时分析等,从而可以找出不满足时序关系的原因所在。时序分析是一个辅助功能,有时可以不做。

基于51单片机的无线电子密码锁课程设计[优质文档]

单片机课程设计报告书 基于89C51单片机 课题名称 无线电子密码锁的设计姓名刘武 学号131220330 学院通信与电子工程学院 专业电子信息工程 指导教师祝秋香讲师 2015年12月20日

基于89C51单片机无线电子密码锁的设计 1 设计目的 (1)了解MCS-51单片机使用方法和熟悉蓝牙模块; (2)掌握AT89C51芯片的使用方法及蓝牙模块的连接与使用; (3)熟悉单片机程序仿真软件Proteus的使用; (4)了解MCS-51单片机开发板工作原理以及芯片的组合; (5)熟悉无线电子密码锁的设计及实现。 2设计思路 2.1 选择设计电路 设计51单片机与蓝牙连接的电路。 2.2 所选设计电路的原因 (1)由于无线电子密码锁的设计需要用到蓝牙模块,用到的单片机资源并不是很多,而51单片机的资源有8位CPU、4KB的ROM、128B的RAM、2个16位定时/计数器、4组8位的I/O、1个串口和5个中断源,可以更有效率的利用到51单片机的资源。 (2)可现实无线功能的模块有:蓝牙模块、无线模块、红外遥控模块,因为相对之下,蓝牙模块更容易实现,更容易操作,最后选择蓝牙模块实现手机远程控制。 (3)为了提高效率,可以利用51单片机开发板的硬件,用LED灯模拟密码锁的开关,当LED灯亮起时代表锁已经开启,熄灭则代表密码锁被关闭。应用在实际中可用继电器替代LED的亮灭去控制强电开关。 3 设计过程 3.1 设计总框图 无线电子密码锁分为两个主要功能模块:51单片机模块,蓝牙实现模块。这两个模块共同工作完成本电路的功能实现。其中利用AT89C51芯片来实现51单片机模块功能,完成数码管、发光二极管的实现,同时利用HC06蓝牙模块来

密码锁课程设计报告

江苏师范大学科文学院本科生课程设计 课程名称:数字电子技术基础 题目:数字密码锁 专业班级: 14电信2班 学生姓名:王坤 学生学号: 148326228 日期: 2016年6月25日 指导教师:魏明生

指导教师签字: 年月日

目录 摘要...................................................................................................II Abstract................................................................................................ II 1 绪论.. (1) 1.1 背景 (1) 1.2 目的 (1) 2 设计方案简述 (1) 2.1 设计任务 (1) 2.2 设计原件需求 (2) 3 详细设计 (2) 3.1 设计原理图 (2) 3.2 密码验证模块 (3) 3.3 计时模块 (4) 3.4 锁定输出 (5) 3.5 逻辑组合 (6) 4 设计结果及分析 (7) 4.1 总电路图 (7) 4.2 问题解决与分析 (7) 4.3 测试数据 (9) 5总结 (10) 参考文献 (11)

摘要 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替了传统的机械式密码锁,电子密码锁具有安全性高、成本低、功耗低、易操作等优点,受到广大用户的欢迎。本次课程设计简述数字密码锁的设计、制作过程,用74LS138为3线-8线译码器、555为计时模块、D触发器74LS175为锁定输出、74LS00为逻辑组合模块构成该数字密码锁的设计思想和实现过程。该课程设计可以预先设定密码和修改密码等方便操作处理,通过发光二级管颜色的转变辨别密码的正确和密码锁的开启。通过该课程设计,主要解决与我们平常生活关系密切的密码锁的问题,且制作该设计所需要元器件的成本较低,适合学生对数字电路的实践所用。 关键词:数字密码锁;74LS138;555;74LS175;74LS00 Abstract In daily life and work, security, residential units and departments of the documents, financial statements, and some personal information in order to save more than locking solutions. If the use of traditional mechanical key to unlock, people often need to carry multiple keys, a very inconvenient to use, and after the loss of key security that is greatly reduced. In the field of security and protection, anti-theft alarm function electronic combination lock gradually replace the traditional mechanical combination lock, electronic lock has the advantages of high safety, low cost, low power consumption, easy to operate, welcomed by the majority of users. The curriculum design of digital code lock design, process, using 74LS138 for 3 -8 decoder, 555 for the timing module, D triggers 74LS175 lock output, 74LS00 logic combination module design idea of the digital password lock and implementation process. The curriculum design can be pre-set password and modify passwords and other convenient operation, opening by discerning the password change light emitting two tubes of color and correct password lock. Through the curriculum design, mainly to solve the daily life with our close locks, and making the design required components with low cost, suitable for students to use the practice of digital circuit. Key words: the digital combination lock; 74 ls138; 555; 74 ls175; 74 ls00

密码锁课程设计

课程设计报告 课程设计题目:4位串行数字密码锁 学号 学生姓名:谢渊良 专业:通信工程 班级:1421302 指导教师:钟凯 2017年1月5日 1.摘要 随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。本设计使用EDA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。使用EDA环境完成电路的系统综合设计和仿真。用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁。本设计基于Verilog HDL 语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为键盘模块、连接模块、控制模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。 关键字:密码锁 Verilog HDL 2.设计内容 设计一个4位数字密码锁子系统 1)1.2设计要求开锁密码为4位二进制,当输入密码与锁内给定的密码一致时,方可开锁。否则进入“错误”状态,发出报警信号。 2)锁内的密码可调。 3)串行数字密码锁的报警,直到按下复位开关,才停下。此时,数字密码锁又自动等待下一个开锁状态。 3.系统设计 本设计中,FPGA系统采用硬件描述语言Verilog按模块化方式进行设计,并用modersim软件对各个模块进行编写仿真。 3.1键盘模块 键盘电路理想接口图: Set

本模块采用2×2的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个按键,flag产生一个矩形波,作为连接模块的触发信号。同时key_value值为所按下键的编码值,与flag一同传入连接模块。 实际设计接口图: 当输出kevalue:11值的时候,flag再次出现上跳沿。实际上,上面的图写的测试文件是有一点错误的,当a扫描到第三个值(01)时,b在实际电路中应该是01而不是11,此时根据程序flag应置为1,当然此时flag本来就是1,不会发生错误。在实际中,时钟频率跳的如此之快,人按一下按键的持续时间还是有的,所以flag应在按键按完后再下降下来。不然多出很多无用的矩形波,这个装置就没用了。 3.2连接模块 连接模块接口图: keyvalue 送入连接模块进行运算,当连续四个0和1键按下时,中,如果按下的是set键,则set置1,如果按下的是0键,则a_led置1,若是1键,则b_led 置1。 这里有一个需要注意的点是,当第一次按了0键后马上按reset键,再按一下1键时,a的值是1,而不是0。每次按了reset或set,a,b,c,d都是要重新赋值的,这才符合实际情况。 3.3控制模块: 因为这个密码锁是循环使用的,就一定有不同的状态。这里采用有限状态机的方法进行设计。所以把开锁过程分为三个部分: 1.等待输入状态; 2.重设密码状态; 3.输出结果状态; 状态转换图如下所示: 控制模块接口图: flag2 ena

电子密码锁单片机课程设计

电子密码锁单片机课程设计

单片机原理与应用技术课程设计报告 电子密码锁设计 专业班级:电气 124 姓名: 时间:2015年1月2日 指导教师:秦国庆 2015年1月2日

电子密码锁课程设计任务书 1.设计目的与要求 设计出一个电子密码锁。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能: (1)状态显示功能:锁定状态时系统用3位数码管显示OFF, 用3位码管显示成功开锁次 数;成功开锁时用3位数码管 显示888,用3位数码管显示 成功开锁次数。 (2)密码设定功能:通过一个4×4的矩阵式键盘可以任意设 置用户密码(1-26位长度), 同时系统掉电后能自动记忆 和存储密码在系统中。(3)报警和加锁功能:密码的输入

时间超过12秒或者连续3次 输入失败,声音报警同时锁定 系统,不让再次输入密码。此 时只有使用管理员密码方能 对系统解锁。 2.设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出; 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。 1

电子密码锁 电气124 赵政权 摘要:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本设计利用51单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成电子密码锁的设计成品。其中数码管使用两组三位一体共阳数码管,数据存储器使用AT24C04芯片通过IIC协议实现数据的传输,矩阵键盘用执行效率极高的代码扫描控制。使用Keil4.6编写程序代码,用Proteus进行仿真,无误后使用Altium制图,最终做成能使用的成品。 关键词: 51单片机 IIC协议矩阵键盘动态显示 Keil Proteus Altium 2

电子电路课程设计密码锁(满分实验报告)

密码锁设计报告 摘要: 本系统是由键盘和报警系统所组成的密码锁。系统完成键盘输入、开锁、超时报警、输入位数显示、错误密码报警、复位等数字密码锁的基本功能。 关键字:数字密码锁GAL16V8 28C64 解锁与报警 1

目录: 一、系统结构与技术指标 1、系统功能要求 (4) 2、性能和电气指标 (5) 3、设计条件 (5) 二、整体方案设计 1、密码设定 (6) 2、密码判断 (6) 3、密码录入和判断结果显示 (6) 4、系统工作原理框面 (7) 三、单元电路设计 1、键盘录入和编码电路图 (8) 2、地址计数和存储电路 (12) 3、密码锁存与比较电路 (12) 2

4、判决与结果显示电路 (14) 5、延时电路 (15) 6、复位 (17) 7、整机电路图 (19) 8、元件清单……………………………………………19四、程序清单 1、第一片GAL (21) 2、第二片GAL (23) 五、测试与调整 1、单元电路测试 (25) 2、整体指标测试 (26) 3、测试结果 (26) 六、设计总结 1、设计任务完成情况 (27) 2、问题及改进 (27) 3、心得体会 (28) 3

一、系统结构与技术指标 1.系统功能要求 密码锁:用数字键方式输入开锁密码,输入密码时开锁;如 果输入密码有误或者输入时间过长,则发出警报。 密码锁的系统结构框图如下图所示,其中数字键盘用于输入 密码,密码锁用于判断密码的正误,也可用于修改密码。开锁LED1亮表示输入密码正确并开锁,报警LED2亮表示密码有误或者输入时间超时。 开锁green 键盘密码锁 错误red 4

密码锁-单片机课程设计

1 绪论 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性和方便性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点随着人们对安全的重视和科技的发展,对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。具有报警功能的电子密码锁保密性高,使用灵活性好,安全系数高,密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有推广价值。电子密码锁采取电子电路控制,通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务。 本次设计使用AT89S52单片机构成最小系统,接以键盘,报警系统,液晶显示构成人性化的方便易用的电子密码锁。

2 设计任务、功能要求说明及总体方案介绍 2.1 设计目的与任务 本设计采用AT89S52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD 1602A等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统。 2.2 设计内容及要求 (1)课程设计中,锁体用LED代替(如“绿灯亮”表示开锁,“红灯亮”表示闭锁)。 (2)其密码为方8位十进制代码(代码自设定)。 (3)开锁指令为串行输入码,当开锁密码与存储密码一致时,锁被打开。当开锁密码与存储密码不一致时,电路则报警并实现自锁。(报警动作为响1分钟,停10秒) (4)选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。安装调试设计电路,查阅至少5篇参考文献。按《湖南工学院课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 2.3 设计总体方案及工作原理说明 采用以单片机AT89S52为核心的控制方案,总体框图见图1。 单片机作为本装置的核心器件,在系统中起到控制声光报警、以及数码动态显示的作用。一般来说在选择单片机时下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O 端口,以及控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接加

数字电子技术课程设计电子密码锁

课程设计说明书 课程名称: 数字电子技术课程设计 题目:电子密码锁 学生姓名: 专业: 班级: 学号: 指导教师: 日期:年月日

电子密码锁 一、设计任务与要求 1.用电子器件设计制作一个密码锁,使之在输入正确的代码时开锁。 2.在锁的控制电路中设一个可以修改的4位代码,当输入的代码和控制电路的代码一致是锁打开。 3.用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁 4.如5s内未将锁打开,则电路自动复位进入自锁状态,并发报警信号. 二、方案设计与论证 1、用按键输入四位十进制数字,输入密码要存储。 2、比较输入密码和原始密码.当输入正确密码时,给出开锁信号,开锁信号用一个绿色指示灯表示,绿灯亮表示密码输入正确;如果输入密码不正确,用红灯表示。 3、锁的开关用红灯和绿灯表示,一次只能亮一盏。红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。 4、设置倒计时电路和自锁电路。如果密码在5s内未能输入正确则发出报警声,并且自锁电路。 5、设置密码设置开关,开关闭合后,允许设置密码,设置好密码后,打开此开关。 6、需要在输入密码开始时识别输入,并由此触发计时电路. 方案一用74LS147译码器来把按键输入转化为二进制。通过8片四位寄存器74LS194实现密码功能,其中四片用来存储预置密码,另四片则用来存储输入的密码。当密码开始输入时开始计时,通过74LS192计数器实现计时功能;然后在密码输入期间,用74LS138数据选择器来选片存储。数据选择器的输入端又一个两位的二进制的加法计数器来控制,当键盘有按键输入时计数器就加1,当一个按键按完后会轮到下一个芯片存储。自锁功能利用74LS138来控制.通过四片74LS85芯片判断原始密码和输入密码是否相同,接着用指示灯来表示密码的输入正确与否,如果密码没有输入正确的话,则红灯亮,否则则绿灯亮。若是没在规定时间输入正确密码,则会发出警报信号(蜂鸣器响).

密码锁verilog课程设计

课程设计报告课程设计题目:4位串行数字密码锁 学号:201420130326

学生姓名:谢渊良 专业:通信工程 班级:1421302 指导教师:钟凯 2017年1月5日 1.摘要 随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。本设计使用EDA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。使用EDA环境完成电路的系统综合设计和仿真。用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁。本设计基于Verilog HDL语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为键盘模块、连接模块、控制模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。 关键字:密码锁Verilog HDL

2.设计内容 设计一个4位数字密码锁子系统 1)1.2设计要求 开锁密码为4位二进制,当输入密码与锁内给定的密码一致时,方可开锁。否则进入“错误”状态,发出报警信号。 2)锁内的密码可调。 3)串行数字密码锁的报警,直到按下复位开关,才停下。此时,数字密码锁又自动等待下一个开锁状态。 3.系统设计 本设计中,FPGA 系统采用硬件描述语言Verilog 按模块化方式进行设计,并用modersim 软件对各个模块进行编写仿真。 3.1键盘模块 键盘电路理想接口图: flag Set Reset key_value

设计原理: 本模块采用2×2的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个按键,flag 产生一个矩形波,作为连接模块的触发信号。同时key_value 值为所按下键的编码值,与flag 一同传入连接模块。 实际设计接口图: flag key_value 键盘模块仿真图:

单片机电子密码锁课程设计

单片机技术及应用综合训练 (设计报告)

前言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。 本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。 本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。 关键词:电子密码锁、报警、液晶显示

目录 一、选题要求 (1) 二、硬件电路设计 (1) 2.1 51单片机 (2) 2.2 键盘电路 (2) 2.3 液晶显示电路 (2) 2.4 警报电路 (3) 2.5 密码储存电路 (3) 2.6 晶振、复位及关锁 (3) 三、软件设计 (4) 四、软硬件调试结果 (9) 4.1 电路总原理图 (9) 4.2 调试结果 (10) 五、总结 (11)

一、选题要求 本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为0~9,用户可以自行设定和修改密码。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警,期间输入密码无效,以防窃贼多次试探密码。6位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下: 1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的 更替而使锁的密级下降。 3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 4) 无活动零件,不会磨损,寿命长。 5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 6) 电子密码锁操作简单易行,一学即会。 二、硬件电路设计 下面是整个设计的流程图:

电子密码锁课程设计

目录 摘要 本次课程设计的题目是电子密码校验设计,由输入密码、设定密码、寄存电路、比较电路、显示电路、修改密码等模块组成。 该电子密码锁利用数字逻辑电路,实现对锁的电子控制,突破了传统的机械锁的单一性、保密性低、易撬性的缺点,数字电子密码锁具有保密性高、使用灵活性好、安全系数高的优点。

主要工作部分是将输入密码与正确密码进行比较,密码正确时绿色发光二极管亮,密码错误则红色发光二极管亮。输入电路将6位密码并行输入,密码是否相等利用与非门将输入的密码和预定密码进行比较,当相等时便触发绿色发光二极管,不相等则作用到红色发光二极管和蜂鸣器。 1.设计目的 本课程为电子、通信类专业的独立实践课,该课程设计建立在电路基础、低频与高频电子线路等课程的基础上,主要让学生加深对电子线路理论知识的掌握,使学生能把所学的知识系统地、高效地贯穿到实践中来,避免理论与实践的脱离,同时提高学生的动手能力,并在实践中不断完善理论基础知识,有助于培养学生综合能力。 2.设计要求 1)要求电子器件设计制作密码锁的控制电路,使之在输入正确的代码时,输出信号以 启动执行机构动作,并且用红、绿LED指示关锁、开锁状态。 2)密码锁控制器中存储一个4位代码,当开锁按钮开关设置9位,其中只有4位有效) 的输入代码等于存储代码时启动开锁控制电路,并且用绿灯亮、红灯灭表示开锁状态。 3)从第一个按钮触动后的5秒内若未能将锁打开,则电路自动复位并由扬声器发出 20秒的报警信号,同时用绿灯灭、红灯亮表示关锁状态。 4)要求性能可靠、操作简便。 5)密码锁控制器中存储的4位密码可以修改。 3.方案选择 第一方案555集成电路构成的密码锁电路 图3-1555时基集成电路组成的电子密码锁电路

电子密码锁单片机课程设计

湖南学院 课程设计 课程名称 课题名称电子密码锁设计 专业测控技术与仪器 班级测控 学号 姓名 指导教师 年月日

湖南学院 课程设计任务书 课程名称 课题电子密码锁设计 专业班级测控 学生姓名 学号 指导老师 审批 任务书下达日期年月日 任务完成日期年月日

设计内容与设计要求 设计内容: 1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的 密码为“12345”共5位密码。 2、密码的输入:采用两个按键来完成密码的输入,其中一个按 键为功能键,另一个按键为数字键。在密码都已经输入完毕并 且确认功能键之后,才能完成密码的输入过程。然后进入密码 的判断比较处理状态并给出相应的处理过程。 3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下 并开始进入按键识别状态时,按键禁止功能被激活,但启动的 状态是在3次密码输入不正确的情况下发生的。 设计要求: 1、设计方案要合理、正确; 2、系统硬件设计及焊接制作; 3、系统软件设计及调试; 4、系统联调; 5、写出设计报告。

主要设计条件 1、MCS-51单片机实验操作台1台; 2、PC机及单片机调试软件; 3、单片机应用系统板1套; 4、制作工具1套; 5、系统设计所需的元器件。 说明书格式 1.封面 2.课程设计任务书 3.目录 4.系统总体方案设计 5.系统硬件设计 6.软件设计(包括流程图) 7.系统的安装调试说明 8、总结 9、参考文献 10、附录(源程序清单及硬件原理图等); 11、课程设计成绩评分表。

进度安排 设计时间为两周 第一周 星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论 星期二、确定总体设计方案 星期三、硬件模块方案设计 星期四、软件模块方案设计 星期五、设计及调试 第二周 星期一、设计及调试 星期二、设计及调试 星期三、总调 星期四、写说明书 星期五、上午:写说明书,整理资料 下午:交设计资料,答辩 参考文献 [1]、《微型计算机原理及应用》许立梓编机械工业出版社 2002 [2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社 2000 [3]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社 2000 [4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版 社2000 [5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社 2001 [6]、《微型计算机接口技术》邓亚平编清华大学出版社 2001 [7]、《单片机原理及及应用》王迎旭编机械工业出版社 2001 [8]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社 2002 [9]、《单片机实用技术问答》谢宜仁主编人民邮电出版社 2002

简易电子密码锁课程设计

江西理工大学应用科学学院 微机控制系统课程设计报告 题目:简易电子密码锁 姓名: 学号: 专业班级: 指导教师: 完成时间: 设计报告综合测试平时总评 格式(10分) 内容 (10分) 图表 (5分) 功能测试 (35分) 答辩 (20分) 考勤 (20分)指导教师签名:

目录 摘要.................................................... - 1 - 第一章系统概述.. (2) 第二章基本功能设计.................................... - 3 - 2.1 实验任务........................................ - 3 - 2.2 基本设计要求.................................... - 3 - 2.2.1 基本要求.................................. - 3 - 2.2.2发挥部分 .................................. - 3 - 2.3 主要元件介绍 (3) 2.3.1 P89C51芯片 (3) 2.4 系统框图 (5) 第三章硬件设计 (5) 3.1 硬件电路的设计 (5) 3.1.1 硬件工作接线口 (5) 3.1.2 LED显示器结构与原理 (5) 3.1.3 复位电路 (7) 3.1.4 振荡电路 (7) 3.1.5 按键设置 (8) 3.1.6 报警器和发光二极管 (9) 3.2 硬件电路图 (9) 第四章软件设计 (11) 4.1 系统软件设计 (11) 4.1.1密码开锁功能 (12) 第五章系统PROTUSE仿真图 (13) 第六章设计总结 (16) 参考文献 (17) 附录 (18)

数字逻辑电路课程设计电子密码锁

数字逻辑电路课程设计 课题:电子密码锁设计 姓名: 班级:13通信 学号: 成绩: 指导教师: 开课时间:

目录 摘要 (1) 一课程设计目的内容及安排 (2) 1.1设计目的 (2) 1.2设计内容 (2) 1.3设计安排 (2) 1.4设计内容 (2) 二电子密码锁设计要求及总框图 (3) 2.1设计要求 (3) 2.2总框图 (4) 三各模块电路设计 (5) 3.1密码输入存储比较模块 (5) 3.2五秒计时电路 (6) 3.3二十秒计时电路 (8) 3.4报警电路 (10) 3.5总电路 (11) 四设计心得 (12) 五参考文献 (13)

电子密码锁 摘要:设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁;从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。密码输入存储及比较部分使用芯片74LS194及74LS85。五秒及时部分采用芯片74LS161和数码显示管。二十秒报警电路由74LS160,555定时器组成的多谐振荡器,LED灯和蜂鸣器组成。利用multisim对电路进行仿真可以得到结果。 关键词:电子密码锁,计时电路,报警电路

一课程设计目的内容及安排 1.1设计目的 1 根据设计要求,完成对交通信号灯的设计。 2 加强对Multisim10仿真软件的应用。 3 掌握交通信号灯的主要功能与在仿真软件中的实现方法。 4 掌握74LS160,74LS192等功能。 1.2 设计内容 设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁; 在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,开锁; 从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。 1.3设计安排

课程设计-密码锁

课程设计课程名称: 设计题目: 专业: 姓名: 学号:

一、设计内容和要求 题目:密码锁 该锁有4个密码拨动开关(设定0和1)来设置密码,一个开箱钥匙孔(能接通电池)。当用钥匙开箱时,如果输入的4位密码正确,箱被打开;否则,电路将发出警报(发光二极管亮表示)。要求锁的密码在第一次使用时能由用户自行进行一次性设定(机械方式)。 具体要求: 1)写出该组合逻辑电路的分析和设计方法; 2)画出电路原理图,标明要使用的芯片。 二、电路设计 1.题目分析 从题目要求来看,该密码锁必须具备以下几个条件: (1).所设置的密码必须为4位,例如1000。 (2).密码错误时,必须发出警报,此时二极管亮。 (3).可以进行密码设定。 2.设计思路 因为每一位密码只有两个状态,即0和1,因此可以用单刀双掷开关结合高低电平来实现密码的设定以及输入,而设定密码与输入密码的比对可以通过异或门来实现。具体可以是4个异或门连接输入端,然后与反向器相连接,再连接4输入与非门,最后连接一个开关,一个500欧姆的限流电阻,一个发光二极管。 3.具体电路 总电路图如下图所示:

开始的8个单刀双掷开关和VCC以及GND部分是密码的设定以及输入部分,期中J2-J5是密码的设定,J6-J9是密码的输入。开关拨到上输入1,开关拨到下输入为0。上图的设定密码为1010,此时输入密码也为1010,密码正确,因此发光二极管不亮。如果输入密码为1011,此时与设定密码不相符,就会发出警报,表现为二极管发光,如下图: 从图可以看出,二极管发出绿光,说明密码错误,需要重新输入。 开关J1与开箱钥匙孔相连接。当用钥匙开箱时,开关J1闭合,电路接通。 如果密码错误二极管就会发光。 4.电路分析 异或门电路的性质:两个引脚输入相同时输出为0,输入相异时输出为1。由此可知,如果设置密码与输入密码相同时,U9A的输出电平为低电平,因此发光二极管不发光。如果设置密码与输入密码不同,则U9A的输出电平为高电平,此时二极管发光。如果J1断开,即不用钥匙开箱,则无论输入是什么,都不可能发光。如果J1接通,即用钥匙开箱,则需要满足输入与设定不同是才会发光。 5.芯片需求 54LS86是一个有4二输入异或门的芯片,引脚图如下:

单片机电子密码锁课程设计

单片机电子密码锁 课程设计 1

基于单片机的电子密码锁设计 一、设计要求和条件 1.1 设计要求 根据单片机开发板所提供的元件特性和硬件电路, 编写相关的程序, 经过实验开发板实现电子密码锁在LCD1602上显示的功能。 1.搭建proteus仿真电路图平台, 模拟单片机要实现的功能; 2.焊接单片机系统开发板; 3.编写程序, 实现密码锁相关功能; 4.下载并调试程序, 实现密码锁的具体功能。 1.2 设计目的 1.熟练掌握KEIL软件的使用方法; 2.熟练掌握PROTEUS软件的使用方法; 3.掌握单片机I/O接口的工作原理; 4.掌握中断系统的工作原理; 5.掌握液晶LCD1602的工作原理及编程方法; 6.掌握蜂鸣器的编程使用; 2

7.掌握行列式键盘的工作原理及编程使用方法; 8.掌握单片机的ISP下载使用方法。 1.3 功能概述 本设计是基于单片机的密码锁设计方案, 根据要求, 给出了该单片机密码锁的硬件电路和软件程序, 同时给出了硬件设计方案、软件流程图、C语言源程序及详细注释等内容, 由于单片机实验板上的矩阵键盘为3*3的, 则规定0-5号键为数字键, 6-8号键为功能键, 其中该密码锁的具体功能介绍如下: (1)按”8”号键则输入密码, 初始密码为012345, 在LCD1602上显示密码值为”******”( 密码是保密的) , 输完6位后键盘就锁定, 在LCD1602上显示密码是否正确, 若输入的密码长度小于6位, 则1602等待密码输入。 (2)若密码输入正确后, 则绿色的发光二极管亮表示开锁, 而且1602上显示”you are right!”, 等待是否修改密码。 (3)密码输入错误时显示”code is wrong”, 接着会给你第二、第三次机会输入密码, 如果三次密码都错误时, 发出”叮咚”的报警声, 且红色报警指示灯不停闪烁, 按复位键清除报警。 3

数电课程设计电子密码锁模板

数电课程设计电子 密码锁

数字逻辑设计 课程设计报告书 题目名称: 电子密码锁 学院: 光电信息学院 小组成员: 钟永捷 侯晨涛 徐昊 指导教师: 李力 日期: 6月28日 一、小组成员分工情况

侯晨涛: 所有编程工作、资料查找工作量: 60% 钟永捷: 辅助编程、图表制作、资料查找工作量: 20% 徐昊: 论文写作、图表制作、资料查找工作量: 20% 二、题目分析 1.输入信号 经过扫描键盘的行与检测键盘的列得到输入信号。 2.输出信号 经过译码器得到的显示器显示信息, 开关锁动作。 三、设计总框图 四、各模块说明 (一)键盘扫描模块 1.原理 经过时序信号产生脉冲, 不间断地向矩阵键盘的行输入1110-1101-1011-0111的循环

序列。同时将各列的电平置高, 检测矩阵键盘各列的电平变化。若在一定时间内, 扫描到第n 列电平为零时恰好第m 行的输入电平也为零, 则判断键盘上[]n m ,位置上键被按下。 2. 模块框图 3. 状态表 此模块只需要经过编码器实现即可, 假定前四位表示各行扫描结果, 后三位表示各列扫描的结果。

动作行输入列输入状态命名编码输出按下”0”键0111 101 S0 0000 按下”1”键1110 110 S1 0001 按下”2”键1110 101 S2 0010 按下”3”键1110 011 S3 0011 按下”4”键1101 110 S4 0100 按下”5”键1101 101 S5 0101 按下”6”键1101 011 S6 0110 按下”7”键1011 110 S7 0111 按下”8”键1011 101 S8 1000 按下”9”键1011 011 S9 1001 按下”#”键0111 011 S10 1010 按下”*”键0111 110 S11 1011 4.仿真结果

电子密码锁课程设计报告新编

电子密码锁设计任务书1、设计目的 (1)掌握电子密码锁工作原理。 (2)熟悉数字集成电路的设计和使用方法。 (3)熟悉Protel/multisim软件的使用。 2、设计任务 (1)用电子器件设计制作一个密码锁,使之在输入正确的代码时开锁。 (2)在锁的控制电路中设一个可以修改的8位代码,当输入的代码和控制电路的代码一致时锁打开。 (3)用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。 (4)当开锁输入码与密码不一致时发出报警信号。连续3次输入错误则进入自锁状态。(5)其他功能可以自行扩展。 3、设计要求 (1)合理的设计硬件电路,说明工作原理及设计过程,画出相关的电路原理图;(2)选择常用的电器元件(说明电器元件选择的过程和依据); (3)进行数字电路仿真; (4)按照规范要求,按时提交课程设计报告(打印或手写),并完成相应答辩。 4、参考资料 (1)毕满清主编.电子技术实验与课程设计.北京:机械工业出版社,2005 (2)胡奕涛主编.电子技术实践教程.北京:北京邮电大学出版社,2007 (3)苏文平,等编着.电子技术实践与制作教程.北京:国防工业出版社,2007 (4)康华光主编.电子技术基础:模拟部分.北京:高等教育出版社,1988 电子密码锁设计报告 目录 一.设计任务和要求 (3) 二.设计的方案的选择与论证 (3) 电路设计的多种方案 (3)

方案论证 (4) 方案选择 (4) 三.电路设计计算与分析 (5) 开关编码电路 (5) 密码存储及显示电路 (7) 密码验证电路 (10) 开关锁报警电路 (10) 密码锁定电路 (12) 四.总结及心得 (13) 五.附录 (16) 电路原理图 (16) 元器件明细表 (17) 六.参考文献 (18) 一.设计任务和要求 用电子器件设计制作一个数字密码锁,红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。具体要求如下: (1)在锁的控制电路中设一个可以修改的8位数字密码; (2)设置密码时指示灯不亮,也不会发出报警信号;设置完密码后密码锁处于关锁状态(即红灯亮,绿灯灭),此后输入正确密码时密码锁开锁且不报警,输入错误时密码锁保持关锁状态并报警; (3)连续3次输入错误时,密码锁立刻自动锁定30秒钟,即在30秒内输不进去密码,因此也开不了锁;30秒之后密码锁自动退出锁定状态,此时可以正常输入密码; (4)输入密码的过程中不会报警,只有在输入完成后,密码锁才会判断密码是否正确以及执行开/关锁和是否报警的操作。 二.设计的方案的选择与论证 电路设计的多种方案

密码锁课程设计(开发板实现)

目录 1 引言 (1) 2主要元器件介绍 (2) 2.1主控芯片AT89S51 (2) 2.1.1 AT89S51性能简介 (2) 2.1.2 AT89S51引脚功能说明 (3) 2.2 LCD1602显示器 (5) 2.2.1接口信号说明 (5) 2.2.2主要技术参数 (5) 2.2.3 1602基本操作步骤 (5) 3系统硬件 (7) 3.1设计原理 (7) 3.2电路总体构成 (7) 3.3键盘输入部分 (8) 3.4 LCD1602显示 (8) 4系统软件设计 (10) 4.1主程序模块 (10) 4.2按键功能模块 (11) 4.3修改密码模块 (13) 4.4开锁模块 (14) 参考文献 (16) 附录 (17)

1引言 锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。 在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。 本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定。修改密码之前必须再次输入密码,以防止误操作。

相关文档
最新文档