一种多功能电子密码锁的VHDL设计

发布时间:2014-02-4 阅读量:1162 来源: 发布人:

【导读】今天介绍一款利用EDA技术,在可编程逻辑器件CPLD上实现了一种多功能电子密码锁的设计方案。为弥补传统密码锁的不足,进一步提高可靠性,该系统中所有数据的存储、运算都完全由硬件实现。利用VHDL语言对电路进行行为描述,EDA工具进行仿真及下载。

传统机械锁的防盗功能差,在现代高科技安防系统中无法起到作用,已逐步被更可靠、更智能的电子数字密码锁代替。目前市场上的大部分密码锁产品是以单片机为核心的,利用软件进行控制,实际应用中系统稳定性较差且成本高。本文研究的是电子密码锁的一种纯硬件实现方案,为弥补传统技术的不足,采用EDA技术在可编程芯片上实现密码的存储、运算等操作,使产品既具有硬件的安全性和高速性,又具有软件开发的灵活性和易维护性。

1

特点:

(1)利用VHDL语言对电路进行行为描述,QuartusⅡ软件中的EDA工具进行仿真及下载;

(2)整个设计过程采用自顶向下方案,设计效率高,开发成本低;

(3)采用了MAXⅡ系列的CPLD作为硬件核心,其功耗低,逻辑执行速度远高于单片机,在安防行业中有较强的市场竞争力。

设计功能要求:

设计的电子密码锁可以完成以下功能:

(1)设置密码锁的密码位数n;
  
(2)n 位密码的输入及显示;
  
(3)密码的核对;
  
(4)报警功能;
  
(5)密码的清除和修改。
  
主要由密码输入电路、核心控制电路和显示输出电路构成。其中,输入电路包括矩阵式键盘、键盘扫描电路、消抖电路、译码电路等;控制电路主要完成密码的输入、核对、清除和修改等功能;输出电路控制数码显示屏上密码值的显示。

硬件电路设计

1 输入电路
  
本设计采用的是4×3 矩阵式键盘,如图1所示,它是由4 根I/O线作为行线,3根I/O线作为列线,在行列线的每一个交叉点上都设置一个按键,一共有12个按键,分别代表数字0~9、确认键和设置键,如图1所示。

2
图1 4x3矩阵键盘示意图

很显然,扫描信号的变化顺序为:0111,1011,1101,1110,周而复始。在扫描的过程中,当某键被按下时,从KEYC2~KEYC0 中读出的相应列信号为“0”,再将此时的4位行信号和3位列信号值送至键盘译码电路进行译码,即可得出准确的按键值。相反,若从KEYC2~KEYC0 读出的值全为“1”,则表示没有键被按下,即不做任何操作。如表1所示。

3

在键盘扫描过程中,扫描信号在不断变化,以判断按键的按下和抬起。快速变化的扫描信号不仅使增加了系统功耗,而且还会对其他敏感电路造成干扰[6-7].因此必须进行以下改进:将扫描模式改为键按下触发扫描方式,即当某键被按下后,才触发键盘扫描电路产生扫描时序,键被放开后,停止对键盘的扫描,使电路处于相对静止状态,以减少干扰信号。
  
另外,在按键按下时刻与开始扫描时刻之间加入一段较小的延时,延时结束后才允许电路开始扫描工作,可以最大限度地避免因键盘抖动带来的错误输入。
  
主要VHDL代码描述如下:

4
 
 

2 控制电路
  
控制电路是整个系统的核心电路,能根据用户输入的密码位数进行子电路的选择。由于系统允许用户输入4 位、6 位或8 位密码,因此子电路有三个,由三选一选择器决定其中哪个电路为用户服务,见图2。
 
5

图2中,en是三选一选择器的工作使能端,它由输入电路的有效重置信号启动。当用户按下矩阵键盘上的重置按键长达3 s后,输入电路将产生en信号为‘1’从而使选择器Mux31 开始工作。如用户要设置为6 位密码,则在提示音后按下键盘上的"6”按键,其按键信号会传递给X6,由选择器决定后续控制电路为kong6。
  
主要VHDL代码描述如下:
6

对于后续控制电路kong4~kong8,都应具有密码清除、存储、核对及修改等功能。由于仅仅是操作数位数不同而已,这三个电路的VHDL语言描述过程对设计人员来说,几乎是重复操作,因此大大缩短了设计周期。
  
控制电路中密码的存储是利用寄存器来实现的。
  
寄存器是一个典型的时序逻辑电路,在某一特定时钟信号的控制下可以装载一组二进制数据并稳定存储,撤销该控制信号后信息仍然存放在寄存器中。充分利用VHDL中不完整的if语句能产生时序电路的特点,进行电路描述,而不涉及到内部触发器,开发效率高。
  
3 输出电路
  
输出电路要准确地将结果以十进制形式直观地显示在输出LED 上,并且当用户每输入一位密码,所有LED上的密码值左移一位。该电路属于纯组合逻辑电路,可以利用VHDL语言中的case语句描述出其电路功能。
  
部分VHDL代码如下:

7

其中:movesgl 表示左移位移量;zin 是输入信号;当movesgl为“000”时表示不需要左移;当为“001”时,表示需要移动一次;“010”表示需要移动两次,以此类推。当用户通过矩阵键盘输入6 位密码时,就需要向左移动6 次,从而达到密码在LED数码管上动态左移的现象。
  
仿真与下载

1 仿真
  
在编程下载之前,必须利用EDA 工具对设计结果进行模拟测试,即仿真。仿真是EDA 设计过程中的重要步骤。本文采用的时序仿真是最接近真实器件运行特征的仿真,仿真精度较高。以4位密码电路为例,做出了系统仿真图,如图3所示。

8

从图3中可以看出,通过输入端zin,先后输入了密码值“5623”,s0,s1,s2,s3存储的值在实时更新,分析波形,总结该系统基本达到了预期的功能需求,输出波形正常。

2 下载
  
在QuartusⅡ9.0软件中,利用集成EDA工具完成的下载步骤如下:
  
(1)根据开发板中可编程CPLD芯片EPM240T100C5的引脚特性,将本系统的顶层设计实体的端口进行引脚分配。
  
(2)适配器完成适配后生成了POF 格式的下载文件,再通过JTAG编程电缆向CPLD芯片进行编程。
  
(3)单击下载按钮Start,即对目标器件进行下载操作。当Process进度显示100%时,表示下载成功。
  
(4)利用开发板上的外围接口电路,进行了硬件的测试。并利用嵌入式逻辑分析仪SignalTap Ⅱ观察密码输入、修改等运行情况。

结语
  
本文弥补了传统密码锁技术上的不足,研究出了一种利用VHDL语言,结合EDA技术,在可编程芯片CPLD 上构造逻辑电路。由于所有密码的存储及运算都通过纯硬件实现,其逻辑执行速度远高于单片机。充分利用了CPLD的逻辑可编程性,开发周期短、效率高,设计出来的产品具有较高的可靠性,且功耗低、体积小、易维护,势必会在安防市场中取胜。
 
相关资讯
Diodes Q2财务报告:营收超预期增长,连续三季度同比上扬

Diodes公司近期公布了截至2025年6月30日的第二季度财务业绩,标志着其连续三个季度实现同比增长,显示出半导体市场的稳步复苏。根据报告,该公司在多个关键财务指标上表现稳健,受益于全球需求的逐步回升和市场结构优化。公司高层认为,这一业绩源于亚洲地区的强劲拉动和产品组合的适应性调整。

MACOM Q3营收同比激增32.3%,射频芯片龙头再创增长新高

美国射频半导体龙头企业MACOM Technology Solutions于8月7日正式公布截至2025年7月4日的第三财季业绩报告。财报显示,当季实现营收2.521亿美元,较去年同期大幅增长32.3%,创下近三年最高单季增速。

Microchip复苏计划成效显著:Q1营收环比增10.8%,库存大幅优化,AI/国防订单强劲

美国微芯科技公司(Microchip Technology)于8月7日发布了其2026财年第一季度(截至2025年6月30日)的财务报告。报告显示,公司业绩呈现显著复苏迹象,多项关键指标环比改善,并超出此前修订后的业绩指引。

产需趋向平衡!赛力斯7月新能源销量占比突破93%

8月8日,赛力斯集团(601127)公布2025年7月产销快报。数据显示,尽管整体市场仍承压,集团在主力新能源汽车板块显现增长韧性,单月销量同比提升5.7%,而传统燃油车型业务持续收缩,反映出业务转型的深化推进。

INS1011SD + VGaN™:颠覆传统BMS的低边保护方案

在追求更高效率、更小体积和更低成本的电力电子系统发展趋势下,传统的硅基(Si)功率器件,特别是在双向能量流动应用(如电池管理系统BMS)中常用的背靠背MOSFET方案,逐渐显现出性能瓶颈。氮化镓(VGaN™)器件凭借其卓越的开关速度、低导通电阻和更小的尺寸,成为理想的替代者。然而,充分发挥VGaN™的潜力需要与之高度匹配的专用驱动芯片。英诺赛科(Innoscience)作为全球领先的VGaN™ IDM厂商,推出全球首款100V低边驱动芯片INS1011SD,标志着“VGaN™+专用驱动”完整解决方案的成熟,为双向电力电子系统设计带来革命性突破。