在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2313|回复: 1

[原创] 【小梅哥FPGA进阶教程】第十二章 数字密码锁设计

[复制链接]
发表于 2017-2-21 19:57:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
十二、数字密码锁设计



本文由山东大学研友袁卓贡献,特此感谢
实验目的
实现数字密码锁设计,要求矩阵按键输出且数码管显示输入密码,密码输入正确与否均会有相应标志信号产生。
实验平台
芯航线FPGA核心板、数码管_VGA_PS2模块、矩阵按键模块
图片1.jpg
实验原理
随着生活质量的提高,当代人们也认识到了安全的重要性,已经不再满足于老式的机械钥匙。近年来越来越多的技术开始在安全领域应用,例如普通的按键输入、指纹输入或者虹膜输入等。
本节设计一款按键输入式密码锁,用矩阵键盘输入密码,输入完成后进行密码比对,如密码输入正确则输出开门信号以及灯光指示,如密码输入错误则蜂鸣器进行报警以及灯光指示。
综合以上要求可以看出此处系统框图如图1所示。
图片2.jpg
图1 系统框图
其中各模块功能描述如表1所示。
图片3.jpg
表1 各模块功能描述
矩阵按键模块
现在分开介绍,矩阵按键输入控制模块的框图及其接口列表如下所示,详细内容可以参考芯航线关于矩阵按键的教程,此处不再详述。

图片4.jpg
图2 矩阵按键模块框图
图片5.jpg
表2 矩阵按键模块接口列表
密码比较模块:
现介绍密码检测模块,其主要功能即比较输入与预设的密码是否一致,
图片6.jpg
图2 密码检测模块框图
图片7.jpg
表2 密码检测模块列表
这里先将密码设置为4位十进制数1234,如下所示
图片8.jpg
通过计数矩阵按键按下标志信号,依次将数据暂存到寄存器mima_r中。
图片9-1.jpg
图片9-2.jpg


这里通过一个独立按键来控制比较信号,用到了按键消抖模块,详细内容可以参考芯航线有关章节。
图片10.jpg
当开始比较后,根据实际情况判断后输出正确与否。
图片11.jpg
控制模块:
现在介绍模块的控制单元。本模块主要功能是根据密码检测模块的输出确定,开关门信号以及声光信号。其模块接口列表及功能描述如下所示。

图片12.jpg
图3 控制模块框图
图片13.jpg
表3 控制模块接口列表
在这里使用三段式状态机进行描述。
图片14.jpg
第一个always块:
图片15.jpg
第二个always块:
图片16-1.jpg
图片16-2.jpg


第三个always块:
图片17.jpg
图片17-2.jpg
图片17-3.jpg


数码管显示模块:
Hex8为数码管显示模块,其框图以及其接口列表如下所示,具体功能介绍可参见芯航线相关内容。
图片18.jpg
图4 数码管显示模块框图
图片19.jpg
表4 数码管显示模块接口列表
顶层设计:
最后在顶层例化各模块即可,分配引脚后全编译无误后即可下载到芯航线开发板中观测到对应现象。
图片20.jpg
图5 顶层文件RTL Viewer

小梅哥
芯航线电子工作室
发表于 2017-2-22 09:52:17 | 显示全部楼层
激励程序呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 01:16 , Processed in 0.018942 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表