《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 基于FPGA器件的数字密码防盗器的设计

基于FPGA器件的数字密码防盗器的设计

2009-06-26
作者:韩力英, 张存善, 杨金波, 张

    摘  要: 采用EDA技术,利用Max+plusⅡ工作平台和VHDL语言,设计了一种新型的电子防盗器。该防盗器具有密码预置、修改等功能,且能在3次输入错误后让系统进入定时锁定并报警。由于充分利用了FPGA的结构特点,因而该防盗器体积小、功耗低、价格低、安全可靠、维护和升级方便,具有很高的使用价值,可以广泛应用于社会生活和生产的各个领域。 

    关键词: 防盗器; 报警; 密码; 模块

 

    长期以来人们研制了出各种方式、不同结构的防盗器,按其结构可分四大类:机械式、机电式、电子式和网络式[1-6]。虽然种类较多,但从市场发展情况看,机械式防盗器由于功能性较少、不美观方便,已经开始淡出市场;机电式防盗器耗电量大;网络防盗器虽然功能先进,但一些功能不具普遍应用性,且价格较高,在市场上还没有被大量使用。因此起市场主导的还是电子式防盗器。 

    本文介绍的是一种基于FPGA器件的电子式防盗器。它利用Max+plusⅡ工作平台和VHDL语言来进行设计,具有密码预置、修改等功能,且能在3次输入错误后让系统进入定时锁定并报警等功能。由于使用了FPGA芯片,防盗器的大部分电路都可以通过硬件描述语言实现,简化了芯片的外围电路,降低了制作成本,提高了保密性和可靠性。 

1 防盗器的功能 

    防盗器的密码为4位,初次使用时需预置密码。它的主要功能: 

    (1)密码输入:每按下一个密码键,要求在显示屏上显示,并依次左移; 

    (2)数字清除:清除数字输入,并将输入置为“0000”; 

    (3)密码修改:将当前输入设为新的密码; 

    (4)输入密码3次错误,防盗器定时锁定并报警。 

    图1所示为防盗器的键盘。键盘上各个按键的功能如表1所示。 

 

 

2 硬件系统设计 

    防盗器的硬件部分较简单,其核心为1块FPGA芯片。主要包括中央处理器FPGA 芯片EPF10K1LC843、输入小键盘、输出4位数码管显示屏和蜂鸣器,如图2所示。FPGA芯片用来直接控制其他元件的工作,对小键盘的输入,通过一定的算法实现电子防盗器的功能,蜂鸣器用于误码报警。 

 

 

3 软件系统设计 

    防盗器的软件部分用VHDL来实现,它具有较好的语法严格性,一定程度上限制了错误的产生,调试较容易,在系统描述上占有一定的优势。防盗器的系统软件设计主要有输入模块控制模块。每个模块又由几个基本电路组成,其具体结构如图3所示。 

 

 

3.1 输入模块 

    输入模块由消抖电路和键值处理电路组成。因为键盘的按键是机械式开关,在开关切换的瞬间会在接触点出现来回弹跳的现象,虽然只是按了1次键,实际产生的按键信号却不只跳动1次,经过取样信号的检查后,将会造成误码判断,认为是按了2次键,产生抖动现象。所以需要用消抖电路做消抖处理。 

    键值处理电路完成数字密码清除和存储的功能。防盗器接收到数字输入时,第一个数字会从显示屏的最右端开始显示,此后每新按1个数字密码时,显示器上的数字就往左移动1位。若想要更改输入的数字,可按退格键来清除前一个输入的数字,或按清除键清除输入的所有数字,再重新输入4 位数字密码。因设计的是4位电子防盗器,当输入的数字键超过4 位时,电路只处理前4个数字,对后面的多余数字不加理会。信号通过键值处理电路传输到比较电路和译码电路。 

3.2 控制模块 

    控制模块是整个电路的控制中心,主要完成如下功能: 

    (1)密码核对:在密码更改,开锁之前必须先核对密码。 

    (2)密码变更:按下此键将目前输入的数字设定为新的密码。  

    (3)激活电锁:上锁,上锁之前必须先设定密码才能上锁。 

    (4)解除电锁:检查输入的密码是否正确,正确才开锁。 

    (5)报警:输入的密码连续3次错误,防盗器定时锁定并报警。 

    控制模块包括比较电路和状态机电路。比较电路的功能是把输入的密码与密码寄存器中存储的密码作比较,用高低电平信号表示输入的对错,并据此判断电锁的开关。 

    状态机电路是控制电路的核心,完成定时锁定和报警功能。其状态转换图如图4所示。 

 

 

    图4中,S0:系统待机状态;S1:状态系统输入密码第一次错误后的状态;S2:状态系统输入密码第二次错误后的状态;lock:状态系统输入密码第三次错误后的状态,系统进入锁定计时并报警的状态。effect_out是比较电路产生的密码对错的判断信号。effect_out为高电平时,密码错误;effect_out为低电平时,密码正确。当状态机接收到功能按键产生的跳变信号时,转换到下一个状态。 

    密码3次错误后,防盗器进入定时锁定报警状态,开始计数信号start=‘1’,计数器开始计数,并锁定输入。计数器溢出后,溢出信号Full=‘1’,当防盗器接收到功能按键产生的跳变信号时,转换到下一个状态。解除锁定和报警。 

4 仿真结果 

    仿真波形如图5所示。图中,ENLOCK:电锁开关输出;ACC:输入寄存器;ALARM:报警信号输出端;COUNT:定时锁定计数器;STATE:密码输入错误计数器 。防盗器的密码被预置为4393,密码3次输入错误STATE=3时,定时锁定计数器COUNT开始计数,并报警ALARM=‘1’。本设计结果不仅进行了软件仿真,而且经过硬件验证安全可靠。 

 

 

    本设计中采用了Altera公司的EPF10K10LC843芯片进行设计,可以极大地减少其他分立元件或其他芯片的使用,它具有强大的处理功能和输入输出能力,使外围电路大大简化,使得设备设计成本低而且可靠性高。用软件实现硬件电路,采用VHDL语言进行设计,具有良好的可移植性,可随时在线更改逻辑设计及有关参数,充分体现了FPGA的优越性。该防盗器具有一定的实用性。 

参考文献 

[1] 李波勇,李姗.基于AT89C2051的多功能电子防盗器.电子世界,2007(4):12-13. 

[2] 基于FPGA的电子防盗器的设计.科技信息(学术版),2006(10):240-241. 

[3] 刘钰,张有志.一种用VHDL语言设计的数字防盗器.信息技术与信息化, 2004(4) :37-40. 

[4] 谢海良,孔云龙. 基于EDA技术的电子防盗器电路设计.漯河职业技术学院学报,2007(4):196. 

[5] 周瑗,杨丽华. 用VHDL自顶向下设计数字防盗器.北京:化工大学学报,2000(2):97-99. 

[6] 严士农.新颖的数字电子防盗器.电子工程师, 2001(2):48-53.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。