基于FPGA的电子密码锁系统的设计
2019-05-16李建军胡苗苗
李建军,胡苗苗
(广西民族师范学院物理与电子工程学院,广西崇左532200)
0 引 言
伴随着智慧生活和物联网技术的不断发展,电子密码锁取代传统锁具已成为一种必然的趋势。但目前电子密码锁类锁具在国内运用多偏向于公共场合,普通家庭使用的依然主要为普通锁具,智能电子密码锁是智慧生活的一个重要组成部分。相对于传统锁具来说,用FPGA所开发的密码锁更加地方便可靠,可以在不需要钥匙的情况下有效地保护个人空间[1]。电子密码锁解决了钥匙被盗配,锁具被撬等安全隐患。因此研制一款能够实现智能感知、智能分析及智能控制的低成本、高效率、安全可靠的多功能智能电子密码锁具有重要的意义。
系统主要包括FPGA、矩阵键盘、语音模块、LCD显示屏作为系统智能记忆与交互部分。
1 系统工作原理
用户通过键盘输入密码数字并与预先设定好的数字进行对比,以此来判断输入的密码正确与否。根据比对结果FPGA通过I/O口输出信号控制电磁开关或者提示电路,从而达到控制开锁或者发出警告的目的。
研究中,本设计可剖解为如下模块:芯片控制部分、按键输入电路、液晶显示屏模块、报警电路,电源模块。
8位数字密码锁具的总体设计框架如图1所示。系统由主控芯片、键盘扫描电路、警告线路、显示线路共同组成[2]。以FPGA为控制核心,通过键盘输入开锁,经由提示灯提示,系统将输入的数字与设定的数字进行比较,根据比较结果显示屏显示密码锁状态,密码匹配错误超过一定次数后,蜂鸣器进行报警。系统简单稳定,经济实惠。
2 硬件设计
硬件是整个系统的研究基础,并将直接影响系统的稳定、可靠等方面的重要性能[3]。本系统硬件设备的组成设计可探讨分述如下。
2.1 主控芯片EP1C3T100的介绍
FPGA器件选用 Altera公司开发的EP1C3T100C8芯片。EP1C3T100C8是 FPGA(可编程逻辑器件)系列的嵌入式器件,不仅用途广泛、市场应用价值高,而且将其投入到制作生产过程中所需成本低廉,因而受到广大开发商的青睐。EP1C3T100C8器件主要由4部分组成,分别是:I/O单元、EAB(嵌入式阵列块)、快速通道线、LAB(逻辑阵列块)。其中,LAB在系统中主要用来接收设计输入进行编译解析后形成的数据格式,LAB接收得多,内存占用过多则会影响整体的工作效率,因而开发另一个存储渠道,即把接收到的数据格式部分储存到EAB中。
图1 系统框图Fig.1 System chart
2.2 报警电路
系统采用蜂鸣器报警。蜂鸣器工作时所需的电流较大,FPGA的IO端口无法驱动,因此在实际报警设计中引入了放大电路来增强驱动能力。
2.3 LCD1602 显示屏
LCD1602为工业字符型液晶。在工作中,能在同一时间显示出16×02、即32个字符。1602液晶,又称为1602字符型液晶。LCD1602作为液晶体具有一定的物理性质,在工作过程中主要根据控制指令在屏幕上显示出符号、字母等信息。LCD1602在应用中呈现内容丰富、效果直观并且价格低廉,常被广泛用于各类电子产品的设计中,如数码相机、电子手表等。
2.4 键盘控制电路结构与原理
按键有独立式按键和行列式按键。在基于FPGA电子密码锁的研发中,采用了4×4矩阵键盘,总共设置了14个按键功能。该次研究将按键设计为行列式结构,工作过程中对I/O接口进行逐行逐列的动态扫描,从而形成按键回路。也就是说,每个按键将基于横向布局的4根及竖向布局的4根、总共8根I/O口线进行动态扫描,每根I/O接口的工作状态是相互独立,互不干扰的。4×4键盘占用的I/O资源少,电路配置灵活,并且软件结构简单。
3 系统软件设计
3.1 系统主控制流程
密码锁在进入工作状态后,当用户输入正确密码并按下确认键后才可开门,在门开的状态下,按下新密码的设置键后,输入新密码,再按确认键方可对密码进行重新设置[4]。输入的密码在显示屏上显示出来,显示在屏幕最右边的是最后输入的数字,每输入一位数字,密码在数码管上的显示便会往左移一位。系统的初始密码为123456,也就是接通电源后,按下123456及确认键即可开门。系统控制流程如图2所示。
图2 系统控制流程图Fig.2 System control flow chart
输入密码、并且按下确定键后,若此密码并非正确密码,此时门仍旧上锁,显示屏清屏,计数器加1,系统允许用户进行再次输入密码操作。若密码再次错误,系统反应同上。若密码输入错误,计数器累计达到4次,扬声器发出警报声。直到按下复位键后,计数器清0,警报声停止,系统再次进入工作状态。
3.2 系统仿真演示结果
输入密码235689,相应键值波形为高电平。密码错误,计数器加1;输入密码2688,密码错误,计数器加为2;输入密码295988,密码错误,计数器加为3;输入密码123456,密码正确,有开门信号,pass为高电平,LED持续发光。仿真波形结果如图3所示。系统调试后的结果即如图4、图5所示。
图3 仿真波形图Fig.3 Simulation waveform
图4 系统调试结果1Fig.4 Debugging result 1
图5 系统调试结果2 Fig.5 Debugging result 2
4 结束语
基于FPGA的电子密码锁,相对于一般的基于软件控制的密码锁具有成本低、实用性强、可靠性高的特点。通过测试可知,系统可以实现正常的开锁、报警、密码修改、保存密码等功能,各参数均满足设计要求。随着科技的不断发展,未来的电子密码锁将会更加智能化,更加安全。