您现在正在浏览:首页 > 职教文章 > 职教论文 > 基于VHDL的密码锁设计

基于VHDL的密码锁设计

日期: 2010-12-27 13:53:56 浏览: 0 来源: 学海网收集整理 作者: 佚名

摘要:本文讲述了一种基于VHDL设计密码锁的原理和方法,这种密码锁具有安全性高,成本低,操作简单等特点。以下是几位专家用VHDL语言解决和设计的密码锁的方案以及实例描述。
   关键词:VHDL密码锁
   前言:随着社会的发展和人们生活水平的提高,人们的安全意识也逐渐加强。密码锁以安全性高,成本低等优点受到越来越多人的欢迎。VHDL语言覆盖面广,描述能力强,所以采用VHDL语言所设计的密码锁更是受到绝大多数人的接受和欢迎。
   正文:
   1.vhdl
   1.1vhdl语言的概念及特点
   VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL语言将承担起大部分的数字系统设计任务。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言,VHDL的程序结构特点是将一项工程设计,或称设计实体,分成外部和内部,既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
   1.2vhdl语言出现的背景
   一种硬件描述语言广义地说是描述电子实体的语言,比如说逻辑图,电路图等。但是由于一些大规模电路的出现,逻辑图,布尔方程已经不太适用,因此需要在更高层次上描述系统。期间也出现过多种HDL语言,但都没有得到大家的人认可,但是也为vhdl语言的出现奠定了一定的理论及试验基础。再后来就出现了vhdl语言。Vhdl语言主要针对的是电路设计等方面。密码锁在vhdl中的实现实际上就是vhdl语言在数字电路中的一种应用。
   2.以下是几位专家对基于vhdl语言的密码锁设计提出一些看法:
   (1).东理工大学张雪实验师针对基于vhdl语言的设计提出了数字密码锁的设计的思想,她的观点是这样的:
   她就普通的密码锁做了一些总结,提出了一些普通密码锁所存在的缺点,比如说安全性不够高,无法进行密码核对等。因此基于这些普通的密码锁所存在的问题,她提出了数字密码锁的概念,数字密码锁是在实际应用中使用得极其广泛的一种数字电路,他的主要功能时用来对某些重要物品进行加密保护,目的是避免无权人员使用某些设施或进行越权操作。她在文章中介绍的这款密码锁主要完成上锁,密码输入,密码核对,开启电锁,密码修改等功能。详细说明了该数字密码锁的内部结构及其主要功能,讲述了数字密码锁的模块划分极其工作流程。在该数字电路设计中,采用了自顶向下的设计方法,主要目的是对数字系统进行模块划分,这样可以将设计简化成相对简单的模块设计,不同的模块完成数字系统中某一部分的具体功能。最后还对整个密码锁的实现过程做了整体的仿真效果,仿真反馈的结果可以验证程序设计的可行性与可靠性。该数字密码锁的设计过程表明,用vhdl语言可以快速,灵活的设计出符合各种要求的数字密码锁,而且操作简单,稍加修改就可以改变密码的位数,增强其安全性,且很容易做成ASIC芯片,使设计过程达到高度自动化。
   (2).湖南大学胡红艳工程师针对基于VHDL语言的电子设计又提出了关于智能密码锁设计的观点,她提出的设计理念如下:
   随着社会物质财富的日益增长,安全防盗已成为全社会的问题,弹子锁由于结构上的局限已难以满足当前社会管理和防盗要求,电子密码由于其自身的优势,越来越受到人们的青睐,但设计目前使用的电子密码锁大部分是基于单片机用分离元件实现的,其成本较高且可靠性不能得以保证。基于此她介绍了一种利用EDA技术和VHDL语言,在MAX+PLUS2环境下设计的一种新型的智能密码锁,首先针对智能密码锁的设计提出了一些要求,即该智能密码锁的密码初始化,密码设定,密码修改以及输入密码的次数进行了严格的规定。然后又介绍了该智能密码锁的总体结构以及结构中所用控制模块的简单工作原理,最后还对该智能密码锁进行了误差分析。设计的这种新型的智能密码锁具有密码预置和误码报警等功能,用一片FPGA芯片实现,从而大大简化了系统结构,降低了成本提高了系统的保密性和可靠性。这款智能密码锁具有体积小,功耗低,价格便宜,安全可靠,维护何升级度十分方便等优点,因此提出它具有较好的应用前景。
   (3).西南交通大学的专家曹建国针对基于VHDL语言的电路设计提出了电子密码锁的设计与实现,他的见解如下:
   针对以前的数字密码锁和智能密码锁中锁存在的以下问题,他提出了一些新的观点,比如说密码的输入一般采用机械式何触摸式两种键盘,机械式键盘易产生抖动问题,抖动会造成帧丢失或出错,这些都会降低图像或声音的质量。因此他又提出了可以在系统中加入抖动消除电路的思想。他介绍的是一种基于VHDL设计一种数字电子密码锁的原理何方法,该电子密码锁所用的开发工具为ISE,还用了仿真工具ModelismSE。首先对该电子密码锁的功能进行了描述,主要达到以下的五个功能:数码输入,数码清除,密码激活,密码修改,电锁解除。接着提出了他的设计思路极其原理,对密码如何输入,输出及修改的过程都做了详细的介绍并且还做了图形分析。他提出了以DSP/BIOS操作系统为软件架构,以DM642为核心构成了单芯片的多媒体嵌入式硬件平台,采用了最新的H.264视频压缩算法和基于RTP/RTCP协议的流媒体实时传输技术,对网络带宽的变化具有较强的自适应能力。设计该电子密码锁的过程中所开发的这个系统实现了整个系统的高度集成,开发成本低,并在满足实时传输的同时还提供了很高的图像显示质量,具有良好的发展前景。
   (4).徐州建筑职业技术学院教师刘燎原通过实例来说明利用VHDL语言实现数字系统的过程。以下是她用VHDL语言实现了汉明码的编码和译码的原理以及部分汉明码的编码源程序:汉明码的在原编码的基础上附加一部分代码,使其满足纠错码的条件。它属于线性分组码,由于汉明码的抗干扰能力较强,至今仍是应用比较广泛的一类码。汉明码可以用数字门电路或移位寄存器等硬件电路来实现,但硬件电路搭接电路较复杂且易存在干扰。因此她介绍了采用VHDL语言来实现汉明码的编码和译码过程。
   下面是她给出的汉明码的编码及译码源程序:
   编码源程序:
   LIBRARYieee;
   USEieee.std_logic_1164.ALL;
   ENTITYhamencIS
   PORT(datain:INBIT_VECTOR0TO3);
   hamout:OUTBIT_VECTOR(0TO7));
   ENDhamenc;
   ARCHITECTUREver2OFhamencIS
   SIGNALp0,p1,p2,p4:BIT;
   BEGIN
   p0〈=(datain(0)XORdatain(1))XORdatain(2);
   p1〈=(datain(0)XORdatain(1))XORdatain(3);
   p2〈=(datain(0)XORdatain(2))XORdatain(3);
   p4〈=(datain(1)XORdatain(2))XORdatain(3);
   hamout(4TO7)〈=(p0,p1,p2,p4);
   hamout(0TO3)〈=datain(0TO3);
   ENDver2;
   译码源程序:
   LIBRARYieee;
   USEieee.std_logic_1164.ALL;
   ENTITYhamdecIS
   PORT(hamin:INBIT_VECTOR(0TO7);———d0d1d2d3p0p1p2p4
   dataout:OUTBIT_VECTOR(0TO3);———d0d1d2d3
   sec,ded,ne:OUTBIT);———diagnosticoutputs
   ENDhamdec;
   ARCHITECTUREver1OFhamdecIS
   BEGIN
   PROCESS(hamin)
   VARIABLEsyndrome:BIT_VECTOR(3DOWNTO0);
   BEGIN
   syndrome(0):=(((((((hamin(0)XORhamin(1))XORhamin(2))XORhamin(3))XORhamin(4))XORhamin(5))XORhamin(6))XORhamin(7));
   synarome(1):=(((hamin(0)XORhamin(1)XORhamin(3)XORhamin(5));
   synarome(2):=(((hamin(0)XORhamin(2)XORhamin(3)XORhamin(6));
   synarome(3):=(((hamin(1)XORhamin(2)XORhamin(3)XORhamin(7));
   IF(synarome="0000")THEN
   ne〈=’1’;
   aea〈=’0’;
   sec〈=’0’;
   Dataout(0TO3)〈=hamin(0TO3);
   ELSIF(synarome(0)=’1’)THEN
   ne〈=’0’;
   aea〈=’0’;
   sec〈=’1’;
   CASEsynarome(3DOWNTO1)IS
   WHEN"000"|"001"|"010"|"100"=〉
   Dataout(0TO3)〈=hamin(0TO3);-
   WHEN"011"=〉aataout(0)〈=NOThamin(0);
   Dataout(1TO3)〈=hamin(1TO3);
   WHEN"101"=〉aataout(1)〈=NOThamin(1);
   Dataout(0)〈=hamin(0);
   aataout(2TO3)〈=hamin(2TO3);
   WHEN"110"=〉aataout(2)〈=NOThamin(2);
   Dataout(3)〈=hamin(3);
   Dataout(0TO1)〈=hamin(0TO1);
   WHEN"111"=〉aataout(3)〈=NOThamin(3);
   Dataout(0TO2)〈=hamin(0TO2);
   ENDCASE;
   ELSIF(synarome(0)=’0’AND(synarome(3DOWNTO1)/="000")THEN
   ne〈=’0’;
   aea〈=’1’;
   sec〈=’0’;
   aataout(0TO3)〈="0000";
   ENDIF;
   ENDPROCESS;
   ENDver1;
   该程序使用QuartusⅡ软件进行逻辑综合功能模拟与定时剖析。通过时序仿真和下载后,观察波形并进行实际验证,可以正确编码译码,符合设计要求。本文介绍的基于VHDL语言的汉明码的编码和译码实现,简化了硬件的开发和制作过程,易于仿真测试和修改,加强了系统的灵活性和抗干扰性,在实际中有壹定的应用。
   结束语:
   从上面所举的各位专家所提出的各种观点可以看出,基于VHDL语言所设计出来的多款密码锁,均使用串行电路,这样用壹片FPGA芯片就可以实现实现,从而大大简化了系统结构。进步了系统的保密性和可靠性。VHDL语言在数字电路设计中,自顶向下的设计方法的主要思想是对数字系统进行模块划分,这样可以将复杂的设计简化成相对简单的模块设计,不同的模块用来完成数字系统中某壹部分的具体功能统,其升级与改进极其方便。用VHDL语言设计出来的密码锁具有结构较简单,成本较低,操作方便,易于维护和修改等优点。缺点是虽然它的成本较低,但是由于使用了电子芯片,因此现在还是只能在大中型企业中使用,还不能普及到我们的生活当中来。
   参考文献:
   [1]刘钰,张有志.壹种用VHDL语言设计的数字密码锁[J].信息技术与信息化,200,(04).
   [2]古月红艳,李旭华.基于VHDL语言的智能密码锁设计[J].微计算机信息,2006,(14).
   [3]曹建国,王威,王丹.壹种基于VHDL的电子密码锁的设计与实现[J].安防科技,2007,(02).
   [4]周瑗,杨丽华.用VHDL自顶向下设计数字密码锁[J].北京化工大学学报,2000,(02).
   [5]尤国平,陈新,林伟,黄世震.基于VHDL语言的串行密码锁设计[J].国外电子测量技术,2005,(09).
   [6]谢海良,孔云龙。基于EDA技术的电子密码锁电路设计[J].漯河职业技术学院学报,2007,(04).
   [7]许琦.基于FPGA的电子密码锁的设计[J].科技信息(学术版),2006,(10).

返回顶部