0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

选用LCD1602作为VHDL语言编写程序时可实现哪五大主要功能?

lhl545545 来源:维库电子市场网 作者:维库电子市场网 2020-10-07 12:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文介绍了一种以FPGA为基础的数字密码锁。采用自顶向下的数字系统设计方法,将数字密码锁系统分解为若干子系统,并且进一步细划为若干模块,然后用硬件描述语言VHDL来设计这些模块,同时进行硬件测试。测试结果表明该数字密码锁能够校验10位十进制数字密码,且可以预置密码,设有断电保护装置,解码有效指示等相应功能。

1功能概述

(1)密码锁的工作时钟由外部晶振提供,时钟频率为50MHz,运算速度高,工作性能稳定。

(2)密码的设置和输入由外接键盘完成,控制电路的安全系数高,操作方便;

(3)密码数字可以由锁的所有者随意设置,并可更改,增强了用户体验。密码修改必须符合预设规则,否则无法修改密码。

(4)开锁时,不限制密码的输入位数(1到10位皆可以),减少了密码被破解的概率(约为10亿分之一的破解率),密码锁的保密能力高。

(5)清除密码键的设定,可以快速清除全部密码,提高了对突发事件的适应能力。

(6)对输入的数字密码既能直接显示,又能转换为星号,防治偷窥,增强保密性。

(7)全部密码输入后,正确时密码锁将开启,显示屏出现:Input Right!指示灯变亮。错误时,显示屏出现:Input Failed!指示灯变灭。

(8)设有断电保护装置,保证电路不会因掉电失去所修改的密码,而回到初的密码值,增强密码的稳定性。

2系统结构

本系统设计主要包括硬件设计和软件设计两部分,均采用模块化设计。其中硬件设计主要包括中央控制模块、微控制器、显示模块、输入模块、外围电路等内容。软件设计包括状态控制模块,逻辑控制模块,液晶显示驱动模块,EPROM驱动模块,扫描输入模块等构成。系统结构框架图如图1所示。

选用LCD1602作为VHDL语言编写程序时可实现哪五大主要功能?

图1:系统结构框架图

设计采用模块化编程方式,整个程序由液晶LCD1602模块(LCD1602.v)、矩阵键盘模块(Matrix_Keys.v)、存储芯片AT24C02模块(AT24C_XX.v)和顶层逻辑功能模块(password.v)组成。顶层逻辑功能模块(password.v)调用其他3个模块完成顶层功能的设计。如图2所示。

选用LCD1602作为VHDL语言编写程序时可实现哪五大主要功能?

图2:矩阵键盘原理图

3底层设计

3.1输入模块

由于键盘按键数量较多,为了减少I/O口的占用,本设计将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,8个端口就可以构成3*5=15个按键,实际上我们只用14个按键就足以解决密码问题,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。故在需要的键数比较多时,采用矩阵法来做键盘是更合理的方案。

3.2显示模块与外围电路

本设计选用了LCD1602作为显示模块的,可以方便地显示所需的数字和提示语,具有界面人性化、功耗低、速度快、节约控制器资源等优点。外围电路主要是一个受控制器控制的LED,由于表示锁的开启与关闭。

3.3存储模块

本设计使用存储芯片AT24C02作为密码的外部存储器。二线制串行EEPROM-24C02是低工作电压的2K位串行电可擦除只读存储器,内部组织为256个字节,每个字节8位,该芯片被广泛应用于低电压及低功耗的工商业领域。设计使用I2C协议实现控制器与存储器的联结,实现密码保存,并保证密码不会因断电丢失。

4工作方式

本系统利用上述系统模块作为硬件基础,使用VHDL语言编写程序,实现了五大主要功能:

(1)确认密码:通过扫描矩阵键盘,判断用户输入内容,将键入的数码与密码存储器中的密码进行比较,判断密码的正误,并控制密码锁的开关;

(2)清除密码:输入密码过程中发生按键失误,可以通过选择清除键清除当前全部的密码,方便重新输入;

(3)密码保护:通过显示切换键,可以切换显示模式。在显示数字模式下,显示屏即显示输入的数字,方便用户操作;在保护模式下,显示的密码用“*”表示,防止外界偷窥,提高安全性能;

(4)修改密码:当密码锁处于打开状态时,默认识别当前用户为锁的持有者,允许修改密码。但修改密码必须符合密码锁内设的“潜在规则”,否则无法完成修改,防止密码锁被破坏;

(5)断电保护:设置电路保护结构,保证电路不会因掉电失去所修改的密码,而回到初的密码值。

其工作流程图如图3.

选用LCD1602作为VHDL语言编写程序时可实现哪五大主要功能?

图3:工作流程图

5仿真与调试

在设计过程中,首先针对各个模块,使用Quartus II等软件进行仿真,然后将程序烧录进行硬件调试。,将整个系统程序进行全编译,进行整个系统的软件仿真,仿真通过后进行整个系统的硬件调。

6特点

本设计开创性地提出了修改密码“潜在规则”的概念,即在修改密码时,新密码必须满足密码锁制作时预设的潜在规则,否则无法成功修改密码,例如:潜在规则为密码必须为七位数,则在修改密码时若输入为五位数则会提示密码修改失败。本设计的意义在于,当入侵者通过非法手段获取正确密码并开锁后,如果短时间内不能发现潜在规则,就不得不放弃修改密码,防止用户利益二次受损。另外潜在规则的设计方式还可以为密码所有位数和等于N,必须为偶数等等,每一种潜在规则都有对应的说明书,所以即使批量生产也不存在潜在规则被破解的问题。此外,用户在忘记密码时可以根据说明书,联系潜在规则回忆密码。另外,密码锁支持1~10位任意位10进制数作为密码,远大于一般密码锁,灵活性极高,可组合出约11亿种密码组合,从概率学上讲,随机破解密码为不可能事件。

7结束语

基于FPGA适用于设计状态机的特点,通过Quartus II仿真以及实物测试,证明本数字密码锁具有功能完善、工作稳定、安全系数高的特点,通过修改密码方案的创新,使其在实际应用中能进一步显示优良的安全性能,具有较好的发展前景。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    463

    文章

    54440

    浏览量

    469410
  • 控制器
    +关注

    关注

    114

    文章

    17879

    浏览量

    195153
  • 存储器
    +关注

    关注

    39

    文章

    7757

    浏览量

    172208
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    32位MCU新品丨笙泉低功耗LCD系列 (MG32F02K),满足长时间锂电应用

    其在显示应用领域的技术延伸,进一步完善产品线布局。 MG32F02K系列主要功能: 该系列主要锁定多脚位LCD 显示与复杂应用市场,其内建 LCD Driver最高
    发表于 03-16 14:26

    C语言主要特点

    ,源程序短,因此输入程序时工作量少。 2.运算符丰富,C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值和强制类型转换等都作为
    发表于 01-05 07:41

    大佬们,我写的LCD1602A无法正常显示(四针脚I2C的)

    是:stm32f103c8t6-LCD1602A-drive--java-standard-library- 作者是:Cileop 接线图、模块的数据手册、程序现象,都在github上 https://github.com/Cileop
    发表于 12-24 20:16

    为什么单片机还在用C语言编程?

    ,只是C语言是最适合单片机编程的高级语言。 一、单片机编程的特点 1.对单片机编程来说,我们首先要考虑的是单片机的程序空间和数据空间都是有限的,所以我们在编写程序时要尽量做到让
    发表于 11-28 07:37

    综合配电柜主要功能喝应用场景是什么

    是综合配电柜的主要功能和应用场景的详细说明: 一、核心功能 电能分配 将输入的电力(如三相电或单相电)通过断路器、隔离开关等设备分配到多个输出回路,为不同负载(如电机、照明、空调等)提供独立电源。 支持多路输出,满足复
    的头像 发表于 10-10 10:41 1268次阅读

    医院专用数据记录仪主要功能有哪些

    介绍一下: 医院专用数据记录仪主要功能包括: 1、患者体征数据记录。实时采集并存储心率、血压、体温等生命体征参数,支持定点或巡回显示测量值,具备报警提示功能。、 2、药品及设备验证。还可用于药品储存
    发表于 09-28 14:53

    SMC1602A LCM使用说明书

    LCD1602手册
    发表于 09-01 17:31 0次下载

    窗口看门狗定时器(WWDT)的主要功能是什么?

    窗口看门狗定时器(WWDT)的主要功能是什么?
    发表于 08-26 06:23

    手持采集器是干什么用的 PDA采集器的主要功能与应用场景

    的“得力助手”。下面就来详细说说手持采集器的主要功能和常见应用场景。一、手持采集器的核心功能1.多形式数据采集手持采集器最核心的能力就是“采集”,它支持条形码、二维码
    的头像 发表于 08-20 15:09 1374次阅读
    手持采集器是干什么用的 PDA采集器的<b class='flag-5'>主要功能</b>与应用场景

    PLC温度控制系统的主要功能

    PLC温度控制系统作为工业加热、恒温场景的核心控制单元,通过整合传感器、执行器与逻辑控制算法,实现对温度的精准调控,其主要功能归纳为以下六大核心模块: 一、实时温度检测与采集 系统
    的头像 发表于 08-07 17:59 1311次阅读

    一维二维码条码识读器的主要功能有哪些

    在信息化快速发展的当下,一维二维码条码识读器已成为各行各业高效处理信息的重要工具。从超市收银到物流追踪,它凭借快速准确的信息识别能力,大幅提升了工作效率。那么,一维二维码条码识读器的主要功能有哪些呢
    的头像 发表于 08-01 15:59 1212次阅读
    一维二维码条码识读器的<b class='flag-5'>主要功能</b>有哪些

    图像采集卡的主要功能与应用

    图像采集卡是一种安装在计算机内部(通常是PCIe插槽)或通过外部接口(如USB3.0,)连接的硬件设备。它的主要功能是将来自摄像头、摄像机、传感器或其他视频源的模拟或数字视频信号,捕获、数字化并传输
    的头像 发表于 07-23 13:47 1401次阅读
    图像采集卡的<b class='flag-5'>主要功能</b>与应用

    直流负载箱的主要功能有哪些?

    直流负载箱是专门用于模拟和测试直流电源系统负载的设备,其主要功能包括以下几点: 直流负载箱可以模拟各种不同类型的负载,如电阻、电感、电容等,以满足不同应用场景的需求。通过调整负载箱的参数,可以实现
    发表于 06-17 13:34

    C语言精彩编程百例-364页

    和低级语言的优点,因此,在工程计算及应用程序开发中得到了广泛的应用。 众所周知,学习新的程序设计语言的最佳途径是编写程序,而本书正是通过了对100个典型实例的分析和讲解,来帮助读者掌握
    发表于 06-13 17:28

    信捷电气XDPPro V3.8.0版本的五大创新功能

    作为信捷XD、XL、XG系列PLC的编程软件,XDPPro始终以工程师的需求为核心,聚焦编程效率、硬件配置与协作体验,此次V3.8.0版本将推出五大创新功能,助您轻松应对复杂工程挑战。
    的头像 发表于 05-23 16:03 2055次阅读
    信捷电气XDPPro V3.8.0版本的<b class='flag-5'>五大</b>创新<b class='flag-5'>功能</b>