




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(20112011 届)届)毕业设计毕业设计题 目: 基于 PLD 的电子密码锁设计 姓名: 专业: 电子信息工程 班级: 学 号: 指导教师: 导师职称: 年 月 日 I基于 PLD 的电子密码锁设计摘摘 要要本文针对电子密码锁的设计来论述,主要运用的是 VHDL 语言,这种语言能与 PLD 器件结合,具有很强的仿真能力和综合能力。电子密码锁系统主要由数字密码输入电路、密码锁控制电路和密码锁的显示电路三部分构成。其中数字密码输入电路的目的是为了完成密码的输入功能;而密码锁控制电路则是整个电路控制的核心,是为了完成对数字键功能键输入的响应和控制;密码锁显示电路是通过七段译码电路从而实现显示功能
2、。此次设计的开发工具基于 Xilinx 公司的 ISE 软件,仿真工具则为Modelsim SE。设计中对主要模块的程序进行了仿真,仿真结果表明其功能满足设计的需要。关键词:电子密码锁,PLD,VHDLII Design of Electronic Password Lock Based on PLDAbstractIn this paper, a design of electronic password lock is discussed, using the VHDL language which can be combined with PLD and have strong simu
3、lation and synthesis capability. The system is composed of three parts, which are the password input circuit, the password control circuit and the display circuit, the function of the first part is for the password input. The second part is the core of this design, which is responsible for the contr
4、ol and response for the number keys and other function keys. The last part is for the display of password through seven-segment decoder circuit.The platform of this design is ISE from Xilinx Company and the tool of simulation is Modelsim SE. The function match the design requirements after the timin
5、g simulation for the codes of main modules.Keywords: Electronic Password Lock, Programmable Logic Device, Very Hardware Description Language III目录摘 要.IIIAbstract.IV1 绪论.11.1 电子密码锁的意义.11.2 电子密码锁的简介及特点.11.3 电子密码锁国内外发展现状.11.4 可编程器件 FPGA / CPLD 与单片机比较的优劣.21.5 电子密码锁系统的设计要求.32 设备方案设计与总体设计.42.1 电子密码锁系统设计方案
6、.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.1Xilinx ISE 5.x 特点介绍.153.2 设计流程.163.2.1 设计输入.173.2.2 功能仿真.173.2.3 设计综合.173.2.4 设计实现.173.2.5 时序仿真.174 系统扩展思路.185 总结.195.1 本设计的总结归纳.19
7、5.2 设计过程中遇到的问题及如何解决.195.3 体会.19IV参考文献.20致谢.21附录 I 键盘输入消斗电路源程序、原理图及仿真图.22附录 II 密码锁输入源程序、原理图及仿真图.24附录 III 密码锁控制源程序、原理图及仿真图.28附录 IV 按键译码显示源程序、原理图及仿真图.32基于 PLD 的电子密码锁设计11 绪论1.1 电子密码锁的意义近年来,随着社会经济的不断发展,人们生活水平的日益提高,安全防盗问题已得到越来越多人的关注。安全可靠、使用方便的电子密码锁成了人们防盗的首选,例如保险柜、门卡系统、自动售货机等都涉及到了密码锁。以 EDA开发工具为工作平台,使用 PLD
8、可编程器件和 VHDL 语言设计的电子密码锁具有密码预置,误码锁死等功能。这种设计方法不仅简化了系统结构,而且提高了系统的可靠性和保密性。通过运用该可编程逻辑器件开发的数字系统能方便地对所设计的数字电路进行升级和改进。11.2 电子密码锁的简介及特点电子密码锁是通过密码的输入对电路工作或芯片工作进行控制,再通过电路设备来控制机械的开关闭合,完成控制锁的开关任务的一种电子产品。其在实际生活应用中使用非常 之广,主要的功能是用来保护某些需要保密的东西,以避免其他的人员使用不正当的手段对其进行非法操作。2电子密码锁的特点:保密性高,即与普通的机械锁相比较,其运用的是密码开锁,随机按键开锁的成功率比较
9、低;便于操作、方便,即出门不用携带钥匙而且无需担心钥匙掉落或忘带,开门时输入密码锁自动打开,轻松又方便;防盗,即当其他人员输入密码多次错误时,会启动报警系统,提醒家人和邻居。1.3 电子密码锁国内外发展现状锁自古以来就是把守护门的铁将军,人们对它要求非常高,不仅要安全可靠的防盗,而且要使用方便,这也是制锁者长期以来研制的目标。随着电子技术的快速发展,各类电子产品都应运而生,电子密码锁就是其中的一个。据有关资料介绍,电子密码锁的研究始于 20 世纪 30 年代,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷是为提高锁的安全性。当今智能电子密码锁发展已经到了
10、非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进 毕业设计2都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。3当前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。在实际应用中,由于程序极易跑飞
11、,系统的可靠性能比较差。基于现场可编程逻辑门阵列 FPGA 器件的电子密码锁,用FPGA 器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大大提高。由于 FPGA 具有现场可编程功能,因此,当设计需要改变时,只需改变 FPGA 中的控制和接口电路,利用 EDA 工具将更新后的设计下载到 FPGA 中即可,无需改变外部电路的设计,大大提高了设计的效率,有极大的发展前景。1.4 可编程器件 FPGA / CPLD 与单片机比较的优劣(1)单片机要深入理解是很有难度的。单片机一般适合去处理一些实时性的东西而且速度很快,比较低级的那种是面对硬件工作的,大多数都是比较高级的使用汇编语言对
12、单片机进行软件编程,所以说要会用单片机一定要先学会汇编语言,汇编语言的难度还是很高的。编程还跟硬件的连接方法有关系。FPGA/CPLD 是使用标准的硬件描述语言 VHDL,它可以对所有型号的 FPGA / CPLD 进行编程,而且 VHDL 是一种行为描述语言,它是不需要对系统的硬件结构了解了之后再进行编程的,编程不需要联系硬件那么就突破了软件与硬件之间的联系,做一个电路板只需要很短的时间,那么就让学习与设计的效率得到很大的提高。 (2)FPGA / CPLD 的运行速度比单片机来得快。单片机是把指令通过串行形式系统指令的进行执行,这样的过程会影响系统运行的速度,单片机对于用于高速采样系统是难
13、以完成。可是对于 FPGA / CPLD 来说却是刚好相反的,在实时处理过程中是通过并行的方式工作的,这样就提高了运行的速度。同时,单片机的每个引脚功能都是固定的,而 FPGA/ CPLD 能通过编程的需要来确定引脚的功能。而且如果需要的话,FPGA / CPLD 中也可以设计出一个甚至多个 CPU,从而达到控制整个电路功能的运行目的。所以说 FPGA / CPLD 是在 EDA 的基础上的被大家广泛的接受和应用,从其他意义上来说,这样的工作方式是跟单片机系统的工作方式是完全相背离。现在的 FPGA / CPLD 不仅仅拥有单片机的所有工作能力,同时还具有串行并行同时应用的工作方式和高速且高可
14、靠性的特点。可见,用单片机实现的电子密码锁其电路比较复杂、灵活不高、成本较大且可靠性和安全性低。而采用先进 EDA 技术实现的密码锁功耗低、体积小、价格便宜,维护和升级都十分方便,具有较好的发展前景。4基于 PLD 的电子密码锁设计31.5 电子密码锁系统的设计要求完成基于 PLD 的电子密码锁的设计开发。即以 EDA 开发工具为工作平台,使用 PLD 可编程器件和 VHDL 语言设计的电子密码锁具有密码预置,误码锁死等功能。(1)数码输入:按下一个数字键,其对应的数字就显示在最右边的数码管上,同时将先前输人的所有数字向左移动一位。设计密码为 4 位,系统只能显示前 4 位输人的数码。(2)数
15、码清除:当按下#键时,清除前面输入的所有值,并显示为“0000” 。(3)激活电锁:按下*键时可以使密码锁的门上锁。 (上锁前必须预先设定一个四位的数字密码)(4)密码解锁:按下#键,再输入数码;如果输入与系统储存密码一致,密码锁就能开启;否则不能解锁。5 毕业设计42 设备方案设计与总体设计2.1 电子密码锁系统设计方案电子密码锁主要有三部分组成:数字密码输入电路、密码锁控制电路、密码锁显示电路如图 2-1 所示。键盘扫描电路时序产生电路键盘弹跳消除电路键盘译码电路开/关门锁电路数字比较电路按键数据缓冲器七段数码管显示电路密码锁控制电路寄存器清除信号发生电路BCD 至七段译码电路数字密码输入
16、电路图 2-1 数字电子密码锁系统总体框图密码锁输入电路包括时序产生电路、弹跳消除电路、键盘扫描电路、键盘译码电路和按键存储电路等几个小的功能电路。密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路) ,密码核对(数值比较电路) ,解锁电路(开/关门锁电路)等几个小的功能电路。七段数码管显示电路主要将待显示数据的 BCD 码转换成数码器的七段显基于 PLD 的电子密码锁设计5示驱动编码。作为电子密码锁的输入电路,可供选择有数字机械式键盘和触摸式数字键盘等多种方案。虽然机械式键盘存在一些诸如机械产生的弹跳消除问题和机械部分的接触等问题,但是和触
17、摸式的 3*4 键盘相比,机械式键盘具有成本低、可靠性高、电路结构简单、技术成熟和应用广泛特点,因此用于数字电子密码锁中比较合适。数字电子密码锁的显示信息电路可采用 LED 数码显示和液晶屏幕显示两种。液晶显示频率高、可靠性好、易于扩展等优点,但是普通液晶显示屏存在着亮度低、对复杂环境的适应能力差等缺点,因此本设计的显示电路使用通用的LED 数码管。62.2 数字密码输入电路的设计密码锁输人模块的电路框图如图 2-2 所示,它由时序产生电路、弹跳消除电路、键盘扫描电路、键盘译码电路和按键存储电路五部分组成。123456789*0#弹跳 消 除电 路键 盘译 码电 路按键数据缓存器键盘输入键盘扫
18、描电路工作时钟脉冲按键数据键盘扫描信号图 2-2 密码锁的输入电路框图2.2.1 矩阵式键盘工作原理矩阵式键盘由 09 数字键、*键及#键构成。其数字键作为密码输入,*键作为上锁功能键,#键作为清除和解锁键如图 2-3 所示。 毕业设计6123456789*0#KX2 011KX1 101KX0 110KY0(00) 1110KY1(01) 1101KY2(10) 1011KY3(11) 0111接上拉电阻来自计数模块图 2-3 3*4 矩阵式键盘的面板配置键盘扫描信号由 KY0KY3 四个端口进入,顺序依次为 1110-1101-1011-0111,分别对应扫描第一行、第二行、第三行并重复扫
19、描。当扫描信号为 1110时,即正在扫描 1、2、3 这样行的按键,如果 1、2、3 按键一个都没被按下,则 KX0KX2 输出信号为 111;当 1、2、3 按键中 2 号按键被按下,则 KX0KX2输出信号为 101 如表 2-1.KX2KX0按键输出信号扫描信号011101110扫描第一行 (1110)123扫描第二行 (1101)456扫描第三行 (1011)789KY3KY0扫描第四行 (0111)*0#若从 KX2KX0 读出的值为 111,代表扫描的那列没有按键按下,则不进行按键译码操作,相反,则应将 KL0KL3 读出的值送至译码电路进行编码。2.2.2 时序产生电路时序产生电
20、路在电路中用于产生三种不同频率的工作脉冲波形,包括系统时钟信号、键盘扫描信号和弹跳消除取样信号。在电路中我们可以建立一个 N 为计数器,根据需要让其产生不同频率的时钟信号。设初始的时钟信号为 CLK,N 位计数器的输出为 Q(N-1.0) ,则 Q(0)为 CLK 的 2 分频脉冲信号,Q(2)为 CLK 的 8 分频脉冲信号,Q(N-1)就为表 2-1 按键位置与数码关系基于 PLD 的电子密码锁设计7CLK 的 2N分频脉冲信号。Q(3 DOWNTO 2)输出一个脉冲波形序列,其值依次为 00-01-10-11 周期性变化,其变化频率为 CLK 的 8 分频,我们可以利用这个规律设计自己所
21、需的频率信号或信号序列。2.2.3 弹跳消除电路由于本设计采用的是矩阵式键盘,是机械式开关的一种,由于机械式开关的核心部件为弹性金属簧片,因而在开关切换的瞬间会在接触点出现来回弹跳的现象。虽然只是进行了一次按键,结果在按键信号稳定的前后出现了多个脉冲如图 2-4 所示。7按键按下瞬间抖动波形按键释放瞬间抖动波形图 2-4 按键弹跳现象产生图弹跳消除电路可避免误操作发生。为使电子密码锁可靠工作,必须加上弹跳消除电路。弹跳消除电路采用软件延时的方法消除抖动,如下是弹跳消除电路的程序、原理图 2-5 及仿真图 2-6。COMPONENT DCFQ IS PORT (CLK, CLRN, PRN, D
22、: IN STD_LOGIC; Q: OUT STD_LOGIC);END COMPONENT DCFQ;SIGNAL VCC, INV_D:STD_LOGIC;SIGNAL Q0, Q1:STD_LOGIC;SIGNAL D1, D0:STD_LOGIC;BEGINVCC=1;INV_DCLK,CLRN=INV_D,PRN=VCC,D=VCC,Q=Q0);U2:DCFQ PORT MAP(CLK=CLK,CLRN=Q0,PRN=VCC,D=VCC,Q=Q1);PROCESS (CLK) BEGIN IF CLKEVENT AND CLK=1 THEN D0=NOT Q1; D1=D0; EN
23、D IF; 毕业设计8END PROCESS;DD0=D0;DD1=D1;QQ1=Q1;QQ0=Q0;D_OUT=NOT (D1 AND NOT D0);D_OUT1=NOT Q1;图 2-5 弹跳消除原理图基于 PLD 的电子密码锁设计9 如图 2-6 可以看出,原来的弹跳现象经过键盘输入去抖电路处理后消除了,必须连续两次取样检测到信号才会有反应,否则电路将视为噪声,不予理会。2.2.4 键盘扫描电路键盘扫描信号由 KY0KY3 四个端口进入,顺序依次为 1110-1101-1011-0111,分别对应扫描第一行、第二行、第三行并重复扫描。当扫描信号为 1110时,即正在扫描 1、2、3 这
24、样行的按键,如果 1、2、3 按键一个都没被按下,则 KX0KX2 输出信号为 111;当 1、2、3 按键中 2 号按键被按下,则 KX0KX2输出信号为 101,并进行按键编码操作及将编码结果储存于寄存器中,如下是按键扫描程序及仿真图 2-7。PROCESS (CLK_1K) BEGIN IF (CLK_1KEVENT AND CLK_1K=1) THEN -1KHZ 的时钟脉冲信号 Q = Q+1; -计数器 END IF;C_KEYSM=Q (5 DOWNTO 4); -CLK_1K 的 32 分频END PROCESS;SEL = 1110WHEN C_KEYSM =00 ELSE
25、-按键行扫描 1101WHEN C_KEYSM =01 ELSE 1011WHEN C_KEYSM =10 ELSE 0111WHEN C_KEYSM =11 ELSE 1111;图 2-6 键盘消斗仿真图图 2-7 键盘扫描输入仿真图(大图见附录 II) 毕业设计10如图 2-7 所示,当 KEY_IN 输入为 011 时:扫描信号为 1110,则 DATA_N 为0001;扫描信号为 1101,则 DATA_N 为 0010;扫描信号为 1011,则 DATA_N 为0011;扫描信号为 0111,则 DATA_N 为 0100.2.2.5 键盘译码电路键盘译码电路其作用是用来规划每个按键
26、的输出形式,以便执行相应的动作如表 2-2 所示。扫描信号KY0KY3输出信号KX0KX1键盘按键键盘译码 电路输出按键功能0111F=00011012F=001011101103F=00110114F=01001015F=010111011106F=01100117F=01111018F=100010111109F=1001数码输入011*N=0100激活电锁1010F=0000数码输入0111110#N=0001清除/解除电锁键盘译码电路主要作用是判别是否有按键按下:若被按下的是数字按键则译码成相应的 BCD 码,没按下任何数字键时,键盘译码输出为“1111” ;若被按下的是功能键,则译码
27、成 4 位码字,由控制电路做相应的操作。2.2.6 键盘存储电路键盘存储电路可将每次扫描产生的新按键数据存储下来,因此新数据可能会覆盖前面的数据,所以需要一个按键存储电路,以将整个键盘扫描完毕的结果记录下来。本设计采用串行输入/输出位移寄存器硬件作为按键存储电路,即数据一个接着一个依次进来,输出时采用先键先出的顺序,也是一个一个输出。82.3 密码锁控制电路的设计密码锁控制电路是整个电路控制的核心,是为了完成对数字键输人等功能键输人的响应和控制。其数字键输人的响应控制过程如下:(1)数码输入:按下一个数字键,其对应的数字就显示在最右边的数码管上,同时将先前输人的所有数字向左移动一位。设计密码为
28、 4 位,系统只能显表 2-2 键盘参数表基于 PLD 的电子密码锁设计11示前 4 位输人的数码。(2)数码清除:当按下#键时,清除前面输入的所有值,并显示为“0000” 。(3)激活电锁:按下*键时可以使密码锁的门上锁。 (上锁前必须预先设定一个四位的数字密码)(4)密码解锁:按下#键,再输入数码;如果输入与系统储存密码一致,密码锁就能开启;否则不能解锁。如下是控制电路的源程序及仿真图 2-8:PROCESS(CLK_KZDLU) -寄存器清零信号的产生进程 BEGIN IF (CLK_KZDLUEVENT AND CLK_KZDLU=1)THEN R1=R0; R0=FLAG_F; EN
29、D IF; CLR= (NOT R0) AND R1;END PROCESS;KEYIN_PROCESS: BLOCK IS -按键输入数据的存储、清零进程 SIGNAL RST: STD_LOGIC; BEGIN RST=CLR; PROCESS(FLAG_N,RST)IS -复位 BEGIN IF RST=1 THEN ACC=0000000000000000; COUNT=000; ELSE IF FLAG_NEVENT AND FLAG_N=1 THEN -密码输入 IF COUNT 100 THEN ACC=ACC (11 DOWNTO 0) & DATA_N; COUNT=
30、COUNT+1; END IF; END IF; END IF; END PROCESS; END BLOCK KEYIN_PROCESS; 毕业设计12 LOCK_PROCESS: BLOCK IS -上锁/开锁控制进程 BEGINPROCESS (CLK_KZDLU, DATA_F) ISBEGINIF (CLK_KZDLUEVENT AND CLK_KZDLU=1) THEN IF COUNT=100 THEN IF DATA_F(2)=1THEN -上锁控制信号有效 REG=ACC; -密码存储 ELSIF DATA_F(0)=1THEN -开锁控制信号有效 IF REG=ACC TH
31、EN -密码核对 QA=0; QB=1; END IF; ELSIF ACC=1000100010001000THEN QA=0; QB Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1 Y1=0000000;-不亮 END CASE;END PROCESS;图 2-9 按键显示译码电路原理图 毕业设计14如图 2-10 所示,当 DATA_N 输入 0001 时,译码显示为(0001)H;当 DATA_N再输入 0010 时,译码显示为(0012)H;一次按到 0100 时,译码显示为(1234)H.图 2-10 按键译码显示电路仿真图(大图见附录 IV)基于 PLD 的电子密码锁
32、设计152.5 密码锁整体设计图图 2-11 密码锁的整体组装设计原理图 毕业设计163 软件系统设计3.1Xilinx ISE 5.x 特点介绍ISE 是 Xilinx 公司推出的 EDA 软件系统,目前最高版本为 5.x。Xilinx ISE 软件系统是一个集成化环境,由项目导航工具(Project Navigator) 、设计输入工具(Design Entry Tools) 、逻辑综合工具(Design Synthesis) 、设计实现工具(Design Implementation Tools) 、设计约束图形编辑接口(Design Constraints Graphic User I
33、nterfaces)等组成的一个的软件平台。Xilinx ISE 软件系统还提供一种叫做 Snapshot 的工具,用于在设计过程中快速保存设计项目的所有文件。可见,Xilinx ISE 软件系统提供一个完全集成化的 EDA 环境,可以帮助设计者很方便的完成设计以及设计实现,对 Xilinx 公司的所有 FPGA 和 CPLD 提供了非常好的支持。ISE 5.li 设计软件的主要用户接口是项目导引器,设计者要利用由项目导引器装配在一起的整套设计工具来产生其可编程 ASIC 的设计,项目导引器的主要窗口如图 3-1 所示。上图所示项目导引器接口包括:记录器窗口HDL 编辑器工作空间HDL 编辑窗
34、标题菜单工具条项目源窗口进程窗口状态条图 3-1 项目导引器主窗口图基于 PLD 的电子密码锁设计17项目导引器主窗口;项目源窗口包括模块、软件包和库等设计项目源;当前项目源进程窗口显示项目源窗口中所选模块或文件进行的全部任务;项目工作空间由项目源窗口和当前项目源进程窗口组成;HDL 编辑其工作空间主要的 HDL 代码文体编辑区域;记录器窗口包括项目的工作记录,来自综合和现实工具的错误和警告信息。3.2 设计流程 下面是 ISE 5.li 软件的使用方法,设计输入、设计仿真、设计综合、设计实现和硬件诊断各部分代表设计过程的主要流程如图 3-2 所示。设计输入设计仿真设计综合设计实现转换映射/分
35、割布局布线硬件仿真 毕业设计183.2.1 设计输入HDL (Hardware Description Language)和原理图是常用的两种设计输入方式。当前设计大规模数字集成电路的主要形式就是 HDL 设计输入方式。HDL 语言描述在控制逻辑、状态机、总线功能方面比较突出,其描述的电路能在特定综合器作用下以具体硬件单元较好地实现;原理图输入在顶层设计、手工最优化电路、数据通路逻辑等方面具有图形化强、功能明确、单元节俭等特点。最常用的是以 HDL 语言为主,原理图为辅的方式,进行混合设计更好的发挥二者的特性。3.2.2 功能仿真仿真是指对于完成的设计使用设计软件包进行测试,模拟实际环境下的工
36、作状况。功能仿真也叫前仿真,是指为了了解它实现的功能是否满足原设计的要求,针对逻辑功能进行测试模拟,仿真过程没有加入时序信息,不涉及具体器件的硬件特性。3.2.3 设计综合综合,是指对给定的电路实现功能和实现此电路的约束条件,通过计算机进行优化处理,获得一个最理想的电路设计方案。设计综合包括分析、综合和优化三个步骤。以 HDL 描述为例,分析是采用标准的 HDL 语法规则对 HDL 源文件进行分析并纠正语法错误;综合是以选定的 FPGA 结构和器件为目标,对 HDL和 FPGA 网表文件进行逻辑综合;优化则是根据用户的设计约束对速度和面积进行逻辑优化,产生一个优化的 FPGA 网表文件,以供
37、FPGA 布局和布线工具使用。3.2.4 设计实现 设计实现通常可分五个步骤:转换(Translate):将多个设计文件进行转换并合并到一个设计库文件中;映射(Map):将网表中逻辑门映射成物理元素,即把逻辑设计分割到构成可编程逻辑阵列内的可配置逻辑块、输入输出块及其它资源中的过程;布局与布线(Place and Route):布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到 FPGA 内部的物理位置,使用约束条件操作布线软件,完成设计规定的性能要求。在布局布线过程中,可同时提取时序信息形成报告;时序提取(TimeSim ):产生一反标文件,供给后续的时序仿真使用;配置(Configu
38、re):产生 FPGA 配置时需要的位流文件。图 3-2 设计流程图基于 PLD 的电子密码锁设计193.2.5 时序仿真 时序仿真又叫后仿真,是在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在这些基础上进行的仿真,它是接近真实器件运行的仿真。4 系统扩展思路本系统基本达到作为数字密码锁的绝大部分功能,但还有许多不足或需完善的地方。例如采用 3*4 的通用机械键盘数量的限制,在很大的程度上限制了其功能的扩展。若在系统中加入语音提示模块,在按下按键的同时给出语音提示,开启或是关闭密码锁的同时给出语音提示,将会使该系统显得更加人性化,更加接近成为一个成熟的电子产品。设计外围电路:系统用方
39、波信号源,直流工作电源。若为毕业设计,可要求设计调速程序、外围电路等,还可要求设计制作整个系统,包括 PBC 的制作。 毕业设计205 总结5.1 本设计的总结归纳概述了电子密码锁的意义、简介及特点。讲述了电子密码锁在国内外的形势和发展。介绍了可编程器件 FPGA / CPLD 与单片机相比的优劣以及对电子密码锁功能的设计要求。讲述电子密码锁的主要内容:电子密码锁主要有数字密码输入电路、密码锁控制电路、密码锁显示电路三部分组成。5.2 设计过程中遇到的问题及如何解决一些语态的错误:在编程运行过程中,通常会犯一些低级的错误,分号漏加多加、信号没定义、信号位数没设定好等。通过编译软件的指出都很轻松
40、地一一解决了。程序上的错误:在自己编写过程中,由于编写的功能、输入信号、输出信号比较复杂,从而导致编写不够完善、意思不够明朗,最后运行时出来的仿真图不是自己想要的。经过自己的反复检查,翻阅了一些有关的资料以及导师的帮助和细心的指导、提示,最后终于看到了自己想要的结果。仿真上的错误:由于在程序中没有设置好相应脉冲信号频率或者设置的脉冲信号频率偏大及偏小导致得不到自己想要的仿真图。经过资料的查询和一些仿真频率的运算(比如译码时钟频率为 128HZ、扫描信号频率一般在 16HZ) ,在自己一次又一次的调试中得到了理想的仿真图5.3 体会在刚选择好毕业设计题目时,我觉得对于用 VHDL 语言设计一个电
41、子密码锁应该会是一件很容易的事情,因为我们刚学过 VHDL 语言不久,但是通过这次毕业设计我才醒悟到我们学到的东西太肤浅了。毕业设计不仅仅是对我们所学知识的一种考验,而且也是对我们各方面的一种提高。通过这次的毕业设计,我学到了很多。在知识方面,我更深入的了解了VHDL 语言及运用,完善了以前的不足,特别是一些细节,以前不注意的小问题现在变成了成败的关键;在思想方面,让我坚定了自己的信念,只要功夫深铁棒就能磨成针,我相信只要自己能够努力下去,坚持不懈,成功将不会是幻想。基于 PLD 的电子密码锁设计21参考文献1王红航,张华斌. 电子密码锁的 EDA 设计与实现J.广东:电子元器件应用,2009
42、-6,11(6).2王静.基于 VHDL 的电子密码锁设计J.安防科技,2010-3.3孟祥忠数字电子密码锁的设计C大连:大连理工大学,2007-6-14张雪,殷昌贵基于 VHDL 的数字密码锁的设计与实现J.山东:东华大学学报(自然科学版),2007-6,33(3).5 吴兵,陈浩田,宏松. 基于 EDA 技术的电子密码锁设计J.大科技科技天地,2010(7).6 许琦. 基于 FPGA 的电子密码锁的设计J.科技信息(学术版),2006(10).7王永祥,刘焱. EDA 实验教学的电子密码锁创新设计J.江西:宜春学院学报,2010,32(8).8范柳絮,李宏,陈姻,谷志教. 基于 CPLD
43、 的电子密码锁设计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(
44、1).14吴海涛,梁迎春. 基于状态机的语音电子密码锁设计J.电子工程师,2007-4 ,33(4).15陈华丽,何颜平. 基于 VHDL 的数字密码锁设计J.武汉:国外电子测量技术,2008-4,27(4).16Kemal Aydin, Little Falls, N.J. ELECTRONIC LOCK SYSTEMC. Mar. 16, 1981.17Carey S. Clark, 3629 35th Ave. West, Seattle, Wash. 98199; Cordon B. Winch, Seattle, Wash. ELECTRONIC LOCK SYSTEMC. Apr.
45、 30, 1986. 毕业设计22基于 PLD 的电子密码锁设计23附录附录 I 键盘输入消斗电路源程序、原理图及仿真图键盘输入消斗电路源程序、原理图及仿真图-DCFQ.VHDlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity dcfq is PORT(CLK,CLRN,PRN,D:IN STD_LOGIC; Q:OUT STD_LOGIC);end dcfq;architecture Behavioral of dcfq isb
46、eginPROCESS(CLK,CLRN,PRN) BEGIN IF CLRN=0 AND PRN=1 THEN Q=0; ELSIF CLRN=1 AND PRN=0 THEN Q=1; ELSIF CLKEVENT AND CLK=1 THEN Q=D; END IF;END PROCESS; end Behavioral;library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity qudou1 isPort ( D_IN : in
47、std_logic; CLK:IN STD_LOGIC; DD1,DD0,QQ1,QQ0 : out std_logic; D_OUT,D_OUT1 : out std_logic);end qudou1;architecture Behavioral of qudou1 isCOMPONENT DCFQ IS PORT(CLK,CLRN,PRN,D:IN STD_LOGIC; Q:OUT STD_LOGIC); 毕业设计24END COMPONENT DCFQ;SIGNAL VCC,INV_D:STD_LOGIC;SIGNAL Q0,Q1:STD_LOGIC;SIGNAL D1,D0:STD
48、_LOGIC;BEGINVCC=1;INV_DCLK,CLRN=INV_D,PRN=VCC,D=VCC,Q=Q0);U2:DCFQ PORT MAP(CLK=CLK,CLRN=Q0,PRN=VCC,D=VCC,Q=Q1);PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN D0=NOT Q1; D1=D0; END IF;END PROCESS;DD0=D0;DD1=D1;QQ1=Q1;QQ0=Q0;D_OUT=NOT(D1 AND NOT D0);D_OUT1=NOT Q1;end Behavioral;图 I 键盘输入去抖仿真图基于 PLD 的电子密
49、码锁设计25附录附录 II 密码锁输入源程序、原理图及仿真图密码锁输入源程序、原理图及仿真图library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity jianpangsr1 isPORT ( CLK_1K: IN STD_LOGIC; -系统原始时钟脉冲(1KHZ) KEY_IN: IN STD_LOGIC_VECTOR ( 2 DOWNTO 0); -按键输入CLK_SCAN: OUT STD_LOGIC_VECTOR ( 3 DOW
50、NTO 0); -键盘扫描行序列 DATA_N: OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0); -按键数字输出 DATA_F: OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0); -按键功能输出 FLAG_N: OUT STD_LOGIC; -数字输出标志 FLAG_F: OUT STD_LOGIC; -功能输出标志 CLK_KZDLU:OUT STD_LOGIC; -控制电路时钟脉冲 CLK_QUDOU:OUT STD_LOGIC -去抖电路时钟信号 );end jianpangsr1;architecture Behavioral of jia
51、npangsr1 is COMPONENT XIAODOU1 IS -去抖元件声明 Port ( D_IN : in std_logic; CLK:IN STD_LOGIC; DD1,DD0,QQ1,QQ0 : out std_logic; D_OUT,D_OUT1 : out std_logic); END COMPONENT XIAODOU; SIGNAL CLK:STD_LOGIC; -电路工作时钟脉冲 SIGNAL C_KEYSM:STD_LOGIC_VECTOR(1 DOWNTO 0); -键盘扫描信号(00-01-10-11)寄存器 SIGNAL C_QUDOU:STD_LOGIC
52、; -去抖时钟信号 SIGNAL C :STD_LOGIC_VECTOR(2 DOWNTO 0);-去抖后键盘输入寄存器 SIGNAL N,F: STD_LOGIC_VECTOR ( 3 DOWNTO 0); -数字、功能按键译码值的寄存器 毕业设计26 SIGNAL FN,FF: STD_LOGIC; -数字、功能按键标志值数字、功能按键 SIGNAL SEL: STD_LOGIC_VECTOR ( 3 DOWNTO 0); -扫描键盘行 BEGIN DATA_N = N; DATA_F = F; FLAG_N = FN; FLAG_F = FF; CLK_KZDLU=CLK; C=KEY_
53、IN;COUNTER : BLOCK IS -扫描信号发生器 SIGNAL Q: STD_LOGIC_VECTOR ( 6 DOWNTO 0):=0000000; BEGIN PROCESS (CLK_1K) BEGIN IF(CLK_1KEVENT AND CLK_1K=1)THEN Q = Q+1; END IF; C_QUDOU=Q (2); C_KEYSM=Q (6 DOWNTO 5); CLK=Q (0); END PROCESS; CLK_QUDOU=C_QUDOU; SEL = 1110WHEN C_KEYSM =00 ELSE 1101WHEN C_KEYSM =01 ELSE
54、 1011WHEN C_KEYSM =10 ELSE 0111WHEN C_KEYSM =11 ELSE 1111; CLK_SCANKEY_IN(0),D_OUT=C(0),CLK=C_QUDOU); U2:xiaodou port map(D_IN=KEY_IN(1),D_OUT=C(1),CLK=C_QUDOU);U3:xiaodou port map(D_IN=KEY_IN(2),D_OUT=C(2),CLK=C_QUDOU);END BLOCK XIAODOU;KEY_DECODER : BLOCK IS -键盘译码基于 PLD 的电子密码锁设计27 SIGNAL Z : STD_LOGIC_VECTOR ( 6 DOWNTO 0); BEGIN PROCESS (CLK_1K) BEGIN Z N N N N N N N N N N N F F F =1000; END CASE; END IF; END PRO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经济专业考试题库及答案
- 2025年气象知识在事业单位招聘中的重点与模拟题
- 2025年安徽省(安管人员)建筑施工企业安全员B证上机考试题库及答案
- 2025年股票投资分析与交易技巧预测试题集
- 2025年物流工程师面试题及解答指南
- 2025年农村金融服务与管理人才招聘面试题集与解析
- 桥梁基础知识课件
- 浙江诸暨市牌头中学2026届化学高一第一学期期中监测模拟试题含解析
- 2025年环境艺术设计师招聘考试模拟题及解析
- 2025年城市更新与可持续发展考试试题及答案
- 全脑开发教学课件
- 运动控制考试题及答案
- 无人机培训招生宣讲
- 2025玛纳斯县司法局招聘编制外专职人民调解员(5人)笔试模拟试题及答案解析
- 2025年陕西华山旅游集团有限公司招聘(50人)笔试备考试题及答案解析
- 中医基础理论试题及答案
- 瓜子的产品讲解
- 马拉松赛事全案策划
- 公路工程检测员考试试题及答案
- 220KV间隔扩建(四措一案最终)
- 滕州小升初数学真题试卷带答案
评论
0/150
提交评论