当前位置:文档之家› 基于FPGA的verilog的电子密码锁设计

基于FPGA的verilog的电子密码锁设计

基于FPGA的verilog的电子密码锁设计
基于FPGA的verilog的电子密码锁设计

基于FPGA的verilog的电子密码锁设计

一、概述

1.1 电子密码锁的现状

随着我国对外开放的不断深入,高档建筑发展很快,高档密码锁具市场的前景乐观。我国密码锁具行业对密码锁具高新技术的投入正逐年增大,高档密码锁的市场需求也逐年增加。在安防工程中,锁具产品是关系到整个系统安全性的重要设备,所以锁具产品的优劣也关系了整个安防工程的质量和验收。

目前,市场上比较先进的智能电子密码锁分别有:IC卡电子密码锁、射频卡式电子密码锁、红外遥控电子密码锁、指纹识别电子密码锁和瞳孔识别电子密码锁等。IC卡电子密码锁成本低,体积小,卡片本身无须电源等优点占领了一定的市场份额,但是由于有机械接触,会产生接触磨损,而且使用不太方便,在一定程度上限制了它的应用;射频卡式电子密码锁是非接触式电子密码锁,成本也不太高,体积跟IC卡密码锁相当,卡片使用感应电源,重量很轻,技术成熟,受到了广泛的欢迎,但是与IC卡电子密码锁相比,成本偏高;指纹识别电子密码锁和瞳孔识别电子密码锁可靠性很高,安全性是目前应用系统中最高的,但是成本高昂,还没进入大众化使用阶段。

在国外,美国、日本、德国的电子密码锁保密性较好,并结合感应卡技术,生物识别技术,使电子密码锁系统得到了飞跃式的发展。这几个国家的密码锁识别的密码更复杂,并且综合性比较好,已经进入了成熟期,出现了感应卡式密码锁,指纹式密码锁,虹膜密码锁,面部识别密码锁,序列混乱的键盘密码锁等各种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,新型的电子密码锁系统的应用也越来越广。

基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。

在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。

1

目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。基于FPGA的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展,而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新的功能,使得密码锁有更高的安全性、可靠性和方便性。 1.2 论文主要完成的工作课题主要解决系统硬件和软件两方面的问题。硬件方面要解决FPGA可编程器件与其外围电路的接口设计的问题;软件方面主要问题是利用Verilog HDL语言完成基于FPGA的电子密码锁的编程问题。除此之外,程序还要完成基本的密码开锁功能,并通过扬声器长时间鸣叫报警。本设计是由FPGA可编程逻辑器件编程实现

的控制电路,具体有按键指示、输入错误提示、密码有效指示、控制开锁、控制报警等功能。它具有安全可靠、连接方便、简单易用、结构紧凑、系统可扩展性好等特点。

二、系统硬件设计

2.1 系统设计方案

2.1.1 系统功能需求分析

本系统主要集中在以FPGA以核心外围扩展设计,整个电路主要电子锁具的组成框图是以可编程逻辑器件(FPGA)为核心,配以相应硬件电路,设计一个密码锁,密码为一个4位的十进制数,密码固化在锁内,用户输入密码正确,则开锁(绿灯亮);若不正确,则报警(红灯亮)若用户输入密码不正确,可以按复位键重新输入密码。

2.1.2 系统实现方案的论证比较

方案一 :采样台湾凌阳科技有限公司推出的以凌阳自主研发的SPCE061A芯片为主控芯片,用一条下载线连接到计算机就可以实现在线仿真、在线调试、在线下载,低廉的价格保证了系统可靠开发;此外,61板具有SOC概念、DSP功能和语音特色,为电子密码锁的语音报警提供了方便,但是基于单片机设计的

2

密码锁外围电路比较复杂,系统可靠性差,密码的数量少,尤其是系统的程序不够稳定,功率较大,需要专门的电源供电,所以不采用这个方案。

方案二:设计一种基于FPGA的电子密码锁的设计,用FPGA设计的系统已经是现代生活中经常用到的工具之一,通过键盘输入密码,用FPGA作为主控芯片,用数码管显示输入的数字,如果出现错误便通过报警电路发出报警,主控芯片又可分为按键处理部分、控制部分和译码显示部分用电子密码锁代替传统的机械式密码锁。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以

进行硬件升级、扩展。而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。

方案的论证比较

在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差,而基于FPGA设计的电子密码锁克服了基于单片机设计密码锁的缺点。基于上述比较以上两种方案,根据系统设计要求,采用方案二。

2.1.3 系统方案的总体设计

系统原理框图

本系统由主控芯片(FPGA),键盘,显示电路,报警电路和开/关门电路组成,而主控芯片又可分为按键处理部分,控制部分和译码显示部分。系统原理框系统原理框图如图2.1.3所示:

图2.1.3 系统总体框架

总体设计原理

本系统有8个按键,K0,K1,K2,K3,K4,K5代表数字0-9共10个数字和1个确认键,1个复位键。密码长度为四位,并且固化在锁内,输入正确密码后,按

3

确认键即可开门,本系统设置为绿灯亮。在输入密码的过程中,当用户键入错误密码时,报警灯红灯亮。按下复位键,可使报警停止,同时清除所有密码显示。每输入一位数字,密码在数码管上的显示左移一位。即上电后,按确认键即可开

门。门开后可通过锁门按钮关门,门关上后要再次输入密码才能开门。在输入密码的过程中,当用户键入错误密码时,系统就会报警,由扬声器发出报警声,当连续三次出现密码错误时,则系统会长时间报警不止,这时必须按警报复位键方可停止。

2.2 主控模块

2.2.1 主控芯片EP4CE6E22C8的介绍

主控芯片采用ACEX1K 系列的EP4CE6E22C8。Cyclone IV系列是当今Altera CPLD 中应用前景最好的器件系列之一,该系列的FPGA 由逻辑阵列块LAB(Logic array block)、嵌入式阵列块EAB(embedded array block)、快速互联以及IO 单元构成,每个逻辑阵列块包含8 个逻辑单元LE(logic element)和一个局部互联。每个逻辑单元则由一个4 输入查找表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB 和多个EAB 则可通过快速通道互相连接[3]。EAB 是Cyclone IV系列器件在结构设计上的一个重要部件,他是输入端口和输出端口都带有触发器的一种灵活的RAM 块,其主要功能是实现一些规模不太大的 FIFO、ROM、RAM 和双端口RAM 等。

2.3 键盘模块

按键方式分为8个独立按键,K0,K1,K2,K3,K4,K5代表数字0-9共10个数字和1个确认键,1个复位键。考虑到按键数目不够,采用了一位按键作为功能转换按键;即前5位按键输入0~4,同时按下功能转换按键时,按键0~4即转换为按键

5~9,这就弥补了按键数目的不足。最后两位按键设定为确认输入按键和复位按键。密码输入完成后可以按确认键检验密码的正误,报警、输入错误或者其他情况可以按复位按键重新输入。按键上拉,当IO口被拉高电平,当IO口检测到高电平时,表示按键按下。部分按键控制电路如图2.3所示:

4

图2.3

2.4 显示模块

LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是7段LED,本设计将采用共阳极。共阳极LED显示块的发光二极管与阳极并接。

数码管显示块中共有8个发光二极管,其中7个发光二极管构成七笔字形“8”,1个发光二极管构成小数点。7段显示块与FPGA接口非常容易。只要将一个8位并行输出与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,如表5.1所示。通常将控制发光二极管的8位字节数据称为段选码。共阳极与共阴极的段选码互为补数。

5

显示字共阴极段共阳极段显示字符共阴极段选共阳极段

符选码选码码选码

0 3FH C0H C 39H C6H

1 06H F9H D 5EH A1H

2 5BH A4H E 79H 86H

3 4FH B0H B 7CH 83H

4 66H 99H F 71H 8EH

5 6DH 92H P 73H 8CH

6 7DH 82H U 3EH C1H

7 07H F8H L 31H CEH

8 7FH 80H Y 6EH 91H

9 6FH 90H ? ? ?

A 77H 88H

表2.4 LED显示块功能表

三、芯片主控设计

3.1 FPGA有限状态机

本设计是通过FPGA有限状态机来实现,设计有限状态机最开始的工作时要确定电路,包括哪些状态,比如某个电路包括四个状态,S0,S1,S2,S3。然后对所有状态给出一个状态编码,比如为状态S0赋予编码00,为状态S1赋予编码01,为状态S2赋予编码10,为状态S3赋予编码11。状态编码是状态的标识,保存在寄存器当中,对于此编码形式,只需一个2位的寄存器就可以了。 FSM Encoding Style 主要有: Binary Encoding One Hot Encoding Gray

Encoding

二进制与一位热码的特性比较:

6

表3.1 二进制与一位热码的特性比较

状态机可以认为是组合逻辑和寄存器逻辑的特殊租户,它一般包括两个部分:组合逻辑部分和寄存器逻辑部分。寄存器用于存储状态,组合电路用于状态译码和产生输出信号。状态机的下一个状态及输出,不仅与输入信号有关,而且还有寄存器当前所处的状态有关。

根据输出信号产生方法的不同,状态机可以分成两类:Mealy型和Moore型。Moore型状态机的输出只是当前状态的函数,而Moore型状态机的输出只是当前状态的函数,而Mealy型状态机的输出则是当前状态和当前输入状态的函数。其原理如下两图:

7

3.2 设计流程

本次密码锁的设计,有限状态机应该包括以下状态:密码为输入前的等待状态、输入密码时的等待状态、输入密码正确时的通过状态、输入密码错误时的警报状态。

8

图3.3 主有效状态机的状态转换图

其中当密码输入时又可包括以下状态,正常输入状态、异常输入状态(包括命令状态)、输入确认状态。

下面的图(图是在程序编译后,tools->Netlist_Vewers->RTL Vewer得到的)表示了密码输入的时候的次状态机,表示了4个密码输入的顺序状态,以及输入完成后的等待确认状态。

图3.4次有效状态机的状态转换

9

3.3 系统软件设计总RTC级图

3.4 状态编码

状态编码主要有二进制编码、格雷编码和一位独热编码等方式。格雷编码时,相邻状态每次只有一个比特位产生变化,这样减少了瞬变的次数,也减少了产生毛刺和一些状态的可能。

采用一位独热编码,虽然多用了触发器,当可以有效节省和简化组合电路。

对于寄存器数量多而逻辑相对缺乏的FPGA器件来说,采用一位独热编码可以有效提高电路的速度和可靠性,也有利于提高器件资源的利用率。

将产生状态的组合逻辑电路和用于保存状态的寄存器分别写在不同的

10

always块中。其中主要包括:输出控制部分、警报计时部分、锁打开后的计时部分、比较密码部分、记录密码部分和记录错误次数的部分

3.5 密码的输入

本次密码锁的密码输入采用FPGA芯片上的8位单个按键,考虑到按键数目不够,采用了一位按键作为功能转换按键;即前5位按键输入0~4,同时按下功能转换按键时,按键0~4即转换为按键5~9,这就弥补了按键数目的不足。最后两位按键设定为确认输入按键和复位按键。密码输入完成后可以按确认键检验密码的正误,报警、输入错误或者其他情况可以按复位按键重新输入。

另外由于按键的时候同时会引起状态机的转换,所以如果按键的时候对按键判断次数过多会产生状态的过快转换,记录的密码和数码管的显示就同时会出现错误,因此在按键部分加入了消除多重按键的程序,只检测一次按键的下降沿,解决了这个问题。

3.6 密码的记录与比较

程序设定了一个寄存器用来记录输入的密码。当次有效状态机(即密码输入的状态机)发生转换并且有密码输入时,程序会记录下输入的密码在寄存器的其中4位里面,最后次有效状态转换到确认密码的状态时,会将记录下的密码与固化在锁内的密码进行对比,正确即将主状态机转换到通过阶段,错误则将状态机转换到报警阶段。其中正确错误的状态转换是通过控制相应的标志位实现的。

3.7 密码的显示

密码显示采用数码管动态扫描显示,初始时显示密码为4位0,当输入密码后数码管的第一位、第二位、第三位、第四位会依次显示输入的密码,错误后复位可以重新输入。密码显示采用的是记录密码的寄存器的数据,显示扫描的扫描时间设置为1ms左右,这样显示不会出现闪烁或者残影。

11

四、程序仿真

下前面的输入cmd的编码:

//输入的数字编码 0~9,enter,cancel

one=4'b0001, two=4’b0010,three=4'b0011,four=4'b0100,five=4'b0101, six=4'b0110,seven=4'b0111,eight=4'b1000,nine=4'b1001,

zero=4'b1000,enter=4'b1010,cancel=4'b1011;

可以看到,在复位以后,输入第1,2,3,4个密码(依次为1111)后,passed 变成高电平

当过了一定的时间后,passed变成低电平,重新计入键盘读入值,进行下一轮的密码辨别。

12

五、结论

本次课题设计完成的是基于FPGA的密码锁设计,通过一个多星期的不断努

力、克服各种困难,最终实现了任务目标。本次设计解决的主要问题是是利用verilog HDL语言完成基于FPGA的电子密码锁的编程问题。

设计是理论知识与实践的完美结合,对于现代大学生的实践能力是个很好的培养。

短短的一个星期的时间的设计虽然短暂,但是它给我的收获确实难忘,不仅仅在智能仪器方面有了很大的进步,而且在FPGA、Quartus软件等方面也学到了不少在上课学不到的知识。这段时间我查阅到很多关于课程设计的书籍,对我帮助也很大。我觉得自己以前的盲目,现在明白了很多。也对我们专业动手实践的兴趣提高了很多。有了这些经历对于我日后工作一定会有很大帮助。相信这次设计中学到的种种东西一定会存在我的脑海里,令我终身受益。

在课程设计的过程中也可以看到我的不足,如原理知识掌握不实,曾经学过的知识如今却不会应用,软件的应用也不熟练,希望日后提供给我们更多的锻炼机会来培养我们的实践能力。

参考文献

[1] 高移南.遥控变号电子锁[J].电子世界,1994,07:15 [2] 许琦.基于FPGA 的电子密码锁设计[J ]. 中国科技信息, 2007 (1) : 240-241

[3] 刘韬,楼兴华.FPGA数字电子系统设计与开发实例导航[M].人民邮电出版社,2005.

[4] 王金明.数字系统设计与Verilog HDL

13

附录程序清单:

module passwd_lock(

clk0, //时钟 pin_23

passed, //开锁灯与警报灯

zero1, //按键0 pin_84

one1, //按键1 pin_85

two1, //按键2 pin_86

three1, //按键3 pin_87

four1, //按键4 pin_88

change, //功能选择键pin_89

yes, //确认按键pin_90

resetb, //重输按键pin_91

seg, //数码管段选【7:0】

dig //数码管位选【3:0】

);

input one1,two1,three1,four1,zero1,change;

reg zero,one,two,three,four;

input yes;

input resetb;

input clk0; //输入时钟信号

output [7:0] passed; //输出信号 //为何要是8位,,实际只用了2位//output [1:0] passed; //输出信号

output [7:0] seg;//////段选

output [3:0] dig;//////位选

reg [3:0] key; //按键存储器

reg RXBuf0,RXBuf1,RXBuf2,RXBuf3,RXBuf4; //缓存器,可用于按键消抖

//display

reg clk0_div;

reg [2:0] digyi;////////////哪一位亮,用于数码管数字移位 reg [3:0] dig;/////////////位选

reg [3:0] seg0;/////////////存储按键按下的数字 reg [7:0] seg;

/////////段选

reg [12:0] CNT_R0; reg [18:0] CNT_R1; reg clk1;

reg [21:0] CNT_R2; reg clk2;

reg [7:0] passed; //pass 8b'1000 0000 alarm 8b'0000 0001 waits

8b'0000 0000

14

/*输入与输出的声明部分,其中,clk0为输入的时钟信号,resetb为密码复位的输入信号,

key为输入命令,

需注意的时,key并不是总在表示密码,也表示密码的间隔,如当输入4位密码后需要一个确认“enter”信号,

当密码输入错误时,需要取消“cancel”信号,这些信号之间在设计中通过有限状态转换机

实现。*/

parameter PASSWORD=16'b0001001100010100;//盛放密码的参数 reg [15:0] password;//输入数值盛放寄存器

//输入的数字编码

always @( posedge clk1 ) begin //检测线路的下降沿

RXBuf1 <= one1;

one <= ~(RXBuf1 & ( ~one1 ));

// RXFall1<=RXFall;

end

//消除多重按键

always @( posedge clk1 ) begin //检测线路的下降沿RXBuf0 <= zero1;

zero <= ~(RXBuf0 & ( ~zero1 ));

// RXFall1<=RXFall;

end

//消除多重按键

always @( posedge clk1 ) begin //检测线路的下降沿RXBuf2 <= two1;

two <= ~(RXBuf2 & ( ~two1 ));

// RXFall1<=RXFall;

end

//消除多重按

always @( posedge clk1 )

begin //检测线路的下降沿

RXBuf3 <= three1;

three <= ~(RXBuf3 & ( ~three1 ));

// RXFall1<=RXFall;

end

//消除多重按键

always @( posedge clk1 )

begin //检测线路的下降沿

RXBuf4 <= four1;

four <= ~(RXBuf4 & ( ~four1 ));

// RXFall1<=RXFall;

15

end

//消除多重按键

reg [2:0] main_state;//主状态

reg [2:0] next_state;//下一个状态

pass、alarm //主有限状态转换机的三个状态:waits、

parameter waits=3'b001, pass=3'b010, alarm=3'b100; //3个状态编码reg [2:0] sub_state; //从状态机现状态

reg [2:0] next_sub_state; //从状态机下一个状态

//从有限状态转换机的五个状态:first、second、third、fourth、finish parameter

first=3'b000,second=3'b001,third=3'b010,fourth=3'b011,finish=3'b100;

//通过计时寄存器

reg [7:0] pass_count; //pass计时完后回到wait状态 //警报计时寄存器reg [10:0] alarm_count; //alarm计时完后回到wait状态 //尝试次数寄存器

reg [1:0] try_count;

//输入状态寄存器:error和correct reg error;

reg correct;

reg key_pressed_flag; // 键盘按下标志 //以上为中间状态的一些寄存器和一些所用到的参数 //主机状态机部分

always @(posedge clk0) begin

CNT_R2 <= CNT_R2 + 1'b1;

if(CNT_R2 < 4000000)

begin

clk1 <= 1;

end

else

begin

clk1 <= 0;

end

end

always@(main_state or correct or error) //3位主状态寄存器,1位输入状态寄存器

correct,error

begin

case(main_state) //判断主状态寄存器

16

waits: //3b'001

if(correct==1) begin//由waits转换到pass的条件

next_state=pass; end//3位next_state寄存器写入等待状态

else if(error==1&&try_count==1) begin

next_state=alarm; end//由waits转换到alarm的条件

else begin

next_state=waits; end

pass:

if(pass_count[7]==1) begin//由pass转换到waits的条件计时器时间到,由通

过状态变成等待状态

next_state=waits; end

else begin

next_state=pass; end

alarm:

if(alarm_count[10]==1) begin// 由alarm转换到waits的条件警告时间到达时

变成等待状态

next_state=waits; end

else begin

next_state=alarm;end//否则继续警告

default://默认状态:waits

next_state=waits;

endcase

end

//状态转换

always@(posedge clk1 or negedge resetb)

begin

if(!resetb)

main_state<=waits;

else

main_state<=next_state; end

//输出控制部分

always@(posedge clk1 or negedge resetb)

begin

if(!resetb)//复位时,开锁输出与警报输出都为零

begin

passed<=8'b10000001;

//passed<=2b'11;

end

else if(main_state==pass)//当主机状态为pass时,开锁17

begin

passed<=8'b00000001;

//passed<=2'b01;

end

else if(main_state==alarm)//当主机状态为alarm时,警报begin

passed<=8'b10000000;

//passed<=2'b10;

end

else//其它状态复位

begin

基于FPGA的数字密码锁

基于F P G A的数字密码 锁 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

CPLD/FPGA课程设计 项目名称:基于FPGA的数字密码锁设计 专业班级: 学生学号: 学生姓名: 指导老师: 2016年6月4日

摘要 本设计是基于现场可编程门阵列FPGA 器件的电子密码锁的设计。通过Verilog 语言控制4位二进制数,组成数字排列,形成一个简单的数字密码锁,假设预设密码为4位数:0000,当输入正确时输出为1、输入错误时输出为0。同时输出输入的次数,当3次以上输入错误时,输出一个报警信号,即使第四、五次输入正确也输出报警信号。 本设计利用Modelsim软件编写Verilog HDL硬件描述语言程序以实现输入密码、开锁、报警功能。通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。 关键词:现场可编程门阵列;数字密码锁;Verilog HDL;

Abstract This design is the electronic code lock field programmable gate array FPGA devices based design. By Verilog language control 4-bit binary number, composed of figures arranged to form a simple digital lock, assuming that the default password is 4 digits: 0000, correct output when the input is 1, the output of the input error to zero. At the same time the number of input and output, and when more than three times the input error, an alarm signal is output, even if the fourth and fifth also enter the correct output alarm signal. This design uses Modelsim software write Verilog HDL hardware description language program to implement a password lock, alarm function. The simulation debugging, using the programmable device FPGA design basic electronic locks to achieve the desired purpose. Key words: FPGA;The digital combination lock;Verilog HDL;

课程设计fpga密码锁

FPGA实验报告

一、实验目的 1.设计一个密码锁 2.加深FPGA电路原理的理解 3.掌握VHDL语言的使用,学会用VHDL语言来编程解决实际问题 4.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧 5.学会应用开发系统实现硬件电路,检验电路的功能 二、实验内容 题目:电子密码锁 内容:设计一个4位串行数字锁 1.开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁。否则进入“错误”状态,发出报警信号。 2.锁内的密码可调,且预置方便,保密性好。 3.串行数字锁的报警,直到按下复位开关,才停下。此时,数字锁又自动等待下一个开锁状态。 三、实验步骤 1.系统总框图 本系统的硬件部分主要由密码锁按键消抖模块,密码输入比较更改模块,密码显示模块、报警模块组成。整体系统框图如下图所示。

2.密码锁的主要功能 密码锁控制器的主要功能有: (1)密码输入:有二个按键来控制(分别代表0和1),每按下一个键,要求在数码管上显示,并依次左移。 (2)密码校验:如果有按键按下,直到松开该按键,如果密码校验正确,无变化,否则如果密码校验错误蜂鸣器响,表明密码错误。(3)错误报警:密码输入错误开始报警。 (4)密码修改:输入密码正确后按按键输入要设置和更改的密码,按按键确认密码设置与更改,则密码设置成功。 3.密码锁的各个模块 (1)按键消抖。 每按下一个键,仅产生一个信号脉冲,作为按键的使能信号,使能信号控制显示的数字。 (2)密码输入比较 密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足,都不能打开锁。锁内密码为“0000” , key2 和key1 置低电平,分别表示输入“1” 和“0” 。输入密码前先按start键,再依次正确输入0000,会在数码管逐一显示,按确认键,经检验,输入的密码等

密码锁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 键盘模块仿真图:

FPGA基于verilog HDL的密码锁

EDA课程设计课设 密码锁 名称: 课设 2014.6.23——7.5 日期: 姓 陈飞 名: 学 110250101 号: 哈尔滨工业大学(威海) 信电学院电子信息工程 2014.6

一. 所用软件与硬件介绍 1.1所用软件介绍 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 QuartusII可以在XP、Linux以及Unix上使用,除了可以使用TCL脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,QuartusII 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII 的更新支持,QuartusII 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII 中包含了许多诸如SignalTapII、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII 友好的图形界面及简便的使用方法。 1.2所用硬件介绍 硬件的总体设计: 故由上图,将整个硬件电路部分主要分成五个部分,即:FPGA电路设计,

FPGA基于某verilog HDL的密码锁

EDA课程设计 课设名称:密码锁 课设日期: 2014.6.23——7.5 姓名:陈飞 学号:110250101 哈尔滨工业大学(威海) 信电学院电子信息工程 2014.6

一. 所用软件与硬件介绍 1.1所用软件介绍 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 QuartusII可以在XP、Linux以及Unix上使用,除了可以使用TCL脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,QuartusII 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII 的更新支持,QuartusII 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII 中包含了许多诸如SignalTapII、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII 友好的图形界面及简便的使用方法。 1.2所用硬件介绍 硬件的总体设计: 故由上图,将整个硬件电路部分主要分成五个部分,即:FPGA电路设计,数码管显示驱动电路设计,温度传感器电路设计,报警电路设计,键盘矩阵

基于FPGA的数字密码锁

CPLD/FPGA课程设计项目名称:基于FPGA的数字密码锁设计 专业班级: 学生学号: 学生姓名: 指导老师: 2016年6月4日

摘要 本设计是基于现场可编程门阵列FPGA 器件的电子密码锁的设计。通过Verilog语言控制4位二进制数,组成数字排列,形成一个简单的数字密码锁,假设预设密码为4位数:0000,当输入正确时输出为1、输入错误时输出为0。同时输出输入的次数,当3次以上输入错误时,输出一个报警信号,即使第四、五次输入正确也输出报警信号。 本设计利用Modelsim软件编写Verilog HDL硬件描述语言程序以实现输入密码、开锁、报警功能。通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。 关键词:现场可编程门阵列;数字密码锁;Verilog HDL;

Abstract This design is the electronic code lock field programmable gate array FPGA devices based design. By Verilog language control 4-bit binary number, composed of figures arranged to form a simple digital lock, assuming that the default password is 4 digits: 0000, correct output when the input is 1, the output of the input error to zero. At the same time the number of input and output, and when more than three times the input error, an alarm signal is output, even if the fourth and fifth also enter the correct output alarm signal. This design uses Modelsim software write Verilog HDL hardware description language program to implement a password lock, alarm function. The simulation debugging, using the programmable device FPGA design basic electronic locks to achieve the desired purpose. Key words: FPGA;The digital combination lock;Verilog HDL;

课程设计fpga密码锁

FPGA实验报告 一、实验目的 1.设计一个密码锁 2.加深FPGA电路原理的理解 3.掌握VHDL语言的使用,学会用VHDI语言来编程解决实际问题 4.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧 5.学会应用开发系统实现硬件电路,检验电路的功能

二、实验内容 题目:电子密码锁 内容:设计一个4 位串行数字锁 1.开锁代码为4 位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁。否则进入“错误”状态,发出报警信号。 2.锁内的密码可调,且预置方便,保密性好。 3.串行数字锁的报警,直到按下复位开关,才停下。此时,数字锁又自动等待下一个开锁状态。 三、实验步骤 1. 系统总框图本系统的硬件部分主要由密码锁按键消抖模块,密码输入比较更改模块,密码显示模块、报警模块组成。整体系统框图如下图所示。 2.密码锁的主要功能 密码锁控制器的主要功能有: (1)密码输入:有二个按键来控制(分别代表0和1),每按下一个键,要求在数码管上显示,并依次左移。

(2)密码校验:如果有按键按下,直到松开该按键,如果密码校验正确,无变化,否则如果密码校验错误蜂鸣器响,表明密码错误。 (3)错误报警:密码输入错误开始报警。 (4)密码修改:输入密码正确后按按键输入要设置和更改的密码,按按键确认密码设置与更改,则密码设置成功。 3.密码锁的各个模块 (1)按键消抖。 每按下一个键,仅产生一个信号脉冲,作为按键的使能信号,使能信号控制显示的数字。 (2)密码输入比较 密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足,都不能打开锁。锁内密码为0000”,key2和keyl置低电平,分别表示输入T和0”。输入密码前先按start键,再依次正确输入0000,会在数码管逐一显示,按确认键,经检验,输入的密码等于锁内预先设置的密码密码锁开启信号,锁开启。同时, 可以进行密码修改。若在输入密码的过程中,4 位二进制密码出现输入错误, 那么锁不能开启, 同时,蜂鸣器发出报警信号。直到按下复位开关, 报警才停止。此时, 数字锁又自动进入等待下一次开锁的状态。 (3)密码修改 为防止任意进行密码修改, 必须在正确输入密码后, 才能重新设置密码。输入正确密码后, 锁打开, 就可直接进行修改密码的操作。修改密码实质就是用输入的新密码去取代原来的旧密码,按确定按键ok, 存储新密码。

密码锁verilog课程设计

密码锁v e r i l o g课程设计Last revision on 21 December 2020

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

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

基于FPGA的密码锁设计

学号14082200163 成绩评语 题目基于FPGA的密码锁设计 作者嘿嘿班级 0803BF 院别信息与通信工程专业电子信息工程完成时间 2011年5月8日

基于FPGA的密码锁设计 【摘要】基于FPGA设计的电子密码锁是一个小型的数字系统,与普通机械锁相比, 具有许多独特的优点: 保密性好, 防盗性强, 可以不用钥匙, 记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。本文介绍一种基于现场可编程门阵列FPGA 器件的电子密码锁的设计方法采用Verilog HDL语言对系统进行描述,并在EP1K10TC100-3上实现。 系统所实现的功能:用户给电子密码锁设定一个密码,当使用本机键盘开锁时,该密码与用户设定的密码比较,如果密码正确,则开锁;如果密码不正确,则允许用户重新输入密码,最多可输入三次,若三次都不正确,则扬声器报警,直到按复位键才允许再次输入代码。 通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。当然,该系统在一些细节的设计上还需要不断的完善和改进,特别是对系统的扩展有很好的实用和设计的价值。 【关键词】:现场可编程门阵列, 硬件描述语言, 电子密码锁, 扬声器

【Abstract】FPGA-based design of the electronic code lock is a small digital system, electronic password lock compared with ordinary mechanical locks, with many unique advantages: good privacy, security and strong, can not key to remember passwords to unlock, and so on. At present the use of the electronic code lock on most of SCM technology to SCM as the main devices, encoders and decoders of Health and the software approach. In practice, since the process easy run to fly, the reliability of the system can be poor. Based on this paper, a field programmable gate arrays FPGA devices electronic password lock design, Verilog HDL language used to describe the system and achieve EP1K10TC100-3. Implementation of the system features: users of electronic password lock to set a password, when using the keyboard unlock the machine, the user password and set the password, if the correct password, then unlock if the password is not correct, allows Users to enter a password, can enter up to three times, three times if not correct, the speaker alarm, until the reset button only allowed to re-enter the code. The simulation tests using programmable devices FPGA electronic password lock the basic design to achieve the expected goal. Of course, some of the details of the system in the design of the need to constantly refined and improved, in particular the expansion of the system have a good design and practical value. 【Key words】: FPGA , Verilog HDL, electronic password lock , speaker

基于FPGA的verilog的电子密码锁设计

《EDA技术》 设计报告 题目: 学院: 专业: 班级: 姓名: 学号: 一.引言 1.1 电子密码锁的现状 随着我国对外开放的不断深入,高档建筑发展很快,高档密码锁具市场的前景乐观。我国密码锁具行业对密码锁具高新技术的投入正逐年增大,高档密码锁

的市场需求也逐年增加。在安防工程中,锁具产品是关系到整个系统安全性的重要设备,所以锁具产品的优劣也关系了整个安防工程的质量和验收。 目前,市场上比较先进的智能电子密码锁分别有:IC卡电子密码锁、射频卡式电子密码锁、红外遥控电子密码锁、指纹识别电子密码锁和瞳孔识别电子密码锁等。IC卡电子密码锁成本低,体积小,卡片本身无须电源等优点占领了一定的市场份额,但是由于有机械接触,会产生接触磨损,而且使用不太方便,在一定程度上限制了它的应用;射频卡式电子密码锁是非接触式电子密码锁,成本也不太高,体积跟IC卡密码锁相当,卡片使用感应电源,重量很轻,技术成熟,受到了广泛的欢迎,但是与IC卡电子密码锁相比,成本偏高;指纹识别电子密码锁和瞳孔识别电子密码锁可靠性很高,安全性是目前应用系统中最高的,但是成本高昂,还没进入大众化使用阶段。 在国外,美国、日本、德国的电子密码锁保密性较好,并结合感应卡技术,生物识别技术,使电子密码锁系统得到了飞跃式的发展。这几个国家的密码锁识别的密码更复杂,并且综合性比较好,已经进入了成熟期,出现了感应卡式密码锁,指纹式密码锁,虹膜密码锁,面部识别密码锁,序列混乱的键盘密码锁等各种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,新型的电子密码锁系统的应用也越来越广。 基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。 在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。 目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。基于FPGA的电子密码锁已经是现代生活中经常用到的工具之一,用于各类保险柜、房门、防盗门等等。用电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点。由于采用的是可编程逻辑器件FPGA,使得系统有相当大的灵活性,随时可以进行硬件升级、扩展,而且系统设计完善以后还可以将主控的FPGA固化成一片ASIC,那么这块ASIC就可以作为专用的数字密码锁芯片。而且由于硬件可升级,还可随时增加密码位数或增加新的功能,使得密码锁有更高的安全性、可靠性和方便性。

基于FPGA的密码锁的设计课程设计任务书(硬件)

课程设计说明书 学生姓名: 学号: 学院: 专业: 题目:专业综合实践之硬件部分: 基于FPGA电子密码锁的设计 指导教师:职称: 2010 年 12 月 27 日

课程设计任务书 09/10 学年第一学期 学院: 专业: 学生姓名: 学号: 课程设计题目:专业综合实践之硬件部分: 基于FPGA电子密码锁的设计 起迄日期:2011年1 月3 日~2011年元1 月14 日课程设计地点: 指导教师: 系主任: 下达任务书日期: 2010 年12 月 27 日

课程设计任务书 1.设计目的: 熟悉FPGA的基本工作原理,利用FPGA嵌入式芯片设计一个电子密码锁控制系统。使学生将掌握的硬件理论知识与实践结合,提高学生的科研、综合创新能力。 2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等): 任务要求: 1.掌握FPGA的基本原理; 2.设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁; 3.在锁的控制电路中储存一个可以修改的4位二进制代码,当开锁按钮开关的输入代码等于储存代码时,开锁; 4 从第一个按钮触动后的30秒内若未将锁打开,则电路长报警5S,若输入密码错误1或2次,则每次短报警1S,若输错三次密码则长报警。 3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕: 系统的硬件原理图,对系统进行仿真 系统的软件流程图与部分程序 设计说明书

课程设计任务书 4.主要参考文献: (5篇以上) 5.设计成果形式及要求: 硬件原理图、部分程序、设计说明书 6.工作计划及进度: 2011年1 月3 日~ 2011年1月 5日:查相关的资料,熟悉FPGA 2011年 1 月6 日~ 1 月8日:在教师指导下完成系统方案的设计 1月9 日~ 1 月 12日:学生在指导教师辅导下完成实验 1月 13 日~ 1 月14 日:完成课程设计说明书的纂写 1月 14 日:答辩 系主任审查意见: 签字: 年月日设计说明书应包括以下主要内容:

密码锁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软件对各个模块进行编写仿真。

键盘电路理想接口图: 设计原理: 本模块采用2×2的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个按键, flag 产生一个矩形波,作为连接模块的触发信号。同时key_value 值为所按下键的编码值,与flag 一同传入连接模块。 实际设计接口图: key_value 键盘模块仿真图: 跟据图中所示当输出kevalue :10值的时候,flag 出现一个矩形波。 当输出kevalue:11值的时候,flag 再次出现上跳沿。实际上,上面的图写的测试文件是有一点错误的,当a 扫描到第三个值(01)时,b 在实际电路中应该是01而不是11,此时根据程序flag 应置为1,当然此时flag 本来就是1,不会发生错误。在实际中,时钟频率跳的如此之快,人按一下按键的持续时间还是有的,所以flag 应在按键按完后再下降下来。不然多出很多无用的矩形波,这个装置就没用了。

基于-FPGA数字密码锁

CPLD/FPGA课程设计 项目名称:基于FPGA的数字密码锁设计 专业班级: 学生学号: 学生: 指导老师: 2016年6月4日

摘要 本设计是基于现场可编程门阵列FPGA 器件的电子密码锁的设计。通过Verilog语言控制4位二进制数,组成数字排列,形成一个简单的数字密码锁,假设预设密码为4位数:0000,当输入正确时输出为1、输入错误时输出为0。同时输出输入的次数,当3次以上输入错误时,输出一个报警信号,即使第四、五次输入正确也输出报警信号。 本设计利用Modelsim软件编写Verilog HDL硬件描述语言程序以实现输入密码、开锁、报警功能。通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。 关键词:现场可编程门阵列;数字密码锁;Verilog HDL;

Abstract This design is the electronic code lock field programmable gate array FPGA devices based design. By Verilog language control 4-bit binary number, composed of figures arranged to form a simple digital lock, assuming that the default password is 4 digits: 0000, correct output when the input is 1, the output of the input error to zero. At the same time the number of input and output, and when more than three times the input error, an alarm signal is output, even if the fourth and fifth also enter the correct output alarm signal. This design uses Modelsim software write Verilog HDL hardware description language program to implement a password lock, alarm function. The simulation debugging, using the programmable device FPGA design basic electronic locks to achieve the desired purpose. Key words: FPGA;The digital combination lock;Verilog HDL;

基于Verilog语言的8位数字密码锁设计

本科学生学年论文 题目:8位数字密码锁设计 学院:电子工程学院 年级:2011级 专业:电子科学与技术(光电子) 姓名:李思远 学号:20112508 指导教师:林连东 2011 年 5 月 28 日

摘要 本文简述了VHDL语言的功能及其特点,并以8位串行数字锁设 计为例,介绍了在QUARTUS II 6.0开发软件下,利用VHDL硬件描述语言设计数字逻辑电路的过程和方法。 关键词:VHDL语言数字锁QUARTUS II 6.0 硬件描述语言数字 逻辑电路 Abstract This paper describes the function and characteristics of VHDL language, and eight serial number lock design as an example, this paper introduces QUARTUS II 6.0 software development in of VHDL hardware design of digital logic circuit process and method. Keywords:VHDL language QUARTUS II 6.0 hardware description language, digital logic circuit

目录 摘要 (2) Abstract (2) 第一章前言 (4) 第二章密码锁系统的设计 (4) 2.1 设计要求 (4) 2.2 设计分析 (5) 第三章软件设计 (6) 第四章软件仿真及验证 (10) 总结 (12) 参考文献 (13) 致谢 (14)

基于FPGA的电子密码锁设计

一、前言 电子密码锁的使用体现了人们的消费水平、保安意识和科技水平的提高, 而且避免了携带甚至丢失钥匙的麻烦。目前设计密码锁的方法很多,例如传统的PCB 板设计、用PLC 设计或者单片机设计等等。而用VHDL 可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。VHDL 是一种符合IEEE 标准的硬件描述语言,其最大的特点是借鉴高级程序语言的功能特性,对电路的行为与结构进行高度的抽象化、规范化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程延到高度自动化。 二、方案设计 密码锁的的构成主要由密码输入、密码设置、比较控制和报警部分组成, 此外密码锁必须能够保存已设置的密码,因而需要一个寄存器来保存密码,同时由于控制电路和报警电路要用到不同的时钟,因而需要一个时序产生电路来生成需要的不同信号,采用分频方法实现。 根据密码锁的电路特点,选用的是实验箱的模式6电路,根据电路功能,在这里设计的密码锁以4位2进制代码作为密码的电子密码锁。 其原理框图如下所示: 图一、电子密码锁原理框图 三、功能模块的实现 1、时序电路 在密码锁的电路中,输入计时、报警计时需要的1HZ 的时钟脉冲信号,而驱动蜂鸣器工作需要的很高频率的脉冲信号,因而这里采用输入一个高频脉冲(1024HZ )信号来驱动蜂鸣器,采用分频的方法得到1HZ 的计时脉冲,程序如下: 密码输入 密码设置 比较控制 报警电路 寄存器(保存设置的密码) 开锁信号 时序产生电路

process(clk_1k) variable cnt1:integer:=0; begin if rising_edge(clk_1k) then if cnt1=512 then clk_1<=not clk_1; cnt1:=0; else cnt1:=cnt1+1; end if; end if; end process; 程序说明:clk_1k为输入的1024HZ高频脉冲,cnt为分频得到的1HZ计时脉冲。 2、密码设置 为了安全性,密码锁必须能够重复的设定密码,在设定密码锁后,应该设置一个寄存器来存储设定的密码,程序如下: process(rst,password,enter_p) is begin if rst='0' then if enter_p='1' then ram<=password; en1<='1'; end if; end if; end process; 程序说明:rst低电平时所有的模块复位,只有密码设置模块工作;password为设置密码时的输入端,ram就是存储密码的寄存器;enter_p为在这里为密码设置使能端,高电平有效。 密码设置的仿真波形如下图,由图中可以清楚地看到在enter_p高电平时寄存器ram中得到了输入的密码1001。 图二、密码设置仿真波形 3、密码输入 密码输入部分要求在密码开始输入时进行计时,超时了要求报警,因此在密码输入时设置一个计时使能信号en2,密码开始输入时使能信号en2有效,控

数电课程设计-基于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

相关主题
文本预览
相关文档 最新文档