• 【紫光同创国产FPGA教程】【PGC1/2KG第六章】密码锁实验例程


    本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处

    适用于板卡型号:

    紫光同创PGC1/2KG开发平台(盘古1K/2K)

    一:盘古1K/2K开发板(紫光同创PGC2KG开发平台)简介

    盘古1/2K 开发板是一套基于紫光 FPGA 的开发套件,以紫光 Compa 系列PGC1KG-LPG100 / PGC2KG-LPG100 器件为核心,预留丰富的扩展 IO 及数码管、按键、LED 灯,为用户提供基本的硬件环境。

    二:实验目的

    利用MES2K板卡上的按键,拨码开关以及数码管实现一种简单的密码锁;

    三:实验要求

    利用拨码开关设置密码,使用按键输入开锁密码。当开锁密码与设定密码相同时开锁成功,数码管显示 8888,密码错误时显示 7777。

    SW1-  SW4 设置 2 位数密码,每两位设置一位密码,BM[0:1]设置第一位对应 BM1和 BM2,BM[2:3]设置第二位。所以密码是由0,1,2,3 组成的四位数。

    KEY1-KEY2 作为密码输入,按键按一下数字加 1,数字由数码管显示,数字在 0,1,2,3 中循环。

    K4 作为确认按键,按下 K4,输入的密码与设置的密码比对,如相同则显示 8888,若不同则显示 7777。 按下 K3 清零,按下后数码管显示 0000,可以重新输密码。

    四:实验原理

    原理上与前一个章节的序列检测是类似的,在前一个实验的基础上有了一些延伸;

    序列对比的位宽发生改变,单个数据占2bit,一个按键控制输入密码数据设置为2bit即可;对比与重新开始在此实验用两个按键实现,一个确认对比,一个清空结果;

    五:实验源码(完整源码查看demo源文件)

    根据需求我们需要如下三个子模块:

    ①按键控制模块;

    1、对4个按键输入信号均做消抖处理,2、KEY4和KEY3取下降沿输出,3、KEY[2:1]以下降沿来变更各自的输入密码,每次数字加1(0~3循环,2bit即可)

    ②数码管显示模块;

        显示状态有两种:

        密码输入状态:

            1、上电默认状态; 2、KEY3下降沿触发进入重置状态;3、实时显示2位输入密码;

        密码验证状态:

            1、KEY4下降沿触发进入;

            2、显示密码验证结果,正确则显示8888,错误则显示7777;

    ③密码验证模块;

         KEY4下降沿触发使能工作; KEY4下降沿触发所存输入密码,并与拨码开关设置的密码进行比较;

         输出密码比较结果,提供个数码管显示模块。​​​​​​​

    顶层模块设计

    顶层模块与上述三个模块之间的关系如下图

    输入输出信号如下表:

    Module设计如下:

    ​​​​​​​按键控制设计

    Module设计如下:

    ​​​​​​​按键消抖设计

    ​​​​​​​对比模块设计

    Module设计

    ​​​​​​​显示模块设计

    此模块设计需要注意数码管显示的两种模式:密码输入模式与密码对比结果显示模式;两种模式的切换由enter_trig与init_trig触发进入;

    对于数码管的显示控制模块这里就不重复描述了;

    六:实验现象

    验证步骤:

    1. 调整输入序列,更改拨码开关的输入值(SW[3:0]);
    2. 调整固定序列,通过轻触按键调整输入密码,数码管实时显示输入密码;
    3. 按下轻触按键KEY3,触发进行密码比对,并且数码管显示比对结果;
    4. 按下轻触按键KEY4,进入重新输入密码状态,重新执行前面三个步骤;

    实验现象

    当SW[3:0]=8’b1010;当输入密码状态时显示0022时,按下Key3后数码管显示数字8888;当输入密码状态时显示不是4个2时2,按下Key3后数码管显示数字7777;按下Key4后重新调整密码,进入输入密码状态; 

  • 相关阅读:
    从 CPU 说起,深入理解 Java 内存模型
    【正点原子STM32连载】第二十章 基本定时器实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
    三相和单相智能微型断路器功能有区别吗?
    <sa8650>qcxser 之 QCarCam 6.X API介绍 (第一部分)
    iNFTnews | 虚拟租赁是Web3的下一个发展方向
    自上而下 or 自下而上?企业部署RPA的2种策略
    确保人工智能的公平性:生成无偏差综合数据的策略
    使用R语言自带数据“USArrests”,利用K-means进行聚类分析。建议按照如下步骤进行
    wireshark 中无线帧的类型和过滤规则对照表
    大数据从入门到实战 - MapReduce基础实战
  • 原文地址:https://blog.csdn.net/MYMINIEYE/article/details/134293651