基于FPGA的电子密码锁设计与实现

时间:2022-10-18 07:53:35

基于FPGA的电子密码锁设计与实现

【摘 要】电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本文主要阐述了一种基于现场可编程门阵列FPGA器件的电子密码锁的设计方法,用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。

【关键词】FPGA 电子密码锁 原理 设计

一、电子密码锁的产生

随着科学技术的发展,在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐兴起,技术上正日趋成熟,功能也越来越大。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品[1]。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁[2][3],特点如下:①保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零;②密码可变,用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;③误码输入保护。

二、基于FPGA的电子密码锁的原理

(一)FPGA的工作原理

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:①采用FPGA设计ASIC电路,用户容易得到合用的芯片;②FPGA可做其他全定制或半定制ASIC电路的中试样片;③FPGA内部有丰富的触发器和I/O引脚;④FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

(二)QuartusⅡ开发设计平台

本设计使用Altera公司的QuartusⅡ软件开发平台。QuartusⅡ软件平台能满足各种特定设计的需要,是FPGA/CPLD开发集成环境,也是单芯片可编程系统(SOPC)设计的综合性环境。

三、基于FPGA的电子密码锁的设计

(一)电子密码锁的设计要求

电子密码锁的设计要求:①需具有密码锁输入功能;②设置复位按键,以便重新输入新的密码;③在密码管上显示输入次数;④拒绝接受超过规定次数的密码输入信号;⑤当输入密码正确时,在数码管上显示字符H,当输入密码不正确时,在数码管上显示字符E。

(二)电子密码锁的方案设计

设计电子密码锁采用VDHL语言输入的方式实现[4],通常,开发实验板上有10个按键K1~K10,其中K1~K9作为密码输入按键,K10作为复位按键,以便重新开始输入新的密码。

电子密码锁采用状态机和对按键输入次数计数相结合的方法,保证只有输入正确的密码,状态机才能转换到最后正确的状态,显示开锁字符。程序由6个进程组成:进程P1和P2将8Hz标准信号分频后,产生0.5s的脉冲信号(carry),与按键输入信号配合,消除按键输入的抖动,并作为状态转换进程P4的时钟输入信号;进程P3琐存按键输入信号,为状态机提供一个稳定的按键输入信号;进程P4将下一个状态(next_state)转换为当前状态(state),进程P5产生次态信号(next_state),只有当有按键输入和状态转移控制信号en为逻辑“1”时才能产生次态信号,进程P4和P5是电子密码锁的核心,密码的设置也是编写状态机时确定的;进程P6对按键输入次数计数,并且为显示按键输入次数的七段译码器BCD码数据。进程判断按键输入次数是否已输入了3次:如果输入密码的次数小于等于3,则状态转移控制信号en为逻辑“1”;如果输入密码的次数大于3,则状态转移控制信号en为逻辑“0”,当仍有密码输入时,禁止状态发生变化。

四、电子密码锁的时序仿真验证

电路设计完成后,需要进行功能仿真和时序仿真,验证设计结果是否满足设计要求。时序仿真在文件综合后,由FPGA适配器映射于具体的芯片,得到文件进行仿真,与器件具体特性有关,包含了器件和布线的延时信息,按要求运行仿真器并输入相应参数进行验证。

五、总结

用FPGA器件构造电子密码锁的设计方法,所有算法完全由硬件电路来实现,并且由于FPGA具有现场可编程功能,当设计需要更改时,只需更改FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无须更改外部电路的设计,大大提高了设计的效率。

【参考文献】

[1]王卫兵,刘克刚,朱秋萍.用FPGA的电子密码锁[J].电子技术,2005,32(01):26-28.

[2]许琦.基于FPGA的电子密码锁的设计[J].科技信息(学术版),2006(10):10-11.

[3]李连华.基于FPGA的电子密码锁设计[J].中国科技信息,2006(01):63.

[4]刘钰,张有志.一种用VHDL语言设计的数字密码锁[J].信息技术与信息化,2004(04):37-40.

上一篇:新形势下企业经济管理的创新策略研究 下一篇:大数据背景下疫苗制造业的财务共享应用实践