基于Verilog HDL的数字密码锁的设计(3)

2019-01-10 12:53

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 准备状态S0:系统开锁、报警或上电后进入准备状态,这时系统不接收除READY信号外的任何输入信号。

密码输入状态S1:在该状态下,如果按下“READY”则保持该状态不变;如果按下“OK”和“OPEN”则转到报警状态;如果有数据输入,则控制器输入一个DATA- IN 信号,输出RD 和CNP1 信号,从RAM中读取密码进行比较,同时使计数器加1 ;检查计数是否计数到100 ,若CNTe1 有效,表示已经接收到四个正确的密码,可以转入下一个状态,否则返回本状态,继续接收其它密码。 检查Dep信号状态,Dep=1则密码正确,进入确认状态,反之则输出CNP2 信号进入报警状态;如果仍然有数据输入,则说明输入密码错误,则输出CNP2 信号进入报警状态。

密码设置状态S2:在确认状态下按“SET”键进入该状态,EN 信号有效。该状态首先由控制器发RESET-CNT信号;检查是否有数据输入,如果没有则等待;若有数据输入,控制器则输出WR 和CNP1信号,向RAM发出信号,并使计数器加1 ,检查计数器是否计数到100 ,若CNTe1有效,表示已经接收到四个正确的密码,进入确认状态,否则返回本状态,继续接收其它密码。

确认状态S3:输入密码正确后进入该状态。密码输入得到确认才可以进入开锁状态,密码设置完毕后,只有得到确认才可生效,并返回准备状态。

开锁状态S4:输入密码确认后进入该状态,此时按“OPEN”键,控制器便发出SLT信号开锁并返回到准备状态。

报警状态 S5:每次进入该状态首先检查计数器 2 是否计数到 01。若输入错误,则 CNTe2 有效,控制器输出 SLB 信号,报警电路报警。 3.2电路参数的计算及元器件的选择 I2C总线E2PROM 器件AT24C08

实验箱

供电电源5V

导线若干

键盘按键与编码的对应表

编码 0000 0001 1 0111 7 0010 2 1000 8 0011 3 1001 9 0100 4 1010 # 0101 5 1011 * 按键字符 0 编码 0110 按键字符 6 11

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 控制状态转换表

3.3 特殊器件的介绍

通常在一个键盘中使用了一个瞬时接触开关,并且用如图2 所示的简单电路,微处理器可以容易地检测到闭合。当开关打开时,通过处理器的I/O口的一个上拉电阻提供逻辑1;当开关闭合时,处理器的I/O 口的输入将被拉低得到逻辑0。

图2 简单键盘电路

但是开关并不完善,因为当它们被按下或者被释放时,并不能够产生一个明确的1 或者0。尽管触点可能看起来稳定而且很快地闭合,但与微处理器快速的运行速度相比,这种动作是比较慢的。当触点闭合时,其弹起就像一个球。弹起效果将产生如图3 所示的好几个脉冲。弹起的持续时间通常将维持在5ms~30ms 之间。如果需要多个键,则可以将每个开关连接到微处理器上它自己的输入端口。然而,当开关的数目增加时,这种方法将很快使用完所有的输入端口。

图3 按键抖动

12

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 键盘上阵列这些开关最有效的方法(当需要5个以上的键时)就形成了一个如图4所示的二维矩阵。当行和列的数目一样多时,也就是方型的矩阵,将产生一个最优化的布列方式(I/O端被连接的时候)。一个瞬时接触开关(按钮)放置在每一行与线一列的交叉点。矩阵所需的键的数目显然根据应用程序

而不同。每一行由一个输出端口的一位驱动,而每一列由一个电阻器上拉且供给输入端口一位。

图4 3.4 系统整体电路图 1、系统电路组成: 密码锁处理电路 密码密码锁控制电路 报警电重置路 电路 键盘输入电路 13

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告

2、密码锁的系统结构框图: Reset Reset 处理器 清零 B 2 6 锁 Ok 密码设定 0 4 8 1 5 9 3 1 7 开 BCD码修改器 计数器C3 计数器C2 处理器1 数值比较器 M 处理器2 数位比较器 计数器C1 Out Alter Open Err 控制器 Cp B M 4 数字密码锁系统仿真和调试 4.1 仿真软件介绍

Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。

Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。

14

淮南师范学院电气信息工程学院2013届电子信息工程专业课程设计报告 此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。

Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 4.2 系统仿真实现 设计程序:

module Lock_RTL(OPEN,ERROR,nRESET,TRY,READ,BIT,CLK); input nRESET,TRY,READ,BIT,CLK; output OPEN,ERROR; reg OPEN,ERROR;

wire nRESET,TRY,READ,BIT,CLK; parameter S0=6’b000001, S1=6’b000010, S2=6’b000100, S3=6’b001000, S4=6’b010000, S5=6’b100000; parameter password=8’b01011001; reg [5:0]CurrentState,NextState; reg nCLR,CNT; wire B,M; reg [2;0]Q; wire A2,A1,A0; wire [7:0]D;

15


基于Verilog HDL的数字密码锁的设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:泵与泵站课程设计计算说明书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: