哈工大数字逻辑大作业电子密码锁 您所在的位置:网站首页 eda电子密码锁设计 哈工大数字逻辑大作业电子密码锁

哈工大数字逻辑大作业电子密码锁

2024-01-02 03:14| 来源: 网络整理| 查看: 265

数字逻辑与数字系统设计 实验大作业报告 (2020年)

代码https://github.com/1190202002/logichomework.git

课程名称:数字逻辑与数字系统设计 任课教师:张彦航 作业题目:电子密码锁设计 完成人: 李艺峰 学号: 1190202002 班级: 1903010 报告日期:2020年 12 月 14 日 报告成绩 教师评语

1.设计要求 1.1设计一个开锁密码至少为4位数字(或更多)的密码锁。 1.2当开锁按扭开关(可设置8位或更多,其中只有4位有效,其余位为虚设)的输入代码等于所设密码时启动开锁控制电路,并且用绿灯亮、红灯灭表示开锁状态。 1.3从第一个按扭触动后的20秒内若未能将锁打开,则电路自动复位并发出报警信号,同时用绿灯灭、红灯亮表示关锁状态。 2.工作原理及系统方框图 2.1工作原理

预设4位十进制数字1369作为密码,将其转化为二进制password=16’b0001_0011_0110_1001进行储存。拨动R2,M4,N4,R1表示第一位密码的二进制{k1,k2,k3,k4},拨动U3(p1),若相等进行下一项比较,否则回到初始状态。重复上述过程,U2(p2),V2(p3),V5(p4)分别表示2,3,4位判断。初始时,0(red)灯亮,7(green)灯灭,3(warn)灯灭,表示未开锁。打开复位键P5(reset),进入20s倒计时。若20s内未打开,则0(red)灯亮,3(warn)灯亮,7(green)灯灭,表示进入报警状态;若20s内打开,则7(green)灯亮,0(red)灯灭,3(warn)灯灭,否则20s内为未开锁状态。关闭复位键P5(reset)恢复初始状态并保持。

2.2系统方框图

在这里插入图片描述 在这里插入图片描述

3.各部分模块具体功能及设计思路 3.1时钟模块

功能:进行计时,达到20s则重新计时。 设计思路:开发板时钟频率为100MHz,当次数达到2000000000次时达到20s。

3.2状态机

功能:输入密码后,进行状态转换。正确则变为下一状态,判断下一位;错误则返回原状态。20s后,若未开锁则进入报警状态。 设计思路:按三段式方式编写,第一段原态到新态转换,第二段指定新态的变化,第三段指定不同状态输出。

4.调试过程

在调试的过程中,首先设计的密码锁为输错一位直接进入报警状态。后来考虑到此方法通过一次次试验,最多只需40次即可验证出密码,安全性不够高。通过思考,将密码锁输错1位后直接回到初始状态,最多需要10000次才可得出密码,安全性够高。

5.设计结论

本项目采用FPGA,Verilog语言,状态机设计实现了一个密码锁,该密码锁实现了全部指定功能,包括完成了密码锁的基本功能。实现了开锁密码为4位十进制数字,当开锁按扭开关的输入等于所设密码时启动开锁控制电路,进入开锁状态。从复位按扭触动后的20秒内若未能将锁打开,则电路自动复位并发出报警信号,进入关锁状态。该密码锁还需要进一步完善的地方包括添加时间倒计时显示,这部分功能可能需要用到数码管显示操作。

6.设计心得与总结 6.1心得

设计时要先进行整体的设计,明确各个状态以及各状态之间的转换。在具体代码编写时可采用三段式进行状态机设计。在进行综合时,注意系统的提示与报错信息,针对具体的报错信息和代码进行改正。

6.2总结

通过对密码锁的设计,对于时序电路有了更深刻的认识,对于状态机的具体工作流程和代码编写都有了更大的进步。对于硬件设计和代码编写之间的联系更加了解,提升了自己硬件操作和系统编写能力。

参考文献: [1] 于斌,黄海.Verilog HDL 数字系统设计及仿真.中国工信出版社,电子工业出版社. 附录 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有