查看: 3526|回复: 3

基于FGPA的数字密码锁

[复制链接]
  • TA的每日心情
    开心
    2013-12-17 13:39
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-11-28 14:07:49 | 显示全部楼层 |阅读模式
    分享到:
    摘要:采用VHDL硬件描述语言,以自顶向下的设计方法,在Quartus II 9.1的开发环境下,设计了基于FPGA的数字密码锁。并选用ALTERA公司Cylone II系列的EP2C35F672C8芯片为其硬件条件,验证了其功能及可靠性。结果表明,本设计高效、稳定、可靠!

    关键词:现场可编程逻辑门阵列;VHDL;数字密码锁;Quartus II


    0 前言

        自古以来人们对物品安全就十分重视,数字化的今天,电子锁正在逐步取代以往的机械锁被广泛运用在门禁、银行和保险柜。然而,这些基于单片机的密码锁可靠性较差,而且功能拓展有限。随着物联网技术的发展,人们对电子锁安全性和可靠性又提出了新的要求。本文所述的FPGA,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。由于其高集成度,使得电子产品在体积上大大缩减,且具有可靠、灵活、高效等特性,己备受设计师们的青睐。


    1 系统概述

    1.1 功能概述

        (1)初始密码为000000,按C键设置密码,密码设置完成后按A键即上锁。

        (2)以4×4键盘为输入设备,按B键开始密码输入,串行输入6位密码,输入完成后按#键,确认密码输入完成。七段数码管将显示用户所输入的数字。

        (3)密码输入正确,则开锁指示灯灭,若密码输入错误或位数不足,报警灯亮。

        (4)处于报警状态时,按*键可解除报警。

        (5)为保证安全,系统只有在开锁状态时,按C键,用户才可重新设置密码。

    1.2 系统结构

        系统以4×4矩阵键盘为输入设备,七段数码管和指示灯为系统的输入显示和输出指示器。系统内部可分为以下几个模块:键盘扫描及消抖电路、分频电路、译码电路、编码器、寄存器、比较器、控制器、计数器。系统结构大致如图1所示。
    1.jpg
    按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合或断开时不会稳定地接通或立即断开,在电路上则会表现为连续地输入同一个值。因此在键盘扫描电路里加入了键盘消抖程序。为使用户能够看到自己所输入的密码,将七段数码管的显示电路也集中到了键盘扫描电路内。键盘扫描所用的时钟频率为1kHz,故将系统所用的1MHz的时钟分频为1kHz供键盘扫描用,以分频模块为例,其程序如下:
    2.jpg
    1.3 状态机
        状态机(FSM)在一个有限状态之下以目前电路所处的状态为准,一旦外加时序及输入信号来临,则以目前的状态及输入信号的变化状况为依据,产生下一次的状态及电位。状态机是密码锁的主要控制部分,如图2所示,状态分为7种,S1:密码修改状态;S2:开锁状态;S3:闭锁状态:S4:密码输入正确状态:S5:密码输入状态;S6:密码输入错误状态;S7:报警状态。
    3.jpg
    系统上电时,处于开锁状态,当输入change信号时,系统进入修改密码状态;若输入lock信号,进入安锁状态,锁闭合;在安锁状态,输入start信号,进入输入密码状态;在输入密码状态,由ps_i_l密码脉冲作为计数时钟,计数值输出作为寄存器地址,当计数器计到6时,返回计数满信号cin,如果密码内容和长度均正确,进入密码初验正确状态,如果密码错误,进入密码初验错误状态;在密码初验正确状态,输入确认信号enter时,进入开锁状态;在密码初验错误状态,输入确认信号enter时,进入报警状态;在报警状态,warn信号等于‘1’,如果输入清楚报警信号off_al,则进入安锁状态。以开锁过程为例,其功能仿真波形如图3所示。
    4.jpg
    2 系统功能仿真
        自上而下的设计方法,是现代电子系统的新型设计策略,它从设计的总体要求出发。本文用VHDL语言以系统的整体输入输出作为顶层实体描述,然后进行元件例化和位置映射。分别建立每个模块的VHDL文件,最后由系统进行整体的综合和功能仿真。
    2.1 系统软件仿真
        完成系统的整体设计后,再对顶层文件进行编译,然后建立Vector Waveform File,编辑输入波形后进行功能仿真,以密码输入错误为例,仿真结果如图4所示,设置密码为279235,系统处于闭锁状态时,按start键,开始输入密码8765413,密码输入错误,则系统还是处于闭锁状态,且warn变为高电平。
    5.jpg
    2.2 系统硬件测试
        系统硬件测试环境用的是EP2C35F672C8,它采用672引脚的BGA封装,表1列出了该款FPGA的所有资源特性。
    6.jpg
    完成引脚分配后,通过JTAG调试接口将程序下载到芯片内,进行硬件测试,首先设置密码为654321然后上锁,以输入错误密码为例,输入235689然后按#}键,由图4可见,闭锁指示灯D3亮,表示未开锁,报警指示灯D4亮,表示密码输入错误。测试结果表明设计成功。
    7.jpg
    3 结束语
        设计选用FPGA芯片、4×4矩阵键盘、七段数码管为主要硬件,设计了一种低功耗、体积小的密码锁,并在硬件上验证了其可靠性。由于FPGA的灵活性,密码长度可根据寄存器个数而随意改变,此设计在现代物联网技术中将有广泛应用。

    点评

    可以上传一下代码吗,有急用  发表于 2014-6-25 14:39
    可以上传一下代码吗,有急用  发表于 2014-6-25 14:38

    评分

    参与人数 1与非币 +5 收起 理由
    zcc-369748 + 5 很给力!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 15:33
  • 签到天数: 1274 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-11-28 16:42:45 | 显示全部楼层
    给力哦  
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-12-17 13:39
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

     楼主| 发表于 2013-11-29 13:21:18 | 显示全部楼层
    CMika 发表于 2013-11-28 16:42
    给力哦

          受之有愧啊                  
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-6-25 14:40:58 | 显示全部楼层
    可以上传一下全部的代码吗?有急用,谢谢啦
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-12-28 19:20 , Processed in 0.171261 second(s), 26 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.