1 / 17
文档名称:

密码锁 OK.doc

格式:doc   大小:23KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

密码锁 OK.doc

上传人:wz_198614 2017/11/5 文件大小:23 KB

下载得到文件列表

密码锁 OK.doc

相关文档

文档介绍

文档介绍:密码锁_OK
山东科技大学电子综合课程设计
基于FPGA的电子密码锁的设计
一、设计内容与要求
,密码为一个8位的十六进制数,密码固化在锁内
,如果正确,则***
,密码将报警并进入锁定状态
,警报时间过后,密码重新回到等待状态,用户可以再次输入密码。
二、所需设备
1. Quartus II 开发软件 1套
2. T-Rex C1 Development Kit
三、设计思想
1. 可通过FPGA有限状态机来实现。
2. 设计有限状态机最开始的工作时要确定电路,包括哪些状态,比如某个电路包括四个状态,S0,S1,S2,S3。然后对所有状态给出一个状态编码,
比如为状态S0赋予编码00,为状态S1赋予编码01,为状态S2赋予编
码10,为状态S3赋予编码11。状态编码是状态的标识,保存在寄存器
当中,对于此编码形式,只需一个2位的寄存器就可以了。
FSM Encoding Style 主要有:
? Binary Encoding
? One Hot Encoding
? Gray Encoding
山东科技大学电子综合课程设计
二进制与一位热码的特性比较:
状态机可以认为是组合逻辑和寄存器逻辑的特殊租户,它一般包括两个部分:组合逻辑部分和寄存器逻辑部分。寄存器用于存储状态,组合电路用于状态译码和产生输出信号。状态机的下一个状态及输出,不仅与输入信号有关,而且还有寄存器当前所处的状态有关。
3. 根据输出信号产生方法的不同,状态机可以分成两类:Mealy型和Moore型。Moore型状态机的输出只是当前状态的函数,而Moore型状态机的输出只是当前状态的函数,而Mealy型状态机的输出则是当前状态和当前输入状态的函数。其原理如下两图:
山东科技大学电子综合课程设计
山东科技大学电子综合课程设计
四、设计流程:
1. 本次密码锁的设计,有限状态机应该包括以下状态:密码为输入前的等待状态、输入密码时的等待状态、输入密码正确时的通过状态、输入密码错误时的警报状态。
其中当密码输入时又可包括以下状态,正常输入状态、异常输入状态(包括命令状态)、输入确认状态。
2. 状态编码
状态编码主要有二进制编码、格雷编码和一位独热编码等方式。
格雷编码时,相邻状态每次只有一个比特位产生变化,这样减少了瞬变的次数,也减少了产生毛刺和一些状态的可能。
采用一位独热编码,虽然多用了触发器,当可以有效节省和简化组合电路。对于寄存器数量多而逻辑相对缺乏的FPGA器件来说,采用一位独热编码可以有效提高电路的速度和可靠性,也有利于提高器件资源的利用率。
3. 将产生状态的组合逻辑电路和用于保存状态的寄存器分别写在不同的always块中。其中主要包括:输出控制部分、警报计时部分、锁打开后的计时部分、比较密码部分、记录密码部分和记录错误次数的部分。
4. 编写代码
5. 功能仿真和时序仿真
6. 引脚配置与下载
山东科技大学电子综合课程设计
五、程序清单:
module passwd_lock(
);
input
input clk; //输入时钟信号//输入复位信号
//输入命令信号
//输出警报信号
//输出通过信号 clk, resetb, cmd, alarmed, passed, resetb; cmd; input [4:0] output output
wire
wire clk; alarmed; passed; resetb;
cmd;
alarmed; passed; wire [4:0] reg reg
//输入与输出的声明部分,其中,clk为输入的时钟信号,resetb为密码复位的输入信号,cmd为输入命令,需注意的时,cmd并不是总在表示密码,也表示密码的间隔,如当输入4位密码后需要一个确认“enter”
山东科技大学电子综合课程设计
信号,当密码输入错误时,需要取消“cancel”信号,这些信号之间在设计中通过有限状态转换机实现。
parameter PASSWORD=16'd1234;//盛放密码的参数
reg [15:0] password;//输入数值盛放寄存器
//输入的数字编码 0~9,enter,cancel
reg one=5'b10001,。
two=5'b10010,
three=5'b10011,
four=5'b10100,
fiv