当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:本文设计的基于FPGA的电子密码锁,具有记忆和修改6位密码、输入密码位数指示及防止多次试探密码等功能,与银行卡的原理和功能极其相似,使得密码锁的保密和安全性能进一步增强。最后,给出了在Quartus II软件


摘要:本文设计的基于FPGA的电子密码锁,具有记忆和修改6位密码、输入密码位数指示及防止多次试探密码等功能,与银行卡的原理和功能极其相似,使得密码锁的保密和安全性能进一步增强。最后,给出了在Quartus II软件开发平台上实现密码锁各项功能的仿真图,并在FPGA芯片EP1K30TC144-3上通过了验证。
关键词:现场可编程门阵列;超高速集成电路硬件描述语言;密码锁

0 引言
    电子密码锁能保护用户的重要资料不被非法用户所窃取,目前使用的电子密码锁大多以单片机为控制器,通过运行程序完成密码锁的各项功能。由于受到外部干扰的影响,单片机很容易将程序“跑飞”,因而可靠性较差。仿照银行卡输入密码的原理,本文介绍了一种基于FG-PA的多功能密码锁的设计和实现方案,由于采用纯硬件实现,使得可靠性和安全性大大提高。

1 电子密码锁的功能要求
    设计的密码锁至少具有下列功能:
    (1)6位密码,与银行卡密码位数相同;
    (2)每位密码采用十六进制数,与十进制数密码相比,密码被破译的概率大大降低;
    (3)每位密码按下时,有密码位数指示,类似自动取款机输入密码时有“*”号提示;
    (4)密码输入过程中密码有误时,能对已经输入的密码清除以便重新输入密码;
    (5)6位密码输入都正确后,应有开锁指示,上锁时也应有上锁指示;
    (6)密码连续三次输入错误,密码锁死锁,并开启报警,防止窃贼多次试探密码;
    (7)初始密码默认为“123456”,密码可以修改,在密码锁打开状态下,再一次输入正确的旧密码及两次输入的新密码一致时,密码才能修改成功。

2 密码锁的系统构成
    根据密码锁具有的功能,可将其实现的功能划分成分频模块、键盘和数码管扫描模块、按键抖动消除模块、按键编码模块、键值到7段数码管译码显示模块和主控制模块等6个子模块,如图1所示。


    (1)分频模块。它对系统的主时钟进行分频,以产生4×8小键盘的列扫描信号和6位数码管的列扫描信号所需要的时钟。分频是因为消除按键抖动的计数器时钟要比分频后扫描时钟高得多。
    (2)键盘和数码管扫描模块。它检测到分频输出信号的上升沿到来时,就对扫描的列加1,当扫描到最后一列即第7列,再从第0列开始扫描。当检测到有键按下的扫描控制信号时,则停止列扫描,直至按键释放后,再接着扫描下一列。数码管的6列扫描信号和小键盘的8列扫描信号可以共用,当扫描到小键盘的第6、7列时,并没有扫描6位数码管,由于扫描速度足够快,这并不影响数码管的动态显示。
    (3)按键抖动消除模块。机械键按下时,会产生抖动现象,若不消除,一次按键会被错误地认为同一键被多次按下,从而造成无法正确地输入密码。消除的方法可以采用硬件方法如RS触发器和软件延时方法,本文采用后者。
    (4)按键编码模块。它负责将按下键的行列位置码编码成0~31的键值码,键值0~15当作有效的16进制数输入密码位,大于等于16的键值可以定义成功能键,如定义清除密码键[Clear]键值为17,确认键[Enter]键值为23,修改密码键[Chgsecret]键值为24,其他没有定义的键可
以预留升级时的备用功能键。
    (5)译码显示模块。它负责将按下的数值键0~F译码成7段LED共阴极字型码。
    (6)主控模块。它依据消除抖动后产生的按键释放信号koff及按下的是数值键或功能键决定转移的下一状态,在不同的状态完成密码的比较、修改及多次试探密码报警提示等多项控制功能。
3 软件实现
    本文采用VHDL语言实现本密码锁系统的设计。对系统中划分出的每一个模块功能都可以采用一个进程来描述。分频、扫描和译码显示三个功能模块都比较简单,本文只重点介绍剩余的3个模块实现原理及进程中的部分关键代码。完整的代码可以向本文作者发邮件索取。
    根据主控制模块实现的功能,可以整理成如下图2所示的流程图,图中对修改密码的流程作了省略。


    实现图2流程的部分关键代码如下:

    完成消除抖动的进程是在按键释放后还要经过若干个时钟的延迟再判断按键是否释放,若真的释放,信号koff才从0变为1,该信号也是控制模块根据密码输入进行状态转移的触发信号。例如按下键产生的前沿抖动,这个抖动产生的假释放高电压一般不会持续太多个时钟(若系统的时钟频率高可以增加代码中计数器的位宽以增加延时),之后又变为稳定的低电平,则该进程再一次对计数器进行清零,重新判断。

    键值编码功能是将按下键的行列位置码赋予相应的键值,自然地将0~F键定义成键值为0~15,功能键的定义比较随意。实现的部分代码如下:
   

4 仿真结果
    本设计在QuartusⅡ9.0软件平台上进行了密码锁各项功能的波形仿真。
    图3是输入了错误的密码123450并按下enter键(键值23)后,密码锁没有打开的仿真图,图4是输入正确的密码123456和enter键后,密码锁能打开的仿真图。


    图5是先输入了一位密码9,又按了clead键(键值17),接着又输入了正确的密码123456和enter键后,锁能正确打开的仿真图。


    图6是第一次输入密码123450,第二次输入了521087,第三次输入了450313,3次错误的密码后,启动防止多次试探密码功能,密码锁进入报警状态,并维持在报警状态不退出,相当于密码锁处于死锁状态。
    图3~6中的codel~code6是临时存储输入密码的寄存器。另外,在开锁状态下,按下修改密码Chgsecrer键时,进行修改密码的仿真图,由于输入输出的数据量很多,全景视图时不是很清楚,只能局部放大浏览,这里不再给出。

5 结论
    本密码锁的各项功能也在FPGA芯片上EP1K30TC144-3下载通过了验证,实验表明,此密码锁运行稳定可靠,各项功能都能满足要求。在实际应用中可将数码管显示的密码一律都用“-”来显示,起到隐藏密码位的目的

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

武汉2025年9月9日 /美通社/ -- 7月24日,2025慧聪跨业品牌巡展——湖北•武汉站在武汉中南花园酒店隆重举办!本次巡展由慧聪安防网、慧聪物联网、慧聪音响灯光网、慧聪LED屏网、慧聪教育网联合主办,吸引了安防、...

关键字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移远通信宣布,其自研蓝牙协议栈DynaBlue率先通过蓝牙技术联盟(SIG)BQB 6.1标准认证。作为移远深耕短距离通信...

关键字: 蓝牙协议栈 移远通信 COM BSP

上海2025年9月9日 /美通社/ -- 为全面落实党中央、国务院和上海市委、市政府关于加快发展人力资源服务业的决策部署,更好发挥人力资源服务业赋能百业作用,8月29日,以"AI智领 HR智链 静候你来&quo...

关键字: 智能体 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付与一汽出行达成合作,为其自主研发的"旗驭车管"车辆运营管理平台提供全流程支付通道及技术支持。此次合作不仅提升了平台对百余家企业客户的运营管理效率...

关键字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制药(PharmaEngine, Inc.)发现的新一代PRMT5抑制剂PEP0...

关键字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市经济和信息化委员会、上海市发展和改革委员会、上海市商务委员会、上海市教育委员会、上海市科学技术委员会指导,东浩兰生(集团)有限公司主办,东浩兰生会展集团上海工业商务展览有...

关键字: 电子 BSP 芯片 自动驾驶

推进卓越制造,扩大产能并优化布局 苏州2025年9月5日 /美通社/ -- 耐世特汽车系统与苏州工业园区管委会正式签署备忘录,以设立耐世特亚太总部苏州智能制造项目。...

关键字: 智能制造 BSP 汽车系统 线控

慕尼黑和北京2025年9月4日 /美通社/ -- 宝马集团宣布,新世代首款量产车型BMW iX3将于9月5日全球首发,9月8日震撼亮相慕尼黑车展。中国专属版车型也将在年内与大家见面,2026年在国内投产。 宝马集团董事...

关键字: 宝马 慕尼黑 BSP 数字化

北京2025年9月4日 /美通社/ -- 在全球新一轮科技革命与产业变革的澎湃浪潮中,人工智能作为引领创新的核心驱动力,正以前所未有的深度与广度重塑各行业发展格局。体育领域深度融入科技变革浪潮,驶入数字化、智能化转型快车...

关键字: 人工智能 智能体 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企业在上海联合发起并成功举办"2025 Ethernet-APL 技术应用发展大会"。会议以"破界•融合...

关键字: ETHERNET 智能未来 BSP 工业通信
关闭